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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
344c24d3
Commit
344c24d3
authored
Sep 15, 2002
by
monty@mashka.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed core dump bug in ORDER BY ... LIMIT
parent
75a39efa
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
9 additions
and
2 deletions
+9
-2
Docs/manual.texi
Docs/manual.texi
+2
-0
sql/filesort.cc
sql/filesort.cc
+7
-2
No files found.
Docs/manual.texi
View file @
344c24d3
...
...
@@ -46929,6 +46929,8 @@ not yet 100% confident in this code.
@appendixsubsec Changes in release 3.23.53
@itemize @bullet
@item
Fixed unlikely core dump with @code{SELECT ... ORDER BY ... LIMIT}.
@item
Changed @code{AND/OR} to report that they can return NULL. This fixes a
bug in @code{GROUP BY} on @code{AND/OR} expression that return
@code{NULL}.
sql/filesort.cc
View file @
344c24d3
...
...
@@ -378,13 +378,18 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select,
if
(
indexpos
>=
*
maxbuffer
||
write_keys
(
param
,
sort_keys
,
idx
,
buffpek
+
indexpos
,
tempfile
))
DBUG_RETURN
(
HA_POS_ERROR
);
idx
=
0
;
indexpos
++
;
idx
=
0
;
if
(
param
->
ref_length
==
param
->
sort_length
&&
my_b_tell
(
tempfile
)
/
param
->
sort_length
>=
param
->
max_rows
)
{
/*
We are writing the result index file and have found all
rows that we need. Abort the sort and return the result.
*/
error
=
HA_ERR_END_OF_FILE
;
break
;
/* Found enough records */
}
indexpos
++
;
}
make_sortkey
(
param
,
sort_keys
[
idx
++
],
ref_pos
);
}
...
...
@@ -399,7 +404,7 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select,
file
->
print_error
(
error
,
MYF
(
ME_ERROR
|
ME_WAITTANG
));
/* purecov: inspected */
DBUG_RETURN
(
HA_POS_ERROR
);
/* purecov: inspected */
}
if
(
indexpos
)
if
(
indexpos
&&
idx
)
if
(
indexpos
>=
*
maxbuffer
||
write_keys
(
param
,
sort_keys
,
idx
,
buffpek
+
indexpos
,
tempfile
))
DBUG_RETURN
(
HA_POS_ERROR
);
/* purecov: inspected */
...
...
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