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
45400cb9
Commit
45400cb9
authored
May 25, 2007
by
unknown
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
dfa360f1
4c63fac1
Changes
6
Show 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 @
45400cb9
...
@@ -9,8 +9,7 @@ EXECUTE stmt1 USING @var1;
...
@@ -9,8 +9,7 @@ EXECUTE stmt1 USING @var1;
show binlog events from <binlog_start>;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
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 # 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('\0')
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(@'var1')
SELECT HEX(f1) FROM t1;
SELECT HEX(f1) FROM t1;
HEX(f1)
HEX(f1)
8300
8300
...
@@ -30,17 +29,17 @@ HEX(s1) HEX(s2) d
...
@@ -30,17 +29,17 @@ HEX(s1) HEX(s2) d
466F6F2773206120426172 ED40ED41ED42 47.93
466F6F2773206120426172 ED40ED41ED42 47.93
DROP PROCEDURE bug18293|
DROP PROCEDURE bug18293|
DROP TABLE t4|
DROP TABLE t4|
SHOW BINLOG EVENTS FROM
410
|
SHOW BINLOG EVENTS FROM
369
|
Log_name Pos Event_type Server_id End_log_pos Info
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,
s2 CHAR(50) CHARACTER SET cp932,
d DECIMAL(10,2))
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 ins2 CHAR(50) CHARACTER SET cp932,
IN ind DECIMAL(10,2))
IN ind DECIMAL(10,2))
BEGIN
BEGIN
INSERT INTO t4 VALUES (ins1, ins2, ind);
INSERT INTO t4 VALUES (ins1, ins2, ind);
END
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
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
43 Query 1 1132
use `test`; DROP PROCEDURE bug18293
master-bin.000001 10
02 Query 1 1091
use `test`; DROP PROCEDURE bug18293
master-bin.000001 1
132 Query 1 1211
use `test`; DROP TABLE t4
master-bin.000001 1
091 Query 1 1170
use `test`; DROP TABLE t4
mysql-test/r/rpl_switch_stm_row_mixed.result
View file @
45400cb9
...
@@ -425,19 +425,15 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
...
@@ -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 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 # 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 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_9_")
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 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_10_")
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 select "yesterday_11_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_13_")
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 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_14_")
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 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_15_")
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 select "yesterday_16_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_18_")
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)
...
@@ -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 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 'emergency_17_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 # Query # # use `mysqltest1`; insert into t1 select "yesterday_21_"
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 'emergency_17_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
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
...
@@ -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 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 # 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 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_9_")
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 'emergency_7_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_10_")
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 select "yesterday_11_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_13_")
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 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_14_")
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 'emergency_12_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("for_15_")
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 select "yesterday_16_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 values("work_18_")
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)
...
@@ -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 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 'emergency_17_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 # Query # # use `mysqltest1`; insert into t1 select "yesterday_21_"
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
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 'emergency_17_'
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select @'string'
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Table_map # # table_id: # (mysqltest1.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
master-bin.000001 # Query # # use `mysqltest1`; insert into t1 select "yesterday_24_"
...
...
mysql-test/r/rpl_user_variables.result
View file @
45400cb9
...
@@ -223,10 +223,44 @@ SELECT * from t2;
...
@@ -223,10 +223,44 @@ SELECT * from t2;
k
k
100
100
42
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.
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 f1;
DROP FUNCTION IF EXISTS f2;
DROP FUNCTION IF EXISTS f2;
CREATE TABLE t1 (i INT);
CREATE TABLE t1 (i INT);
...
...
mysql-test/t/ctype_cp932_binlog_stm.test
View file @
45400cb9
...
@@ -22,7 +22,7 @@ CALL bug18293("Foo's a Bar", _cp932 0xED40ED41ED42, 47.93)|
...
@@ -22,7 +22,7 @@ CALL bug18293("Foo's a Bar", _cp932 0xED40ED41ED42, 47.93)|
SELECT
HEX
(
s1
),
HEX
(
s2
),
d
FROM
t4
|
SELECT
HEX
(
s1
),
HEX
(
s2
),
d
FROM
t4
|
DROP
PROCEDURE
bug18293
|
DROP
PROCEDURE
bug18293
|
DROP
TABLE
t4
|
DROP
TABLE
t4
|
SHOW
BINLOG
EVENTS
FROM
410
|
SHOW
BINLOG
EVENTS
FROM
369
|
delimiter
;
|
delimiter
;
|
# End of 5.0 tests
# End of 5.0 tests
...
...
mysql-test/t/rpl_user_variables.test
View file @
45400cb9
...
@@ -290,13 +290,48 @@ SELECT * from t1;
...
@@ -290,13 +290,48 @@ SELECT * from t1;
SELECT
*
from
t2
;
SELECT
*
from
t2
;
connection
master
;
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
;
save_master_pos
;
DROP
TABLE
t2
;
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
# 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
# The test ensures the value of the user-defined variable is replicated correctly
...
@@ -305,7 +340,6 @@ DROP TABLE t2;
...
@@ -305,7 +340,6 @@ DROP TABLE t2;
# This test was constructed for BUG#20141
# This test was constructed for BUG#20141
--
disable_warnings
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
DROP
FUNCTION
IF
EXISTS
f1
;
DROP
FUNCTION
IF
EXISTS
f1
;
DROP
FUNCTION
IF
EXISTS
f2
;
DROP
FUNCTION
IF
EXISTS
f2
;
--
enable_warnings
--
enable_warnings
...
@@ -351,4 +385,3 @@ DROP TABLE t1;
...
@@ -351,4 +385,3 @@ DROP TABLE t1;
sync_slave_with_master
;
sync_slave_with_master
;
stop
slave
;
stop
slave
;
sql/sql_prepare.cc
View file @
45400cb9
...
@@ -981,6 +981,7 @@ static bool insert_params_from_vars_with_log(Prepared_statement *stmt,
...
@@ -981,6 +981,7 @@ static bool insert_params_from_vars_with_log(Prepared_statement *stmt,
String
buf
;
String
buf
;
const
String
*
val
;
const
String
*
val
;
uint32
length
=
0
;
uint32
length
=
0
;
THD
*
thd
=
stmt
->
thd
;
DBUG_ENTER
(
"insert_params_from_vars"
);
DBUG_ENTER
(
"insert_params_from_vars"
);
...
@@ -991,34 +992,20 @@ static bool insert_params_from_vars_with_log(Prepared_statement *stmt,
...
@@ -991,34 +992,20 @@ static bool insert_params_from_vars_with_log(Prepared_statement *stmt,
{
{
Item_param
*
param
=
*
it
;
Item_param
*
param
=
*
it
;
varname
=
var_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
,
DBUG_RETURN
(
1
);
varname
->
length
);
/* Insert @'escaped-varname' instead of parameter in the query */
/*
if
(
entry
)
We have to call the setup_one_conversion_function() here to set
{
the parameter's members that might be needed further
char
*
start
,
*
ptr
;
(e.g. value.cs_info.character_set_client is used in the query_val_str()).
buf
.
length
(
0
);
*/
if
(
buf
.
reserve
(
entry
->
name
.
length
*
2
+
3
))
setup_one_conversion_function
(
thd
,
param
,
param
->
param_type
);
if
(
param
->
set_from_user_var
(
thd
,
entry
))
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
val
=
param
->
query_val_str
(
&
buf
);
start
=
ptr
=
buf
.
c_ptr_quick
();
if
(
param
->
convert_str_value
(
thd
))
*
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
))
DBUG_RETURN
(
1
);
/* out of memory */
DBUG_RETURN
(
1
);
/* out of memory */
if
(
query
->
replace
(
param
->
pos_in_query
+
length
,
1
,
*
val
))
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