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
0fb85362
Commit
0fb85362
authored
Jun 07, 2007
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28449
parents
eeab724f
80cac2a2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
54 additions
and
2 deletions
+54
-2
mysql-test/r/error_simulation.result
mysql-test/r/error_simulation.result
+19
-0
mysql-test/t/error_simulation-master.opt
mysql-test/t/error_simulation-master.opt
+1
-0
mysql-test/t/error_simulation.test
mysql-test/t/error_simulation.test
+29
-0
sql/sql_select.cc
sql/sql_select.cc
+5
-2
No files found.
mysql-test/r/error_simulation.result
0 → 100644
View file @
0fb85362
DROP TABLE IF EXISTS t1;
Warnings:
Note 1051 Unknown table 't1'
CREATE TABLE t1 (
a varchar(32) character set utf8 collate utf8_bin NOT NULL,
b varchar(32) character set utf8 collate utf8_bin NOT NULL )
ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO t1 VALUES
('AAAAAAAAAA','AAAAAAAAAA'), ('AAAAAAAAAB','AAAAAAAAAB '),
('AAAAAAAAAB','AAAAAAAAAB'), ('AAAAAAAAAC','AAAAAAAAAC'),
('AAAAAAAAAD','AAAAAAAAAD'), ('AAAAAAAAAE','AAAAAAAAAE'),
('AAAAAAAAAF','AAAAAAAAAF'), ('AAAAAAAAAG','AAAAAAAAAG'),
('AAAAAAAAAH','AAAAAAAAAH'), ('AAAAAAAAAI','AAAAAAAAAI'),
('AAAAAAAAAJ','AAAAAAAAAJ'), ('AAAAAAAAAK','AAAAAAAAAK');
set tmp_table_size=1024;
SELECT MAX(a) FROM t1 GROUP BY a,b;
ERROR 23000: Can't write; duplicate key in table ''
set tmp_table_size=default;
DROP TABLE t1;
mysql-test/t/error_simulation-master.opt
0 → 100644
View file @
0fb85362
--loose-debug=d,raise_error
mysql-test/t/error_simulation.test
0 → 100644
View file @
0fb85362
--
source
include
/
have_debug
.
inc
#
# Bug #28499: crash for grouping query when tmp_table_size is too small
#
DROP
TABLE
IF
EXISTS
t1
;
CREATE
TABLE
t1
(
a
varchar
(
32
)
character
set
utf8
collate
utf8_bin
NOT
NULL
,
b
varchar
(
32
)
character
set
utf8
collate
utf8_bin
NOT
NULL
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
utf8
;
INSERT
INTO
t1
VALUES
(
'AAAAAAAAAA'
,
'AAAAAAAAAA'
),
(
'AAAAAAAAAB'
,
'AAAAAAAAAB '
),
(
'AAAAAAAAAB'
,
'AAAAAAAAAB'
),
(
'AAAAAAAAAC'
,
'AAAAAAAAAC'
),
(
'AAAAAAAAAD'
,
'AAAAAAAAAD'
),
(
'AAAAAAAAAE'
,
'AAAAAAAAAE'
),
(
'AAAAAAAAAF'
,
'AAAAAAAAAF'
),
(
'AAAAAAAAAG'
,
'AAAAAAAAAG'
),
(
'AAAAAAAAAH'
,
'AAAAAAAAAH'
),
(
'AAAAAAAAAI'
,
'AAAAAAAAAI'
),
(
'AAAAAAAAAJ'
,
'AAAAAAAAAJ'
),
(
'AAAAAAAAAK'
,
'AAAAAAAAAK'
);
set
tmp_table_size
=
1024
;
--
error
ER_DUP_KEY
SELECT
MAX
(
a
)
FROM
t1
GROUP
BY
a
,
b
;
set
tmp_table_size
=
default
;
DROP
TABLE
t1
;
sql/sql_select.cc
View file @
0fb85362
...
@@ -10147,7 +10147,9 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
...
@@ -10147,7 +10147,9 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
/* copy all old rows */
/* copy all old rows */
while
(
!
table
->
file
->
rnd_next
(
new_table
.
record
[
1
]))
while
(
!
table
->
file
->
rnd_next
(
new_table
.
record
[
1
]))
{
{
if
((
write_err
=
new_table
.
file
->
write_row
(
new_table
.
record
[
1
])))
write_err
=
new_table
.
file
->
write_row
(
new_table
.
record
[
1
]);
DBUG_EXECUTE_IF
(
"raise_error"
,
write_err
=
HA_ERR_FOUND_DUPP_KEY
;);
if
(
write_err
)
goto
err
;
goto
err
;
}
}
/* copy row that filled HEAP table */
/* copy row that filled HEAP table */
...
@@ -10174,7 +10176,7 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
...
@@ -10174,7 +10176,7 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
err:
err:
DBUG_PRINT
(
"error"
,(
"Got error: %d"
,
write_err
));
DBUG_PRINT
(
"error"
,(
"Got error: %d"
,
write_err
));
table
->
file
->
print_error
(
error
,
MYF
(
0
));
// Give table is full error
table
->
file
->
print_error
(
write_err
,
MYF
(
0
));
// Give table is full error
(
void
)
table
->
file
->
ha_rnd_end
();
(
void
)
table
->
file
->
ha_rnd_end
();
(
void
)
new_table
.
file
->
close
();
(
void
)
new_table
.
file
->
close
();
err1:
err1:
...
@@ -10182,6 +10184,7 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
...
@@ -10182,6 +10184,7 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
delete
new_table
.
file
;
delete
new_table
.
file
;
err2:
err2:
thd
->
proc_info
=
save_proc_info
;
thd
->
proc_info
=
save_proc_info
;
table
->
mem_root
=
new_table
.
mem_root
;
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
}
}
...
...
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