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
0928ae9b
Commit
0928ae9b
authored
May 07, 2006
by
igor@rurik.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1
into rurik.mysql.com:/home/igor/mysql-4.1
parents
7977a0c8
7dcd1383
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
0 deletions
+17
-0
mysql-test/r/rpl_user_variables.result
mysql-test/r/rpl_user_variables.result
+1
-0
mysql-test/t/rpl_user_variables.test
mysql-test/t/rpl_user_variables.test
+6
-0
sql/item_func.cc
sql/item_func.cc
+10
-0
No files found.
mysql-test/r/rpl_user_variables.result
View file @
0928ae9b
...
...
@@ -105,5 +105,6 @@ slave-bin.000001 1370 User var 2 1370 @`a`=5
slave-bin.000001 1412 Query 1 1412 use `test`; insert into t1 values (@a),(@a)
slave-bin.000001 1478 User var 2 1478 @`a`=NULL
slave-bin.000001 1503 Query 1 1503 use `test`; insert into t1 values (@a),(@a),(@a*5)
insert into t1 select * FROM (select @var1 union select @var2) AS t2;
drop table t1;
stop slave;
mysql-test/t/rpl_user_variables.test
View file @
0928ae9b
...
...
@@ -47,9 +47,15 @@ connection slave;
sync_with_master
;
select
*
from
t1
;
show
binlog
events
from
141
;
#
# BUG19136: Crashing log-bin and uninitialized user variables in a derived table
# just to check nothing bad happens anymore
connection
master
;
insert
into
t1
select
*
FROM
(
select
@
var1
union
select
@
var2
)
AS
t2
;
drop
table
t1
;
save_master_pos
;
connection
slave
;
sync_with_master
;
stop
slave
;
...
...
sql/item_func.cc
View file @
0928ae9b
...
...
@@ -2735,14 +2735,24 @@ int get_var_with_binlog(THD *thd, LEX_STRING &name,
sql_set_variables(), we could instead manually call check() and update();
this would save memory and time; but calling sql_set_variables() makes
one unique place to maintain (sql_set_variables()).
Manipulation with lex is necessary since free_underlaid_joins
is going to release memory belonging to the main query.
*/
List
<
set_var_base
>
tmp_var_list
;
LEX
*
sav_lex
=
thd
->
lex
,
lex_tmp
;
thd
->
lex
=
&
lex_tmp
;
lex_start
(
thd
,
NULL
,
0
);
tmp_var_list
.
push_back
(
new
set_var_user
(
new
Item_func_set_user_var
(
name
,
new
Item_null
())));
/* Create the variable */
if
(
sql_set_variables
(
thd
,
&
tmp_var_list
))
{
thd
->
lex
=
sav_lex
;
goto
err
;
}
thd
->
lex
=
sav_lex
;
if
(
!
(
var_entry
=
get_variable
(
&
thd
->
user_vars
,
name
,
0
)))
goto
err
;
}
...
...
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