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
a311b3fe
Commit
a311b3fe
authored
May 25, 2007
by
ramil/ram@ramil.myoffice.izhnet.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/ram/work/mysql-5.1-maint
into mysql.com:/home/ram/work/b26842/b26842.5.1
parents
9d225361
1af7eea5
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
108 additions
and
67 deletions
+108
-67
mysql-test/r/ctype_cp932_binlog_stm.result
mysql-test/r/ctype_cp932_binlog_stm.result
+7
-8
mysql-test/r/rpl_switch_stm_row_mixed.result
mysql-test/r/rpl_switch_stm_row_mixed.result
+12
-24
mysql-test/r/rpl_user_variables.result
mysql-test/r/rpl_user_variables.result
+37
-3
mysql-test/t/ctype_cp932_binlog_stm.test
mysql-test/t/ctype_cp932_binlog_stm.test
+1
-1
mysql-test/t/rpl_user_variables.test
mysql-test/t/rpl_user_variables.test
+39
-6
sql/sql_prepare.cc
sql/sql_prepare.cc
+12
-25
No files found.
mysql-test/r/ctype_cp932_binlog_stm.result
View file @
a311b3fe
...
...
@@ -9,8 +9,7 @@ EXECUTE stmt1 USING @var1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(f1 blob)
master-bin.000001 # User var # # @`var1`=_binary 0x8300 COLLATE binary
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@'var1')
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES('\0')
SELECT HEX(f1) FROM t1;
HEX(f1)
8300
...
...
@@ -30,17 +29,17 @@ HEX(s1) HEX(s2) d
466F6F2773206120426172 ED40ED41ED42 47.93
DROP PROCEDURE bug18293|
DROP TABLE t4|
SHOW BINLOG EVENTS FROM
410
|
SHOW BINLOG EVENTS FROM
369
|
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001
410 Query 1 576
use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
master-bin.000001
369 Query 1 535
use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
s2 CHAR(50) CHARACTER SET cp932,
d DECIMAL(10,2))
master-bin.000001 5
76 Query 1 824
use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50),
master-bin.000001 5
35 Query 1 783
use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE bug18293 (IN ins1 CHAR(50),
IN ins2 CHAR(50) CHARACTER SET cp932,
IN ind DECIMAL(10,2))
BEGIN
INSERT INTO t4 VALUES (ins1, ins2, ind);
END
master-bin.000001
824 Query 1 1043
use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
master-bin.000001 10
43 Query 1 1132
use `test`; DROP PROCEDURE bug18293
master-bin.000001 1
132 Query 1 1211
use `test`; DROP TABLE t4
master-bin.000001
783 Query 1 1002
use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42), NAME_CONST('ind',47.93))
master-bin.000001 10
02 Query 1 1091
use `test`; DROP PROCEDURE bug18293
master-bin.000001 1
091 Query 1 1170
use `test`; DROP TABLE t4
mysql-test/r/rpl_switch_stm_row_mixed.result
View file @
a311b3fe
...
...
@@ -425,19 +425,15 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_8_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_9_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_10_")
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_11_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_13_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31325F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_14_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31325F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_15_")
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_16_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_18_")
...
...
@@ -445,15 +441,13 @@ master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_17_'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_21_"
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_17_'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
...
...
@@ -735,19 +729,15 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_8_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_9_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_10_")
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_11_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_13_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31325F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_14_")
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31325F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_15_")
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_16_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_18_")
...
...
@@ -755,15 +745,13 @@ master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_17_'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_21_"
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # User var # # @`string`=_latin1 0x656D657267656E63795F31375F COLLATE latin1_swedish_ci
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select 'emergency_17_'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
...
...
mysql-test/r/rpl_user_variables.result
View file @
a311b3fe
...
...
@@ -223,10 +223,44 @@ SELECT * from t2;
k
100
42
drop table t1, t2;
reset master;
create table t1 (a int);
prepare s from "insert into t1 values (@a),(?)";
set @a=98;
execute s using @a;
prepare s from "insert into t1 values (?)";
set @a=99;
execute s using @a;
prepare s from "insert into t1 select 100 limit ?";
set @a=100;
execute s using @a;
show binlog events limit 1,100;
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 106 Query 1 192 use `test`; create table t1 (a int)
slave-bin.000001 192 User var 2 234 @`a`=98
slave-bin.000001 234 Query 1 328 use `test`; insert into t1 values (@a),(98)
slave-bin.000001 328 Query 1 417 use `test`; insert into t1 values (99)
slave-bin.000001 417 Query 1 515 use `test`; insert into t1 select 100 limit 100
select * from t1;
a
98
98
99
100
drop table t1;
create table t1(a int, b int);
prepare s1 from 'insert into t1 values (@x:=@x+1, ?)';
set @x=1;
execute s1 using @x;
select * from t1;
a b
2 1
select * from t1;
a b
2 1
drop table t1;
End of 5.0 tests.
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE IF EXISTS t1;
DROP FUNCTION IF EXISTS f1;
DROP FUNCTION IF EXISTS f2;
CREATE TABLE t1 (i INT);
...
...
mysql-test/t/ctype_cp932_binlog_stm.test
View file @
a311b3fe
...
...
@@ -22,7 +22,7 @@ CALL bug18293("Foo's a Bar", _cp932 0xED40ED41ED42, 47.93)|
SELECT
HEX
(
s1
),
HEX
(
s2
),
d
FROM
t4
|
DROP
PROCEDURE
bug18293
|
DROP
TABLE
t4
|
SHOW
BINLOG
EVENTS
FROM
410
|
SHOW
BINLOG
EVENTS
FROM
369
|
delimiter
;
|
# End of 5.0 tests
...
...
mysql-test/t/rpl_user_variables.test
View file @
a311b3fe
...
...
@@ -290,13 +290,48 @@ SELECT * from t1;
SELECT
*
from
t2
;
connection
master
;
drop
table
t1
,
t2
;
--
echo
End
of
5.0
tests
.
#
# Bug #26842: master binary log contains invalid queries - replication fails
#
save_master_pos
;
connection
slave
;
sync_with_master
;
reset
master
;
# Cleanup
connection
master
;
create
table
t1
(
a
int
);
prepare
s
from
"insert into t1 values (@a),(?)"
;
set
@
a
=
98
;
execute
s
using
@
a
;
prepare
s
from
"insert into t1 values (?)"
;
set
@
a
=
99
;
execute
s
using
@
a
;
prepare
s
from
"insert into t1 select 100 limit ?"
;
set
@
a
=
100
;
execute
s
using
@
a
;
DROP
TABLE
t1
;
DROP
TABLE
t2
;
save_master_pos
;
connection
slave
;
sync_with_master
;
show
binlog
events
limit
1
,
100
;
select
*
from
t1
;
connection
master
;
drop
table
t1
;
#
# Bug #12826: Possible to get inconsistent slave using SQL syntax Prepared Statements
#
connection
master
;
create
table
t1
(
a
int
,
b
int
);
prepare
s1
from
'insert into t1 values (@x:=@x+1, ?)'
;
set
@
x
=
1
;
execute
s1
using
@
x
;
select
*
from
t1
;
sync_slave_with_master
;
connection
slave
;
select
*
from
t1
;
connection
master
;
drop
table
t1
;
--
echo
End
of
5.0
tests
.
# This test uses a stored function that uses user-defined variables to return data
# The test ensures the value of the user-defined variable is replicated correctly
...
...
@@ -305,7 +340,6 @@ DROP TABLE t2;
# This test was constructed for BUG#20141
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
DROP
FUNCTION
IF
EXISTS
f1
;
DROP
FUNCTION
IF
EXISTS
f2
;
--
enable_warnings
...
...
@@ -351,4 +385,3 @@ DROP TABLE t1;
sync_slave_with_master
;
stop
slave
;
sql/sql_prepare.cc
View file @
a311b3fe
...
...
@@ -981,6 +981,7 @@ static bool insert_params_from_vars_with_log(Prepared_statement *stmt,
String
buf
;
const
String
*
val
;
uint32
length
=
0
;
THD
*
thd
=
stmt
->
thd
;
DBUG_ENTER
(
"insert_params_from_vars"
);
...
...
@@ -991,34 +992,20 @@ static bool insert_params_from_vars_with_log(Prepared_statement *stmt,
{
Item_param
*
param
=
*
it
;
varname
=
var_it
++
;
if
(
get_var_with_binlog
(
stmt
->
thd
,
stmt
->
lex
->
sql_command
,
*
varname
,
&
entry
))
DBUG_RETURN
(
1
);
if
(
param
->
set_from_user_var
(
stmt
->
thd
,
entry
))
entry
=
(
user_var_entry
*
)
hash_search
(
&
thd
->
user_vars
,
(
byte
*
)
varname
->
str
,
varname
->
length
);
/*
We have to call the setup_one_conversion_function() here to set
the parameter's members that might be needed further
(e.g. value.cs_info.character_set_client is used in the query_val_str()).
*/
setup_one_conversion_function
(
thd
,
param
,
param
->
param_type
);
if
(
param
->
set_from_user_var
(
thd
,
entry
))
DBUG_RETURN
(
1
);
/* Insert @'escaped-varname' instead of parameter in the query */
if
(
entry
)
{
char
*
start
,
*
ptr
;
buf
.
length
(
0
);
if
(
buf
.
reserve
(
entry
->
name
.
length
*
2
+
3
))
DBUG_RETURN
(
1
);
val
=
param
->
query_val_str
(
&
buf
);
start
=
ptr
=
buf
.
c_ptr_quick
();
*
ptr
++=
'@'
;
*
ptr
++=
'\''
;
ptr
+=
escape_string_for_mysql
(
&
my_charset_utf8_general_ci
,
ptr
,
0
,
entry
->
name
.
str
,
entry
->
name
.
length
);
*
ptr
++=
'\''
;
buf
.
length
(
ptr
-
start
);
val
=
&
buf
;
}
else
val
=
&
my_null_string
;
if
(
param
->
convert_str_value
(
stmt
->
thd
))
if
(
param
->
convert_str_value
(
thd
))
DBUG_RETURN
(
1
);
/* out of memory */
if
(
query
->
replace
(
param
->
pos_in_query
+
length
,
1
,
*
val
))
...
...
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