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
86e425fe
Commit
86e425fe
authored
Jun 02, 2009
by
Sergey Glukhov
Browse files
Options
Browse Files
Download
Plain Diff
5.0-bugteam->5.1-bugteam merge
parents
39d0b1bd
33734e95
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
2 deletions
+18
-2
mysql-test/r/func_math.result
mysql-test/r/func_math.result
+7
-0
mysql-test/t/func_math.test
mysql-test/t/func_math.test
+9
-0
sql/item_func.cc
sql/item_func.cc
+2
-2
No files found.
mysql-test/r/func_math.result
View file @
86e425fe
...
@@ -437,6 +437,13 @@ a ROUND(a)
...
@@ -437,6 +437,13 @@ a ROUND(a)
-1e+16 -10000000000000002
-1e+16 -10000000000000002
1e+16 10000000000000002
1e+16 10000000000000002
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1(f1 LONGTEXT) engine=myisam;
INSERT INTO t1 VALUES ('a');
SELECT 1 FROM (SELECT ROUND(f1) AS a FROM t1) AS s WHERE a LIKE 'a';
1
SELECT 1 FROM (SELECT ROUND(f1, f1) AS a FROM t1) AS s WHERE a LIKE 'a';
1
DROP TABLE t1;
End of 5.0 tests
End of 5.0 tests
SELECT 1e308 + 1e308;
SELECT 1e308 + 1e308;
1e308 + 1e308
1e308 + 1e308
...
...
mysql-test/t/func_math.test
View file @
86e425fe
...
@@ -269,6 +269,15 @@ SELECT a, ROUND(a) FROM t1;
...
@@ -269,6 +269,15 @@ SELECT a, ROUND(a) FROM t1;
DROP
TABLE
t1
;
DROP
TABLE
t1
;
#
# Bug#45152 crash with round() function on longtext column in a derived table
#
CREATE
TABLE
t1
(
f1
LONGTEXT
)
engine
=
myisam
;
INSERT
INTO
t1
VALUES
(
'a'
);
SELECT
1
FROM
(
SELECT
ROUND
(
f1
)
AS
a
FROM
t1
)
AS
s
WHERE
a
LIKE
'a'
;
SELECT
1
FROM
(
SELECT
ROUND
(
f1
,
f1
)
AS
a
FROM
t1
)
AS
s
WHERE
a
LIKE
'a'
;
DROP
TABLE
t1
;
--
echo
End
of
5.0
tests
--
echo
End
of
5.0
tests
#
#
...
...
sql/item_func.cc
View file @
86e425fe
...
@@ -1944,8 +1944,8 @@ void Item_func_round::fix_length_and_dec()
...
@@ -1944,8 +1944,8 @@ void Item_func_round::fix_length_and_dec()
unsigned_flag
=
args
[
0
]
->
unsigned_flag
;
unsigned_flag
=
args
[
0
]
->
unsigned_flag
;
if
(
!
args
[
1
]
->
const_item
())
if
(
!
args
[
1
]
->
const_item
())
{
{
max_length
=
args
[
0
]
->
max_length
;
decimals
=
args
[
0
]
->
decimals
;
decimals
=
args
[
0
]
->
decimals
;
max_length
=
float_length
(
decimals
);
if
(
args
[
0
]
->
result_type
()
==
DECIMAL_RESULT
)
if
(
args
[
0
]
->
result_type
()
==
DECIMAL_RESULT
)
{
{
max_length
++
;
max_length
++
;
...
@@ -1965,8 +1965,8 @@ void Item_func_round::fix_length_and_dec()
...
@@ -1965,8 +1965,8 @@ void Item_func_round::fix_length_and_dec()
if
(
args
[
0
]
->
decimals
==
NOT_FIXED_DEC
)
if
(
args
[
0
]
->
decimals
==
NOT_FIXED_DEC
)
{
{
max_length
=
args
[
0
]
->
max_length
;
decimals
=
min
(
decimals_to_set
,
NOT_FIXED_DEC
);
decimals
=
min
(
decimals_to_set
,
NOT_FIXED_DEC
);
max_length
=
float_length
(
decimals
);
hybrid_type
=
REAL_RESULT
;
hybrid_type
=
REAL_RESULT
;
return
;
return
;
}
}
...
...
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