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
cc5b8de8
Commit
cc5b8de8
authored
Mar 07, 2008
by
svoj@june.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/svoj/devel/bk/mysql-5.0-engines
into mysql.com:/home/svoj/devel/mysql/BUG13861/mysql-5.0-engines
parents
44340d93
86d9b5e9
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
434 additions
and
9 deletions
+434
-9
cmd-line-utils/libedit/el.h
cmd-line-utils/libedit/el.h
+2
-0
cmd-line-utils/libedit/key.c
cmd-line-utils/libedit/key.c
+2
-2
cmd-line-utils/libedit/map.c
cmd-line-utils/libedit/map.c
+1
-1
cmd-line-utils/libedit/read.c
cmd-line-utils/libedit/read.c
+1
-1
cmd-line-utils/libedit/refresh.c
cmd-line-utils/libedit/refresh.c
+3
-3
mysql-test/include/ctype_common.inc
mysql-test/include/ctype_common.inc
+16
-0
mysql-test/r/ctype_big5.result
mysql-test/r/ctype_big5.result
+19
-0
mysql-test/r/ctype_cp1250_ch.result
mysql-test/r/ctype_cp1250_ch.result
+186
-0
mysql-test/r/ctype_cp932.result
mysql-test/r/ctype_cp932.result
+19
-0
mysql-test/r/ctype_euckr.result
mysql-test/r/ctype_euckr.result
+19
-0
mysql-test/r/ctype_gb2312.result
mysql-test/r/ctype_gb2312.result
+19
-0
mysql-test/r/ctype_gbk.result
mysql-test/r/ctype_gbk.result
+19
-0
mysql-test/r/ctype_uca.result
mysql-test/r/ctype_uca.result
+19
-0
mysql-test/r/ctype_ucs.result
mysql-test/r/ctype_ucs.result
+93
-0
mysql-test/t/ctype_cp1250_ch.test
mysql-test/t/ctype_cp1250_ch.test
+10
-0
mysql-test/t/ctype_ucs.test
mysql-test/t/ctype_ucs.test
+4
-0
sql/item_create.cc
sql/item_create.cc
+2
-2
No files found.
cmd-line-utils/libedit/el.h
View file @
cc5b8de8
...
@@ -136,6 +136,8 @@ struct editline {
...
@@ -136,6 +136,8 @@ struct editline {
protected
int
el_editmode
(
EditLine
*
,
int
,
const
char
**
);
protected
int
el_editmode
(
EditLine
*
,
int
,
const
char
**
);
#define el_isprint(x) ((unsigned char) (x) < 0x80 ? isprint(x) : 1)
#ifdef DEBUG
#ifdef DEBUG
#define EL_ABORT(a) do { \
#define EL_ABORT(a) do { \
fprintf(el->el_errfile, "%s, %d: ", \
fprintf(el->el_errfile, "%s, %d: ", \
...
...
cmd-line-utils/libedit/key.c
View file @
cc5b8de8
...
@@ -618,7 +618,7 @@ key__decode_char(char *buf, int cnt, int ch)
...
@@ -618,7 +618,7 @@ key__decode_char(char *buf, int cnt, int ch)
}
else
if
(
ch
==
'\\'
)
{
}
else
if
(
ch
==
'\\'
)
{
buf
[
cnt
++
]
=
'\\'
;
buf
[
cnt
++
]
=
'\\'
;
buf
[
cnt
]
=
'\\'
;
buf
[
cnt
]
=
'\\'
;
}
else
if
(
ch
==
' '
||
(
isprint
(
ch
)
&&
!
isspace
(
ch
)))
{
}
else
if
(
ch
==
' '
||
(
el_
isprint
(
ch
)
&&
!
isspace
(
ch
)))
{
buf
[
cnt
]
=
ch
;
buf
[
cnt
]
=
ch
;
}
else
{
}
else
{
buf
[
cnt
++
]
=
'\\'
;
buf
[
cnt
++
]
=
'\\'
;
...
@@ -660,7 +660,7 @@ key__decode_str(const char *str, char *buf, const char *sep)
...
@@ -660,7 +660,7 @@ key__decode_str(const char *str, char *buf, const char *sep)
}
else
if
(
*
p
==
'^'
||
*
p
==
'\\'
)
{
}
else
if
(
*
p
==
'^'
||
*
p
==
'\\'
)
{
*
b
++
=
'\\'
;
*
b
++
=
'\\'
;
*
b
++
=
*
p
;
*
b
++
=
*
p
;
}
else
if
(
*
p
==
' '
||
(
isprint
((
unsigned
char
)
*
p
)
&&
}
else
if
(
*
p
==
' '
||
(
el_
isprint
((
unsigned
char
)
*
p
)
&&
!
isspace
((
unsigned
char
)
*
p
)))
{
!
isspace
((
unsigned
char
)
*
p
)))
{
*
b
++
=
*
p
;
*
b
++
=
*
p
;
}
else
{
}
else
{
...
...
cmd-line-utils/libedit/map.c
View file @
cc5b8de8
...
@@ -961,7 +961,7 @@ map_init_nls(EditLine *el)
...
@@ -961,7 +961,7 @@ map_init_nls(EditLine *el)
el_action_t
*
map
=
el
->
el_map
.
key
;
el_action_t
*
map
=
el
->
el_map
.
key
;
for
(
i
=
0200
;
i
<=
0377
;
i
++
)
for
(
i
=
0200
;
i
<=
0377
;
i
++
)
if
(
isprint
(
i
))
if
(
el_
isprint
(
i
))
map
[
i
]
=
ED_INSERT
;
map
[
i
]
=
ED_INSERT
;
}
}
...
...
cmd-line-utils/libedit/read.c
View file @
cc5b8de8
...
@@ -508,7 +508,7 @@ el_gets(EditLine *el, int *nread)
...
@@ -508,7 +508,7 @@ el_gets(EditLine *el, int *nread)
el
->
el_chared
.
c_redo
.
pos
<
el
->
el_chared
.
c_redo
.
lim
)
{
el
->
el_chared
.
c_redo
.
pos
<
el
->
el_chared
.
c_redo
.
lim
)
{
if
(
cmdnum
==
VI_DELETE_PREV_CHAR
&&
if
(
cmdnum
==
VI_DELETE_PREV_CHAR
&&
el
->
el_chared
.
c_redo
.
pos
!=
el
->
el_chared
.
c_redo
.
buf
el
->
el_chared
.
c_redo
.
pos
!=
el
->
el_chared
.
c_redo
.
buf
&&
isprint
((
unsigned
char
)
el
->
el_chared
.
c_redo
.
pos
[
-
1
]))
&&
el_
isprint
((
unsigned
char
)
el
->
el_chared
.
c_redo
.
pos
[
-
1
]))
el
->
el_chared
.
c_redo
.
pos
--
;
el
->
el_chared
.
c_redo
.
pos
--
;
else
else
*
el
->
el_chared
.
c_redo
.
pos
++
=
ch
;
*
el
->
el_chared
.
c_redo
.
pos
++
=
ch
;
...
...
cmd-line-utils/libedit/refresh.c
View file @
cc5b8de8
...
@@ -88,7 +88,7 @@ private void
...
@@ -88,7 +88,7 @@ private void
re_addc
(
EditLine
*
el
,
int
c
)
re_addc
(
EditLine
*
el
,
int
c
)
{
{
if
(
isprint
(
c
))
{
if
(
el_
isprint
(
c
))
{
re_putc
(
el
,
c
,
1
);
re_putc
(
el
,
c
,
1
);
return
;
return
;
}
}
...
@@ -964,7 +964,7 @@ re_refresh_cursor(EditLine *el)
...
@@ -964,7 +964,7 @@ re_refresh_cursor(EditLine *el)
h
=
1
;
h
=
1
;
v
++
;
v
++
;
}
}
}
else
if
(
!
isprint
((
unsigned
char
)
c
))
{
}
else
if
(
!
el_
isprint
((
unsigned
char
)
c
))
{
h
+=
3
;
h
+=
3
;
if
(
h
>
th
)
{
/* if overflow, compensate */
if
(
h
>
th
)
{
/* if overflow, compensate */
h
=
h
-
th
;
h
=
h
-
th
;
...
@@ -1057,7 +1057,7 @@ re_fastaddc(EditLine *el)
...
@@ -1057,7 +1057,7 @@ re_fastaddc(EditLine *el)
char
mc
=
(
c
==
'\177'
)
?
'?'
:
(
c
|
0100
);
char
mc
=
(
c
==
'\177'
)
?
'?'
:
(
c
|
0100
);
re_fastputc
(
el
,
'^'
);
re_fastputc
(
el
,
'^'
);
re_fastputc
(
el
,
mc
);
re_fastputc
(
el
,
mc
);
}
else
if
(
isprint
((
unsigned
char
)
c
))
{
/* normal char */
}
else
if
(
el_
isprint
((
unsigned
char
)
c
))
{
/* normal char */
re_fastputc
(
el
,
c
);
re_fastputc
(
el
,
c
);
}
else
{
}
else
{
re_fastputc
(
el
,
'\\'
);
re_fastputc
(
el
,
'\\'
);
...
...
mysql-test/include/ctype_common.inc
View file @
cc5b8de8
...
@@ -13,6 +13,8 @@
...
@@ -13,6 +13,8 @@
SET
@
safe_character_set_server
=
@@
character_set_server
;
SET
@
safe_character_set_server
=
@@
character_set_server
;
SET
@
safe_collation_server
=
@@
collation_server
;
SET
@
safe_collation_server
=
@@
collation_server
;
SET
@
safe_character_set_client
=
@@
character_set_client
;
SET
@
safe_character_set_results
=
@@
character_set_results
;
SET
character_set_server
=
@
test_character_set
;
SET
character_set_server
=
@
test_character_set
;
SET
collation_server
=
@
test_collation
;
SET
collation_server
=
@
test_collation
;
CREATE
DATABASE
d1
;
CREATE
DATABASE
d1
;
...
@@ -62,8 +64,22 @@ select a sounds like a from t1;
...
@@ -62,8 +64,22 @@ select a sounds like a from t1;
select
1
from
t1
order
by
cast
(
a
as
char
(
1
));
select
1
from
t1
order
by
cast
(
a
as
char
(
1
));
drop
table
t1
;
drop
table
t1
;
#
# Bug#27580 SPACE() function collation bug?
#
set
names
utf8
;
create
table
t1
(
name
varchar
(
10
),
level
smallint
unsigned
);
show
create
table
t1
;
insert
into
t1
values
(
'string'
,
1
);
select
concat
(
name
,
space
(
level
)),
concat
(
name
,
repeat
(
' '
,
level
))
from
t1
;
drop
table
t1
;
DROP
DATABASE
d1
;
DROP
DATABASE
d1
;
# Restore settings
# Restore settings
USE
test
;
USE
test
;
SET
character_set_server
=
@
safe_character_set_server
;
SET
character_set_server
=
@
safe_character_set_server
;
SET
collation_server
=
@
safe_collation_server
;
SET
collation_server
=
@
safe_collation_server
;
SET
character_set_client
=
@
safe_character_set_client
;
SET
character_set_results
=
@
safe_character_set_results
;
mysql-test/r/ctype_big5.result
View file @
cc5b8de8
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'big5';
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'big5';
SET @test_collation= 'big5_chinese_ci';
SET @test_collation= 'big5_chinese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
SET collation_server= @test_collation;
CREATE DATABASE d1;
CREATE DATABASE d1;
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
1
1
1
1
drop table t1;
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=big5
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
DROP DATABASE d1;
USE test;
USE test;
SET character_set_server= @safe_character_set_server;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
SET NAMES big5;
SET NAMES big5;
SET collation_connection='big5_chinese_ci';
SET collation_connection='big5_chinese_ci';
create table t1 select repeat('a',4000) a;
create table t1 select repeat('a',4000) a;
...
...
mysql-test/r/ctype_cp1250_ch.result
View file @
cc5b8de8
...
@@ -2,6 +2,192 @@ DROP TABLE IF EXISTS t1;
...
@@ -2,6 +2,192 @@ DROP TABLE IF EXISTS t1;
SHOW COLLATION LIKE 'cp1250_czech_cs';
SHOW COLLATION LIKE 'cp1250_czech_cs';
Collation Charset Id Default Compiled Sortlen
Collation Charset Id Default Compiled Sortlen
cp1250_czech_cs cp1250 34 Yes 2
cp1250_czech_cs cp1250 34 Yes 2
SET @test_character_set= 'cp1250';
SET @test_collation= 'cp1250_general_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
USE d1;
CREATE TABLE t1 (c CHAR(10), KEY(c));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
c char(10) cp1250_general_ci YES MUL NULL
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
want3results
aaa
aaaa
aaaaa
DROP TABLE t1;
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
c1 varchar(15) cp1250_general_ci YES MUL NULL
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
SELECT c1 as want3results from t1 where c1 like 'l%';
want3results
location
loberge
lotre
SELECT c1 as want3results from t1 where c1 like 'lo%';
want3results
location
loberge
lotre
SELECT c1 as want1result from t1 where c1 like 'loc%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'loca%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locat%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locati%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locatio%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
create table t1 (a set('a') not null);
insert into t1 values (),();
Warnings:
Warning 1364 Field 'a' doesn't have a default value
select cast(a as char(1)) from t1;
cast(a as char(1))
select a sounds like a from t1;
a sounds like a
1
1
select 1 from t1 order by cast(a as char(1));
1
1
1
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1250
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
SET @test_character_set= 'cp1250';
SET @test_collation= 'cp1250_czech_cs';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
USE d1;
CREATE TABLE t1 (c CHAR(10), KEY(c));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
c char(10) cp1250_czech_cs YES MUL NULL
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
want3results
aaa
aaaa
aaaaa
DROP TABLE t1;
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
c1 varchar(15) cp1250_czech_cs YES MUL NULL
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
SELECT c1 as want3results from t1 where c1 like 'l%';
want3results
location
loberge
lotre
SELECT c1 as want3results from t1 where c1 like 'lo%';
want3results
location
loberge
lotre
SELECT c1 as want1result from t1 where c1 like 'loc%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'loca%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locat%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locati%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locatio%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
create table t1 (a set('a') not null);
insert into t1 values (),();
Warnings:
Warning 1364 Field 'a' doesn't have a default value
select cast(a as char(1)) from t1;
cast(a as char(1))
select a sounds like a from t1;
a sounds like a
1
1
select 1 from t1 order by cast(a as char(1));
1
1
1
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) collate cp1250_czech_cs default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_czech_cs
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
CREATE TABLE t1 (a char(16)) character set cp1250 collate cp1250_czech_cs;
CREATE TABLE t1 (a char(16)) character set cp1250 collate cp1250_czech_cs;
INSERT INTO t1 VALUES ('');
INSERT INTO t1 VALUES ('');
SELECT a, length(a), a='', a=' ', a=' ' FROM t1;
SELECT a, length(a), a='', a=' ', a=' ' FROM t1;
...
...
mysql-test/r/ctype_cp932.result
View file @
cc5b8de8
...
@@ -6,6 +6,8 @@ SET @test_character_set= 'cp932';
...
@@ -6,6 +6,8 @@ SET @test_character_set= 'cp932';
SET @test_collation= 'cp932_japanese_ci';
SET @test_collation= 'cp932_japanese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
SET collation_server= @test_collation;
CREATE DATABASE d1;
CREATE DATABASE d1;
...
@@ -72,10 +74,27 @@ select 1 from t1 order by cast(a as char(1));
...
@@ -72,10 +74,27 @@ select 1 from t1 order by cast(a as char(1));
1
1
1
1
drop table t1;
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp932
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
DROP DATABASE d1;
USE test;
USE test;
SET character_set_server= @safe_character_set_server;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
set names cp932;
set names cp932;
set character_set_database = cp932;
set character_set_database = cp932;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
...
...
mysql-test/r/ctype_euckr.result
View file @
cc5b8de8
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'euckr';
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'euckr';
SET @test_collation= 'euckr_korean_ci';
SET @test_collation= 'euckr_korean_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
SET collation_server= @test_collation;
CREATE DATABASE d1;
CREATE DATABASE d1;
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
1
1
1
1
drop table t1;
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=euckr
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
DROP DATABASE d1;
USE test;
USE test;
SET character_set_server= @safe_character_set_server;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
SET NAMES euckr;
SET NAMES euckr;
SET collation_connection='euckr_korean_ci';
SET collation_connection='euckr_korean_ci';
create table t1 select repeat('a',4000) a;
create table t1 select repeat('a',4000) a;
...
...
mysql-test/r/ctype_gb2312.result
View file @
cc5b8de8
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'gb2312';
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'gb2312';
SET @test_collation= 'gb2312_chinese_ci';
SET @test_collation= 'gb2312_chinese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
SET collation_server= @test_collation;
CREATE DATABASE d1;
CREATE DATABASE d1;
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
1
1
1
1
drop table t1;
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=gb2312
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
DROP DATABASE d1;
USE test;
USE test;
SET character_set_server= @safe_character_set_server;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
SET NAMES gb2312;
SET NAMES gb2312;
SET collation_connection='gb2312_chinese_ci';
SET collation_connection='gb2312_chinese_ci';
create table t1 select repeat('a',4000) a;
create table t1 select repeat('a',4000) a;
...
...
mysql-test/r/ctype_gbk.result
View file @
cc5b8de8
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'gbk';
...
@@ -3,6 +3,8 @@ SET @test_character_set= 'gbk';
SET @test_collation= 'gbk_chinese_ci';
SET @test_collation= 'gbk_chinese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
SET collation_server= @test_collation;
CREATE DATABASE d1;
CREATE DATABASE d1;
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
...
@@ -69,10 +71,27 @@ select 1 from t1 order by cast(a as char(1));
1
1
1
1
drop table t1;
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
DROP DATABASE d1;
USE test;
USE test;
SET character_set_server= @safe_character_set_server;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
SET NAMES gbk;
SET NAMES gbk;
SET collation_connection='gbk_chinese_ci';
SET collation_connection='gbk_chinese_ci';
create table t1 select repeat('a',4000) a;
create table t1 select repeat('a',4000) a;
...
...
mysql-test/r/ctype_uca.result
View file @
cc5b8de8
...
@@ -2538,6 +2538,8 @@ SET @test_character_set= 'utf8';
...
@@ -2538,6 +2538,8 @@ SET @test_character_set= 'utf8';
SET @test_collation= 'utf8_swedish_ci';
SET @test_collation= 'utf8_swedish_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
SET collation_server= @test_collation;
CREATE DATABASE d1;
CREATE DATABASE d1;
...
@@ -2604,10 +2606,27 @@ select 1 from t1 order by cast(a as char(1));
...
@@ -2604,10 +2606,27 @@ select 1 from t1 order by cast(a as char(1));
1
1
1
1
drop table t1;
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) collate utf8_swedish_ci default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
DROP DATABASE d1;
USE test;
USE test;
SET character_set_server= @safe_character_set_server;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
create table t1 (a varchar(1)) character set utf8 collate utf8_estonian_ci;
create table t1 (a varchar(1)) character set utf8 collate utf8_estonian_ci;
insert into t1 values ('A'),('B'),('C'),('a'),('b'),('c');
insert into t1 values ('A'),('B'),('C'),('a'),('b'),('c');
select a, a regexp '[a]' from t1 order by binary a;
select a, a regexp '[a]' from t1 order by binary a;
...
...
mysql-test/r/ctype_ucs.result
View file @
cc5b8de8
DROP TABLE IF EXISTS t1;
DROP TABLE IF EXISTS t1;
SET @test_character_set= 'ucs2';
SET @test_collation= 'ucs2_general_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
SET @safe_character_set_client= @@character_set_client;
SET @safe_character_set_results= @@character_set_results;
SET character_set_server= @test_character_set;
SET collation_server= @test_collation;
CREATE DATABASE d1;
USE d1;
CREATE TABLE t1 (c CHAR(10), KEY(c));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
c char(10) ucs2_general_ci YES MUL NULL
INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
want3results
aaa
aaaa
aaaaa
DROP TABLE t1;
CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
SHOW FULL COLUMNS FROM t1;
Field Type Collation Null Key Default Extra Privileges Comment
c1 varchar(15) ucs2_general_ci YES MUL NULL
INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
SELECT c1 as want3results from t1 where c1 like 'l%';
want3results
location
loberge
lotre
SELECT c1 as want3results from t1 where c1 like 'lo%';
want3results
location
loberge
lotre
SELECT c1 as want1result from t1 where c1 like 'loc%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'loca%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locat%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locati%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'locatio%';
want1result
location
SELECT c1 as want1result from t1 where c1 like 'location%';
want1result
location
DROP TABLE t1;
create table t1 (a set('a') not null);
insert into t1 values (),();
Warnings:
Warning 1364 Field 'a' doesn't have a default value
select cast(a as char(1)) from t1;
cast(a as char(1))
select a sounds like a from t1;
a sounds like a
1
1
select 1 from t1 order by cast(a as char(1));
1
1
1
drop table t1;
set names utf8;
create table t1 (
name varchar(10),
level smallint unsigned);
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`name` varchar(10) default NULL,
`level` smallint(5) unsigned default NULL
) ENGINE=MyISAM DEFAULT CHARSET=ucs2
insert into t1 values ('string',1);
select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
concat(name,space(level)) concat(name, repeat(' ',level))
string string
drop table t1;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
SET character_set_client= @safe_character_set_client;
SET character_set_results= @safe_character_set_results;
SET NAMES latin1;
SET NAMES latin1;
SET character_set_connection=ucs2;
SET character_set_connection=ucs2;
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
...
...
mysql-test/t/ctype_cp1250_ch.test
View file @
cc5b8de8
...
@@ -6,6 +6,16 @@ DROP TABLE IF EXISTS t1;
...
@@ -6,6 +6,16 @@ DROP TABLE IF EXISTS t1;
SHOW
COLLATION
LIKE
'cp1250_czech_cs'
;
SHOW
COLLATION
LIKE
'cp1250_czech_cs'
;
SET
@
test_character_set
=
'cp1250'
;
SET
@
test_collation
=
'cp1250_general_ci'
;
--
source
include
/
ctype_common
.
inc
SET
@
test_character_set
=
'cp1250'
;
SET
@
test_collation
=
'cp1250_czech_cs'
;
--
source
include
/
ctype_common
.
inc
#
#
# Bugs: #8840: Empty string comparison and character set 'cp1250'
# Bugs: #8840: Empty string comparison and character set 'cp1250'
#
#
...
...
mysql-test/t/ctype_ucs.test
View file @
cc5b8de8
...
@@ -4,6 +4,10 @@
...
@@ -4,6 +4,10 @@
DROP
TABLE
IF
EXISTS
t1
;
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
--
enable_warnings
SET
@
test_character_set
=
'ucs2'
;
SET
@
test_collation
=
'ucs2_general_ci'
;
--
source
include
/
ctype_common
.
inc
SET
NAMES
latin1
;
SET
NAMES
latin1
;
SET
character_set_connection
=
ucs2
;
SET
character_set_connection
=
ucs2
;
--
source
include
/
endspace
.
inc
--
source
include
/
endspace
.
inc
...
...
sql/item_create.cc
View file @
cc5b8de8
...
@@ -361,13 +361,13 @@ Item *create_func_space(Item *a)
...
@@ -361,13 +361,13 @@ Item *create_func_space(Item *a)
if
(
cs
->
mbminlen
>
1
)
if
(
cs
->
mbminlen
>
1
)
{
{
uint
dummy_errors
;
uint
dummy_errors
;
sp
=
new
Item_string
(
""
,
0
,
cs
);
sp
=
new
Item_string
(
""
,
0
,
cs
,
DERIVATION_COERCIBLE
,
MY_REPERTOIRE_ASCII
);
if
(
sp
)
if
(
sp
)
sp
->
str_value
.
copy
(
" "
,
1
,
&
my_charset_latin1
,
cs
,
&
dummy_errors
);
sp
->
str_value
.
copy
(
" "
,
1
,
&
my_charset_latin1
,
cs
,
&
dummy_errors
);
}
}
else
else
{
{
sp
=
new
Item_string
(
" "
,
1
,
cs
);
sp
=
new
Item_string
(
" "
,
1
,
cs
,
DERIVATION_COERCIBLE
,
MY_REPERTOIRE_ASCII
);
}
}
return
sp
?
new
Item_func_repeat
(
sp
,
a
)
:
0
;
return
sp
?
new
Item_func_repeat
(
sp
,
a
)
:
0
;
}
}
...
...
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