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
79444fa5
Commit
79444fa5
authored
Jun 20, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg11060
parents
c8714788
78e6794b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
1 deletion
+30
-1
mysql-test/r/ps.result
mysql-test/r/ps.result
+6
-0
mysql-test/t/ps.test
mysql-test/t/ps.test
+12
-0
sql/sql_insert.cc
sql/sql_insert.cc
+12
-1
No files found.
mysql-test/r/ps.result
View file @
79444fa5
...
...
@@ -557,3 +557,9 @@ id
3
deallocate prepare stmt;
drop table t1, t2;
create table t1 (id int);
prepare stmt from "insert into t1 (id) select id from t1 union select id from t1";
execute stmt;
execute stmt;
deallocate prepare stmt;
drop table t1;
mysql-test/t/ps.test
View file @
79444fa5
...
...
@@ -569,3 +569,15 @@ select t2.id from t2, t1 where (t1.id=1 and t2.t1_id=t1.id);
deallocate
prepare
stmt
;
drop
table
t1
,
t2
;
#
# Bug#11060 "Server crashes on calling stored procedure with INSERT SELECT
# UNION SELECT" aka "Server crashes on re-execution of prepared INSERT ...
# SELECT with UNION".
#
create
table
t1
(
id
int
);
prepare
stmt
from
"insert into t1 (id) select id from t1 union select id from t1"
;
execute
stmt
;
execute
stmt
;
deallocate
prepare
stmt
;
drop
table
t1
;
sql/sql_insert.cc
View file @
79444fa5
...
...
@@ -1578,10 +1578,21 @@ bool delayed_insert::handle_inserts(void)
int
select_insert
::
prepare
(
List
<
Item
>
&
values
,
SELECT_LEX_UNIT
*
u
)
{
int
res
;
LEX
*
lex
=
thd
->
lex
;
SELECT_LEX
*
lex_current_select_save
=
lex
->
current_select
;
DBUG_ENTER
(
"select_insert::prepare"
);
unit
=
u
;
if
(
check_insert_fields
(
thd
,
table
,
*
fields
,
values
))
/*
Since table in which we are going to insert is added to the first
select, LEX::current_select should point to the first select while
we are fixing fields from insert list.
*/
lex
->
current_select
=
&
lex
->
select_lex
;
res
=
check_insert_fields
(
thd
,
table
,
*
fields
,
values
);
lex
->
current_select
=
lex_current_select_save
;
if
(
res
)
DBUG_RETURN
(
1
);
restore_record
(
table
,
default_values
);
// Get empty record
...
...
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