Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
672e1f20
Commit
672e1f20
authored
Jul 13, 2005
by
gluh@eagle.intranet.mysql.r18.ru
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug #9854 hex() and out of range handling
added out of range handling
parent
c31d71c0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
22 additions
and
2 deletions
+22
-2
mysql-test/r/func_str.result
mysql-test/r/func_str.result
+3
-0
mysql-test/t/func_str.test
mysql-test/t/func_str.test
+5
-0
sql/item_strfunc.cc
sql/item_strfunc.cc
+14
-2
No files found.
mysql-test/r/func_str.result
View file @
672e1f20
...
...
@@ -865,3 +865,6 @@ abc abc c bc abc
abcd abcd d cd bcd abcd
abcde abcde e de cde bcde abcde
drop table t1;
select hex(29223372036854775809), hex(-29223372036854775809);
hex(29223372036854775809) hex(-29223372036854775809)
FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF
mysql-test/t/func_str.test
View file @
672e1f20
...
...
@@ -606,3 +606,8 @@ insert t1 values ('ab'), ('abc'), ('abcd'), ('abcde');
select
*
,
substring
(
b
,
1
),
substring
(
b
,
-
1
),
substring
(
b
,
-
2
),
substring
(
b
,
-
3
),
substring
(
b
,
-
4
),
substring
(
b
,
-
5
)
from
t1
;
select
*
from
(
select
*
,
substring
(
b
,
1
),
substring
(
b
,
-
1
),
substring
(
b
,
-
2
),
substring
(
b
,
-
3
),
substring
(
b
,
-
4
),
substring
(
b
,
-
5
)
from
t1
)
t
;
drop
table
t1
;
#
# Bug #9854 hex() and out of range handling
#
select
hex
(
29223372036854775809
),
hex
(
-
29223372036854775809
);
sql/item_strfunc.cc
View file @
672e1f20
...
...
@@ -2348,9 +2348,21 @@ String *Item_func_hex::val_str(String *str)
DBUG_ASSERT
(
fixed
==
1
);
if
(
args
[
0
]
->
result_type
()
!=
STRING_RESULT
)
{
/* Return hex of unsigned longlong value */
longlong
dec
=
args
[
0
]
->
val_int
();
ulonglong
dec
;
char
ans
[
65
],
*
ptr
;
/* Return hex of unsigned longlong value */
if
(
args
[
0
]
->
result_type
()
==
REAL_RESULT
)
{
double
val
=
args
[
0
]
->
val
();
if
((
val
<=
(
double
)
LONGLONG_MIN
)
||
(
val
>=
(
double
)
(
ulonglong
)
ULONGLONG_MAX
))
dec
=
~
(
longlong
)
0
;
else
dec
=
(
ulonglong
)
(
val
+
(
val
>
0
?
0.5
:
-
0.5
));
}
else
dec
=
(
ulonglong
)
args
[
0
]
->
val_int
();
if
((
null_value
=
args
[
0
]
->
null_value
))
return
0
;
ptr
=
longlong2str
(
dec
,
ans
,
16
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment