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
a5dee74d
Commit
a5dee74d
authored
Oct 02, 2008
by
Andrei Elkin
Browse files
Options
Browse Files
Download
Plain Diff
merge from the 5.1-5.1.29 to the local tree.
parents
4310d573
0be194e5
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
149 additions
and
8 deletions
+149
-8
mysql-test/extra/binlog_tests/binlog.test
mysql-test/extra/binlog_tests/binlog.test
+39
-0
mysql-test/r/ctype_cp932_binlog_stm.result
mysql-test/r/ctype_cp932_binlog_stm.result
+3
-3
mysql-test/suite/binlog/r/binlog_row_binlog.result
mysql-test/suite/binlog/r/binlog_row_binlog.result
+47
-0
mysql-test/suite/binlog/r/binlog_stm_binlog.result
mysql-test/suite/binlog/r/binlog_stm_binlog.result
+50
-0
mysql-test/suite/rpl/r/rpl_sp.result
mysql-test/suite/rpl/r/rpl_sp.result
+2
-2
sql/item.cc
sql/item.cc
+5
-3
sql/sp_head.cc
sql/sp_head.cc
+3
-0
No files found.
mysql-test/extra/binlog_tests/binlog.test
View file @
a5dee74d
...
@@ -125,6 +125,45 @@ drop table t1;
...
@@ -125,6 +125,45 @@ drop table t1;
--
replace_regex
/
\
/
\
*
xid
=.*
\
*
\
//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
--
replace_regex
/
\
/
\
*
xid
=.*
\
*
\
//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show
binlog
events
from
0
;
show
binlog
events
from
0
;
#
# Bug #39182: Binary log producing incompatible character set query from
# stored procedure.
#
reset
master
;
CREATE
DATABASE
bug39182
DEFAULT
CHARACTER
SET
utf8
COLLATE
utf8_unicode_ci
;
USE
bug39182
;
CREATE
TABLE
t1
(
a
VARCHAR
(
255
)
COLLATE
utf8_unicode_ci
)
DEFAULT
CHARSET
=
utf8
COLLATE
=
utf8_unicode_ci
;
DELIMITER
//;
CREATE
PROCEDURE
p1
()
BEGIN
DECLARE
s1
VARCHAR
(
255
);
SET
s1
=
"test"
;
CREATE
TEMPORARY
TABLE
tmp1
SELECT
*
FROM
t1
WHERE
a
LIKE
CONCAT
(
"%"
,
s1
,
"%"
);
SELECT
COLLATION
(
NAME_CONST
(
's1'
,
_utf8
'test'
))
c1
,
COLLATION
(
NAME_CONST
(
's1'
,
_utf8
'test'
COLLATE
utf8_unicode_ci
))
c2
,
COLLATION
(
s1
)
c3
,
COERCIBILITY
(
NAME_CONST
(
's1'
,
_utf8
'test'
))
d1
,
COERCIBILITY
(
NAME_CONST
(
's1'
,
_utf8
'test'
COLLATE
utf8_unicode_ci
))
d2
,
COERCIBILITY
(
s1
)
d3
;
DROP
TEMPORARY
TABLE
tmp1
;
END
//
DELIMITER
;
//
CALL
p1
();
source
include
/
show_binlog_events
.
inc
;
DROP
PROCEDURE
p1
;
DROP
TABLE
t1
;
DROP
DATABASE
bug39182
;
USE
test
;
--
echo
End
of
5.0
tests
--
echo
End
of
5.0
tests
# Test of a too big SET INSERT_ID: see if the truncated value goes
# Test of a too big SET INSERT_ID: see if the truncated value goes
...
...
mysql-test/r/ctype_cp932_binlog_stm.result
View file @
a5dee74d
...
@@ -40,9 +40,9 @@ IN ind DECIMAL(10,2))
...
@@ -40,9 +40,9 @@ 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 784 Query 1
992 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172), NAME_CONST('ins2',_cp932 0xED40ED41ED42
), NAME_CONST('ind',47.93))
master-bin.000001 784 Query 1
1048 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172 COLLATE 'latin1_swedish_ci'), NAME_CONST('ins2',_cp932 0xED40ED41ED42 COLLATE 'cp932_japanese_ci'
), NAME_CONST('ind',47.93))
master-bin.000001
992 Query 1 1081
use `test`; DROP PROCEDURE bug18293
master-bin.000001
1048 Query 1 1137
use `test`; DROP PROCEDURE bug18293
master-bin.000001 1
081 Query 1 1160
use `test`; DROP TABLE t4
master-bin.000001 1
137 Query 1 1216
use `test`; DROP TABLE t4
End of 5.0 tests
End of 5.0 tests
SHOW BINLOG EVENTS FROM 364;
SHOW BINLOG EVENTS FROM 364;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
...
...
mysql-test/suite/binlog/r/binlog_row_binlog.result
View file @
a5dee74d
...
@@ -1090,6 +1090,53 @@ master-bin.000001 295 Table_map 1 337 table_id: # (test.t1)
...
@@ -1090,6 +1090,53 @@ master-bin.000001 295 Table_map 1 337 table_id: # (test.t1)
master-bin.000001 337 Write_rows 1 383 table_id: # flags: STMT_END_F
master-bin.000001 337 Write_rows 1 383 table_id: # flags: STMT_END_F
master-bin.000001 383 Query 1 452 use `test`; COMMIT
master-bin.000001 383 Query 1 452 use `test`; COMMIT
master-bin.000001 452 Query 1 528 use `test`; drop table t1
master-bin.000001 452 Query 1 528 use `test`; drop table t1
reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE bug39182;
CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE PROCEDURE p1()
BEGIN
DECLARE s1 VARCHAR(255);
SET s1= "test";
CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%");
SELECT
COLLATION(NAME_CONST('s1', _utf8'test')) c1,
COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2,
COLLATION(s1) c3,
COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1,
COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
COERCIBILITY(s1) d3;
DROP TEMPORARY TABLE tmp1;
END//
CALL p1();
c1 c2 c3 d1 d2 d3
utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
master-bin.000001 # Query # # use `bug39182`; CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
master-bin.000001 # Query # # use `bug39182`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN
DECLARE s1 VARCHAR(255);
SET s1= "test";
CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%");
SELECT
COLLATION(NAME_CONST('s1', _utf8'test')) c1,
COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2,
COLLATION(s1) c3,
COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1,
COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
COERCIBILITY(s1) d3;
DROP TEMPORARY TABLE tmp1;
END
DROP PROCEDURE p1;
DROP TABLE t1;
DROP DATABASE bug39182;
USE test;
End of 5.0 tests
End of 5.0 tests
reset master;
reset master;
create table t1 (id tinyint auto_increment primary key);
create table t1 (id tinyint auto_increment primary key);
...
...
mysql-test/suite/binlog/r/binlog_stm_binlog.result
View file @
a5dee74d
...
@@ -594,6 +594,56 @@ master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4
...
@@ -594,6 +594,56 @@ master-bin.000001 4 Format_desc 1 106 Server version, Binlog ver: 4
master-bin.000001 106 Query 1 227 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
master-bin.000001 106 Query 1 227 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
master-bin.000001 227 Query 1 351 use `test`; insert into t1 values (9999999999999999,14632475938453979136)
master-bin.000001 227 Query 1 351 use `test`; insert into t1 values (9999999999999999,14632475938453979136)
master-bin.000001 351 Query 1 427 use `test`; drop table t1
master-bin.000001 351 Query 1 427 use `test`; drop table t1
reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE bug39182;
CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE PROCEDURE p1()
BEGIN
DECLARE s1 VARCHAR(255);
SET s1= "test";
CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%");
SELECT
COLLATION(NAME_CONST('s1', _utf8'test')) c1,
COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2,
COLLATION(s1) c3,
COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1,
COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
COERCIBILITY(s1) d3;
DROP TEMPORARY TABLE tmp1;
END//
CALL p1();
c1 c2 c3 d1 d2 d3
utf8_general_ci utf8_unicode_ci utf8_unicode_ci 2 2 2
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
master-bin.000001 # Query # # use `bug39182`; CREATE TABLE t1 (a VARCHAR(255) COLLATE utf8_unicode_ci)
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
master-bin.000001 # Query # # use `bug39182`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
BEGIN
DECLARE s1 VARCHAR(255);
SET s1= "test";
CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", s1, "%");
SELECT
COLLATION(NAME_CONST('s1', _utf8'test')) c1,
COLLATION(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) c2,
COLLATION(s1) c3,
COERCIBILITY(NAME_CONST('s1', _utf8'test')) d1,
COERCIBILITY(NAME_CONST('s1', _utf8'test' COLLATE utf8_unicode_ci)) d2,
COERCIBILITY(s1) d3;
DROP TEMPORARY TABLE tmp1;
END
master-bin.000001 # Query # # use `bug39182`; CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", NAME_CONST('s1',_utf8'test' COLLATE 'utf8_unicode_ci'), "%")
master-bin.000001 # Query # # use `bug39182`; DROP TEMPORARY TABLE tmp1
DROP PROCEDURE p1;
DROP TABLE t1;
DROP DATABASE bug39182;
USE test;
End of 5.0 tests
End of 5.0 tests
reset master;
reset master;
create table t1 (id tinyint auto_increment primary key);
create table t1 (id tinyint auto_increment primary key);
...
...
mysql-test/suite/rpl/r/rpl_sp.result
View file @
a5dee74d
...
@@ -526,7 +526,7 @@ master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS t1
...
@@ -526,7 +526,7 @@ master-bin.000001 # Query 1 # use `test`; DROP TABLE IF EXISTS t1
master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(col VARCHAR(10))
master-bin.000001 # Query 1 # use `test`; CREATE TABLE t1(col VARCHAR(10))
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
INSERT INTO t1 VALUES(arg)
INSERT INTO t1 VALUES(arg)
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'))
master-bin.000001 # Query 1 # use `test`; INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'
COLLATE 'latin1_swedish_ci'
))
master-bin.000001 # Query 1 # use `test`; DROP PROCEDURE p1
master-bin.000001 # Query 1 # use `test`; DROP PROCEDURE p1
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
master-bin.000001 # Query 1 # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
SET @a = 1
SET @a = 1
...
@@ -869,7 +869,7 @@ CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
...
@@ -869,7 +869,7 @@ CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`(arg VARCHAR(10))
INSERT INTO t1 VALUES(arg)
INSERT INTO t1 VALUES(arg)
/*!*/;
/*!*/;
SET TIMESTAMP=t/*!*/;
SET TIMESTAMP=t/*!*/;
INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'))
INSERT INTO t1 VALUES( NAME_CONST('arg',_latin1'test'
COLLATE 'latin1_swedish_ci'
))
/*!*/;
/*!*/;
SET TIMESTAMP=t/*!*/;
SET TIMESTAMP=t/*!*/;
DROP PROCEDURE p1
DROP PROCEDURE p1
...
...
sql/item.cc
View file @
a5dee74d
...
@@ -1248,10 +1248,12 @@ Item_name_const::Item_name_const(Item *name_arg, Item *val):
...
@@ -1248,10 +1248,12 @@ Item_name_const::Item_name_const(Item *name_arg, Item *val):
if
(
!
(
valid_args
=
name_item
->
basic_const_item
()
&&
if
(
!
(
valid_args
=
name_item
->
basic_const_item
()
&&
(
value_item
->
basic_const_item
()
||
(
value_item
->
basic_const_item
()
||
((
value_item
->
type
()
==
FUNC_ITEM
)
&&
((
value_item
->
type
()
==
FUNC_ITEM
)
&&
(((
Item_func
*
)
value_item
)
->
functype
()
==
((((
Item_func
*
)
value_item
)
->
functype
()
==
Item_func
::
NEG_FUNC
)
&&
Item_func
::
COLLATE_FUNC
)
||
((((
Item_func
*
)
value_item
)
->
functype
()
==
Item_func
::
NEG_FUNC
)
&&
(((
Item_func
*
)
value_item
)
->
key_item
()
->
type
()
!=
(((
Item_func
*
)
value_item
)
->
key_item
()
->
type
()
!=
FUNC_ITEM
)))))
FUNC_ITEM
))
)))))
my_error
(
ER_WRONG_ARGUMENTS
,
MYF
(
0
),
"NAME_CONST"
);
my_error
(
ER_WRONG_ARGUMENTS
,
MYF
(
0
),
"NAME_CONST"
);
Item
::
maybe_null
=
TRUE
;
Item
::
maybe_null
=
TRUE
;
}
}
...
...
sql/sp_head.cc
View file @
a5dee74d
...
@@ -126,6 +126,9 @@ sp_get_item_value(THD *thd, Item *item, String *str)
...
@@ -126,6 +126,9 @@ sp_get_item_value(THD *thd, Item *item, String *str)
if
(
cs
->
escape_with_backslash_is_dangerous
)
if
(
cs
->
escape_with_backslash_is_dangerous
)
buf
.
append
(
' '
);
buf
.
append
(
' '
);
append_query_string
(
cs
,
result
,
&
buf
);
append_query_string
(
cs
,
result
,
&
buf
);
buf
.
append
(
" COLLATE '"
);
buf
.
append
(
item
->
collation
.
collation
->
name
);
buf
.
append
(
'\''
);
str
->
copy
(
buf
);
str
->
copy
(
buf
);
return
str
;
return
str
;
...
...
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