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
a953bb4b
Commit
a953bb4b
authored
Aug 12, 2004
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge marko@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/k/mysql-4.1
parents
4b390e98
fe19bd92
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
311 additions
and
34 deletions
+311
-34
.bzrignore
.bzrignore
+13
-0
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+1
-1
mysql-test/r/ctype_recoding.result
mysql-test/r/ctype_recoding.result
+24
-0
mysql-test/r/ctype_uca.result
mysql-test/r/ctype_uca.result
+110
-0
mysql-test/r/func_gconcat.result
mysql-test/r/func_gconcat.result
+30
-0
mysql-test/r/func_str.result
mysql-test/r/func_str.result
+3
-0
mysql-test/t/ctype_recoding.test
mysql-test/t/ctype_recoding.test
+14
-0
mysql-test/t/ctype_uca.test
mysql-test/t/ctype_uca.test
+1
-1
mysql-test/t/func_gconcat.test
mysql-test/t/func_gconcat.test
+35
-0
mysql-test/t/func_str.test
mysql-test/t/func_str.test
+6
-0
mysql-test/t/grant_cache.test
mysql-test/t/grant_cache.test
+2
-1
mysys/mf_keycache.c
mysys/mf_keycache.c
+21
-21
sql/item_strfunc.cc
sql/item_strfunc.cc
+4
-1
sql/item_sum.cc
sql/item_sum.cc
+9
-6
sql/mysqld.cc
sql/mysqld.cc
+2
-1
sql/share/charsets/cp852.xml
sql/share/charsets/cp852.xml
+2
-0
sql/slave.cc
sql/slave.cc
+6
-0
sql/sql_show.cc
sql/sql_show.cc
+17
-1
sql/sql_string.h
sql/sql_string.h
+1
-0
strings/ctype-simple.c
strings/ctype-simple.c
+9
-0
strings/ctype-uca.c
strings/ctype-uca.c
+1
-1
No files found.
.bzrignore
View file @
a953bb4b
...
@@ -792,3 +792,16 @@ libmysql/my_time.c
...
@@ -792,3 +792,16 @@ libmysql/my_time.c
libmysqld/my_time.c
libmysqld/my_time.c
sql/mysql_tzinfo_to_sql
sql/mysql_tzinfo_to_sql
sql/mysql_tzinfo_to_sql.cc
sql/mysql_tzinfo_to_sql.cc
ndb/src/cw/cpcd/ndb_cpcd
ndb/src/kernel/ndbd
ndb/src/kernel/blocks/backup/restore/ndb_restore
ndb/src/mgmclient/ndb_mgm
ndb/src/mgmsrv/ndb_mgmd
ndb/tools/ndb_delete_all
ndb/tools/ndb_desc
ndb/tools/ndb_drop_index
ndb/tools/ndb_drop_table
ndb/tools/ndb_select_all
ndb/tools/ndb_select_count
ndb/tools/ndb_show_tables
ndb/tools/ndb_waiter
mysql-test/mysql-test-run.sh
View file @
a953bb4b
...
@@ -1449,7 +1449,7 @@ then
...
@@ -1449,7 +1449,7 @@ then
if
[
-z
"
$USE_RUNNING_NDBCLUSTER
"
]
if
[
-z
"
$USE_RUNNING_NDBCLUSTER
"
]
then
then
echo
"Starting ndbcluster"
echo
"Starting ndbcluster"
./ndb/ndbcluster
--port-base
=
$NDBCLUSTER_PORT
--small
--
diskless
--
initial
--data-dir
=
$MYSQL_TEST_DIR
/var
||
exit
1
./ndb/ndbcluster
--port-base
=
$NDBCLUSTER_PORT
--small
--initial
--data-dir
=
$MYSQL_TEST_DIR
/var
||
exit
1
NDB_CONNECTSTRING
=
"host=localhost:
$NDBCLUSTER_PORT
"
NDB_CONNECTSTRING
=
"host=localhost:
$NDBCLUSTER_PORT
"
export
NDB_CONNECTSTRING
export
NDB_CONNECTSTRING
else
else
...
...
mysql-test/r/ctype_recoding.result
View file @
a953bb4b
...
@@ -136,6 +136,30 @@ SET character_set_connection=binary;
...
@@ -136,6 +136,30 @@ SET character_set_connection=binary;
SELECT 'тест' as s;
SELECT 'тест' as s;
s
s
тест
тест
SET NAMES latin1;
CREATE TABLE t1 (`` CHAR(128) DEFAULT '', `1` ENUM('1','2') DEFAULT '2');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`` char(128) default '',
`1` enum('1','2') default '2'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
char(128) YES
1 enum('1','2') YES 2
SET NAMES binary;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`ä` char(128) default 'ä',
`ä1` enum('ä1','ä2') default 'ä2'
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SHOW COLUMNS FROM t1;
Field Type Null Key Default Extra
ä char(128) YES ä
ä1 enum('ä1','ä2') YES ä2
DROP TABLE t1;
SET NAMES binary;
SET NAMES binary;
CREATE TABLE `good` (a int);
CREATE TABLE `good` (a int);
ERROR HY000: Invalid utf8 character string: ''
ERROR HY000: Invalid utf8 character string: ''
...
...
mysql-test/r/ctype_uca.result
View file @
a953bb4b
...
@@ -1548,6 +1548,116 @@ Z,z,Ź,ź,Ż,ż
...
@@ -1548,6 +1548,116 @@ Z,z,Ź,ź,Ż,ż
ǁ
ǁ
ǂ
ǂ
ǃ
ǃ
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci;
group_concat(c1 order by c1)
÷
×
A,a,À,Á,Â,Ã,Å,à,á,â,ã,å,Ā,ā,Ă,ă,Ą,ą,Ǎ,ǎ,Ǟ,ǟ,Ǡ,ǡ,Ǻ,ǻ
AA,Aa,aA,aa
Ä,ä
Æ,æ,Ǣ,ǣ,Ǽ,ǽ
B,b
ƀ
Ɓ
Ƃ,ƃ
C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ
cH
Č,č
Ƈ,ƈ
D,d,Ď,ď
DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
Đ,đ
Ɖ
Ɗ
Ƌ,ƌ
Ð,ð
E,e,È,É,Ê,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě
Ǝ,ǝ
Ə
Ɛ
F,f
Ƒ,ƒ
G,g,Ĝ,ĝ,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ
Ǥ,ǥ
Ɠ
Ɣ
Ƣ,ƣ
H,h,Ĥ,ĥ
CH,Ch,ch
ƕ,Ƕ
Ħ,ħ
I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ
IJ,Ij,iJ,ij,IJ,ij
ı
Ɨ
Ɩ
J,j,Ĵ,ĵ,ǰ
K,k,Ķ,ķ,Ǩ,ǩ
Ƙ,ƙ
L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ
Ŀ,ŀ
LJ,Lj,lJ,lj,LJ,Lj,lj
LL,Ll,lL,ll
Ł,ł
ƚ
ƛ
M,m
N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ
NJ,Nj,nJ,nj,NJ,Nj,nj
Ɲ
ƞ
Ŋ,ŋ
O,o,Ò,Ó,Õ,Ö,ò,ó,õ,ö,Ō,ō,Ŏ,ŏ,Ő,ő,Ơ,ơ,Ǒ,ǒ,Ǫ,ǫ,Ǭ,ǭ
OE,Oe,oE,oe,Œ,œ
Ô,ô
Ø,ø,Ǿ,ǿ
Ɔ
Ɵ
P,p
Ƥ,ƥ
Q,q
ĸ
R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř
RR,Rr,rR,rr
Ʀ
S,s,Ś,ś,Ŝ,ŝ,Ş,ş,ſ
SS,Ss,sS,ss,ß
Š,š
Ʃ
ƪ
T,t,Ţ,ţ,Ť,ť
ƾ
Ŧ,ŧ
ƫ
Ƭ,ƭ
Ʈ
U,u,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ŭ,ŭ,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ
Ɯ
Ʊ
V,v
Ʋ
W,w,Ŵ,ŵ
X,x
Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ
Ƴ,ƴ
Z,z,Ź,ź,Ż,ż
ƍ
Ž,ž
Ƶ,ƶ
Ʒ,Ǯ,ǯ
Ƹ,ƹ
ƺ
Þ,þ
ƿ,Ƿ
ƻ
Ƨ,ƨ
Ƽ,ƽ
Ƅ,ƅ
ʼn
ǀ
ǁ
ǂ
ǃ
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci;
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci;
group_concat(c1 order by c1)
group_concat(c1 order by c1)
÷
÷
...
...
mysql-test/r/func_gconcat.result
View file @
a953bb4b
...
@@ -321,3 +321,33 @@ HAVING LEFT(names, 1) ='J';
...
@@ -321,3 +321,33 @@ HAVING LEFT(names, 1) ='J';
names
names
John###Anna###Bill
John###Anna###Bill
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 ( a int, b TEXT );
INSERT INTO t1 VALUES (1,'First Row'), (2,'Second Row');
SELECT GROUP_CONCAT(b ORDER BY b) FROM t1 GROUP BY a;
GROUP_CONCAT(b ORDER BY b)
First Row
Second Row
DROP TABLE t1;
CREATE TABLE t1 (a_id tinyint(4) NOT NULL default '0', PRIMARY KEY (a_id)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO t1 VALUES (1),(2),(3);
CREATE TABLE t2 (b_id tinyint(4) NOT NULL default '0',b_a tinyint(4) NOT NULL default '0', PRIMARY KEY (b_id), KEY (b_a),
CONSTRAINT fk_b_a FOREIGN KEY (b_a) REFERENCES t1 (a_id) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO t2 VALUES (1,1),(2,1),(3,1),(4,2),(5,2);
SELECT * FROM (SELECT t1.*,GROUP_CONCAT(t2.b_id SEPARATOR ',') as b_list FROM (t1 LEFT JOIN (t2) on t1.a_id = t2.b_a) GROUP BY t1.a_id ) AS xyz;
a_id b_list
1 1,2,3
2 4,5
3 NULL
DROP TABLE t2;
DROP TABLE t1;
CREATE TABLE t1 (A_ID INT NOT NULL,A_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID));
INSERT INTO t1 VALUES (1,'ABC'), (2,'EFG'), (3,'HIJ');
CREATE TABLE t2 (A_ID INT NOT NULL,B_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID,B_DESC));
INSERT INTO t2 VALUES (1,'A'),(1,'B'),(3,'F');
SELECT t1.A_ID, GROUP_CONCAT(t2.B_DESC) AS B_DESC FROM t1 LEFT JOIN t2 ON t1.A_ID=t2.A_ID GROUP BY t1.A_ID ORDER BY t1.A_DESC;
A_ID B_DESC
1 A,B
2 NULL
3 F
DROP TABLE t1;
DROP TABLE t2;
mysql-test/r/func_str.result
View file @
a953bb4b
...
@@ -673,3 +673,6 @@ c1 c2
...
@@ -673,3 +673,6 @@ c1 c2
2147483647 4294967295
2147483647 4294967295
-2147483648 0
-2147483648 0
drop table t1;
drop table t1;
select left(1234, 3) + 0;
left(1234, 3) + 0
123
mysql-test/t/ctype_recoding.test
View file @
a953bb4b
...
@@ -98,6 +98,20 @@ SET NAMES utf8;
...
@@ -98,6 +98,20 @@ SET NAMES utf8;
SET
character_set_connection
=
binary
;
SET
character_set_connection
=
binary
;
SELECT
'тест'
as
s
;
SELECT
'тест'
as
s
;
# Bug#4417, another aspect:
# Check that both "SHOW CREATE TABLE" and "SHOW COLUMNS"
# return column names and default values in UTF8 after "SET NAMES BINARY"
SET
NAMES
latin1
;
CREATE
TABLE
t1
(
``
CHAR
(
128
)
DEFAULT
''
,
`1`
ENUM
(
'1'
,
'2'
)
DEFAULT
'2'
);
SHOW
CREATE
TABLE
t1
;
SHOW
COLUMNS
FROM
t1
;
SET
NAMES
binary
;
SHOW
CREATE
TABLE
t1
;
SHOW
COLUMNS
FROM
t1
;
DROP
TABLE
t1
;
#
#
# Test that we allow only well-formed UTF8 identitiers
# Test that we allow only well-formed UTF8 identitiers
#
#
...
...
mysql-test/t/ctype_uca.test
View file @
a953bb4b
...
@@ -176,7 +176,7 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_turkish_ci;
...
@@ -176,7 +176,7 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_turkish_ci;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_czech_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_czech_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_danish_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_danish_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_lithuanian_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_lithuanian_ci
;
--
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_slovak_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_slovak_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_spanish2_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_spanish2_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_roman_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_roman_ci
;
mysql-test/t/func_gconcat.test
View file @
a953bb4b
...
@@ -201,3 +201,38 @@ SELECT GROUP_CONCAT(a SEPARATOR '||') AS names FROM t1
...
@@ -201,3 +201,38 @@ SELECT GROUP_CONCAT(a SEPARATOR '||') AS names FROM t1
SELECT
GROUP_CONCAT
(
a
SEPARATOR
'###'
)
AS
names
FROM
t1
SELECT
GROUP_CONCAT
(
a
SEPARATOR
'###'
)
AS
names
FROM
t1
HAVING
LEFT
(
names
,
1
)
=
'J'
;
HAVING
LEFT
(
names
,
1
)
=
'J'
;
DROP
TABLE
t1
;
DROP
TABLE
t1
;
#
# check blobs
#
CREATE
TABLE
t1
(
a
int
,
b
TEXT
);
INSERT
INTO
t1
VALUES
(
1
,
'First Row'
),
(
2
,
'Second Row'
);
SELECT
GROUP_CONCAT
(
b
ORDER
BY
b
)
FROM
t1
GROUP
BY
a
;
DROP
TABLE
t1
;
#
# check null values #1
#
CREATE
TABLE
t1
(
a_id
tinyint
(
4
)
NOT
NULL
default
'0'
,
PRIMARY
KEY
(
a_id
))
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
latin1
;
INSERT
INTO
t1
VALUES
(
1
),(
2
),(
3
);
CREATE
TABLE
t2
(
b_id
tinyint
(
4
)
NOT
NULL
default
'0'
,
b_a
tinyint
(
4
)
NOT
NULL
default
'0'
,
PRIMARY
KEY
(
b_id
),
KEY
(
b_a
),
CONSTRAINT
fk_b_a
FOREIGN
KEY
(
b_a
)
REFERENCES
t1
(
a_id
)
ON
DELETE
CASCADE
ON
UPDATE
NO
ACTION
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
latin1
;
INSERT
INTO
t2
VALUES
(
1
,
1
),(
2
,
1
),(
3
,
1
),(
4
,
2
),(
5
,
2
);
SELECT
*
FROM
(
SELECT
t1
.*
,
GROUP_CONCAT
(
t2
.
b_id
SEPARATOR
','
)
as
b_list
FROM
(
t1
LEFT
JOIN
(
t2
)
on
t1
.
a_id
=
t2
.
b_a
)
GROUP
BY
t1
.
a_id
)
AS
xyz
;
DROP
TABLE
t2
;
DROP
TABLE
t1
;
#
# check null values #2
#
CREATE
TABLE
t1
(
A_ID
INT
NOT
NULL
,
A_DESC
CHAR
(
3
)
NOT
NULL
,
PRIMARY
KEY
(
A_ID
));
INSERT
INTO
t1
VALUES
(
1
,
'ABC'
),
(
2
,
'EFG'
),
(
3
,
'HIJ'
);
CREATE
TABLE
t2
(
A_ID
INT
NOT
NULL
,
B_DESC
CHAR
(
3
)
NOT
NULL
,
PRIMARY
KEY
(
A_ID
,
B_DESC
));
INSERT
INTO
t2
VALUES
(
1
,
'A'
),(
1
,
'B'
),(
3
,
'F'
);
SELECT
t1
.
A_ID
,
GROUP_CONCAT
(
t2
.
B_DESC
)
AS
B_DESC
FROM
t1
LEFT
JOIN
t2
ON
t1
.
A_ID
=
t2
.
A_ID
GROUP
BY
t1
.
A_ID
ORDER
BY
t1
.
A_DESC
;
DROP
TABLE
t1
;
DROP
TABLE
t2
;
mysql-test/t/func_str.test
View file @
a953bb4b
...
@@ -402,3 +402,9 @@ insert into t1 values ('-21474836461','-21474836461');
...
@@ -402,3 +402,9 @@ insert into t1 values ('-21474836461','-21474836461');
show
warnings
;
show
warnings
;
select
*
from
t1
;
select
*
from
t1
;
drop
table
t1
;
drop
table
t1
;
#
# Bug #4878: LEFT() in integer/float context
#
select
left
(
1234
,
3
)
+
0
;
mysql-test/t/grant_cache.test
View file @
a953bb4b
...
@@ -67,7 +67,8 @@ show status like "Qcache_queries_in_cache";
...
@@ -67,7 +67,8 @@ show status like "Qcache_queries_in_cache";
show
status
like
"Qcache_hits"
;
show
status
like
"Qcache_hits"
;
show
status
like
"Qcache_not_cached"
;
show
status
like
"Qcache_not_cached"
;
connect
(
unkuser
,
localhost
,,,,
$MASTER_MYPORT
,
master
.
sock
);
# Don't use '' as user because it will pick Unix login
connect
(
unkuser
,
localhost
,
unkuser
,,,
$MASTER_MYPORT
,
master
.
sock
);
connection
unkuser
;
connection
unkuser
;
show
grants
for
current_user
();
show
grants
for
current_user
();
...
...
mysys/mf_keycache.c
View file @
a953bb4b
...
@@ -625,7 +625,7 @@ writes: %ld r_requests: %ld reads: %ld",
...
@@ -625,7 +625,7 @@ writes: %ld r_requests: %ld reads: %ld",
if
(
cleanup
)
if
(
cleanup
)
{
{
pthread_mutex_destroy
(
&
keycache
->
cache_lock
);
pthread_mutex_destroy
(
&
keycache
->
cache_lock
);
keycache
->
key_cache_inited
=
0
;
keycache
->
key_cache_inited
=
keycache
->
can_be_used
=
0
;
KEYCACHE_DEBUG_CLOSE
;
KEYCACHE_DEBUG_CLOSE
;
}
}
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
...
...
sql/item_strfunc.cc
View file @
a953bb4b
...
@@ -984,6 +984,9 @@ String *Item_func_left::val_str(String *str)
...
@@ -984,6 +984,9 @@ String *Item_func_left::val_str(String *str)
return
&
my_empty_string
;
return
&
my_empty_string
;
if
(
res
->
length
()
<=
(
uint
)
length
)
if
(
res
->
length
()
<=
(
uint
)
length
)
return
res
;
return
res
;
if
(
&
str_value
==
res
)
str_value
.
length
(
res
->
charpos
(
length
));
else
str_value
.
set
(
*
res
,
0
,
res
->
charpos
(
length
));
str_value
.
set
(
*
res
,
0
,
res
->
charpos
(
length
));
return
&
str_value
;
return
&
str_value
;
}
}
...
...
sql/item_sum.cc
View file @
a953bb4b
...
@@ -1966,12 +1966,12 @@ Item_func_group_concat::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
...
@@ -1966,12 +1966,12 @@ Item_func_group_concat::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
Fix fields for select list and ORDER clause
Fix fields for select list and ORDER clause
*/
*/
for
(
i
=
0
;
i
<
arg_count
;
i
++
)
for
(
i
=
0
;
i
<
arg_count
;
i
++
)
{
{
if
(
args
[
i
]
->
fix_fields
(
thd
,
tables
,
args
+
i
)
||
args
[
i
]
->
check_cols
(
1
))
if
(
args
[
i
]
->
fix_fields
(
thd
,
tables
,
args
+
i
)
||
args
[
i
]
->
check_cols
(
1
))
return
1
;
return
1
;
if
(
i
<
arg_count_field
&&
args
[
i
]
->
maybe_null
)
if
(
i
<
arg_count_field
)
maybe_null
=
0
;
maybe_null
|=
args
[
i
]
->
maybe_null
;
}
}
result_field
=
0
;
result_field
=
0
;
...
@@ -2043,10 +2043,13 @@ bool Item_func_group_concat::setup(THD *thd)
...
@@ -2043,10 +2043,13 @@ bool Item_func_group_concat::setup(THD *thd)
Note that in the table, we first have the ORDER BY fields, then the
Note that in the table, we first have the ORDER BY fields, then the
field list.
field list.
We need to set set_sum_field in true for storing value of blob in buffer
of a record instead of a pointer of one.
*/
*/
if
(
!
(
table
=
create_tmp_table
(
thd
,
tmp_table_param
,
all_fields
,
0
,
if
(
!
(
table
=
create_tmp_table
(
thd
,
tmp_table_param
,
all_fields
,
0
,
0
,
0
,
select_lex
->
options
|
thd
->
options
,
(
ORDER
*
)
0
,
0
,
TRUE
,
select_lex
->
options
|
thd
->
options
,
(
char
*
)
""
)))
HA_POS_ERROR
,
(
char
*
)
""
)))
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
table
->
file
->
extra
(
HA_EXTRA_NO_ROWS
);
table
->
file
->
extra
(
HA_EXTRA_NO_ROWS
);
table
->
no_rows
=
1
;
table
->
no_rows
=
1
;
...
...
sql/mysqld.cc
View file @
a953bb4b
...
@@ -2535,7 +2535,8 @@ server.");
...
@@ -2535,7 +2535,8 @@ server.");
if
(
opt_error_log
)
if
(
opt_error_log
)
{
{
if
(
!
log_error_file_ptr
[
0
])
if
(
!
log_error_file_ptr
[
0
])
fn_format
(
log_error_file
,
glob_hostname
,
mysql_data_home
,
".err"
,
0
);
fn_format
(
log_error_file
,
glob_hostname
,
mysql_data_home
,
".err"
,
MY_REPLACE_EXT
);
/* replace '.<domain>' by '.err', bug#4997 */
else
else
fn_format
(
log_error_file
,
log_error_file_ptr
,
mysql_data_home
,
".err"
,
fn_format
(
log_error_file
,
log_error_file_ptr
,
mysql_data_home
,
".err"
,
MY_UNPACK_FILENAME
|
MY_SAFE_PATH
);
MY_UNPACK_FILENAME
|
MY_SAFE_PATH
);
...
...
sql/share/charsets/cp852.xml
View file @
a953bb4b
...
@@ -114,6 +114,8 @@
...
@@ -114,6 +114,8 @@
</map>
</map>
</collation>
</collation>
<collation
name=
"cp852_bin"
flag=
"binary"
/>
</charset>
</charset>
</charsets>
</charsets>
sql/slave.cc
View file @
a953bb4b
...
@@ -1236,6 +1236,12 @@ not always make sense; please check the manual before using it).";
...
@@ -1236,6 +1236,12 @@ not always make sense; please check the manual before using it).";
/*
/*
Check that the master's global character_set_server and ours are the same.
Check that the master's global character_set_server and ours are the same.
Not fatal if query fails (old master?).
Not fatal if query fails (old master?).
Note that we don't check for equality of global character_set_client and
collation_connection (neither do we prevent their setting in
set_var.cc). That's because from what I (Guilhem) have tested, the global
values of these 2 are never used (new connections don't use them).
We don't test equality of global collation_database either as it's is
going to be deprecated (made read-only) in 4.1 very soon.
*/
*/
if
(
!
mysql_real_query
(
mysql
,
"SELECT @@GLOBAL.COLLATION_SERVER"
,
32
)
&&
if
(
!
mysql_real_query
(
mysql
,
"SELECT @@GLOBAL.COLLATION_SERVER"
,
32
)
&&
(
master_res
=
mysql_store_result
(
mysql
)))
(
master_res
=
mysql_store_result
(
mysql
)))
...
...
sql/sql_show.cc
View file @
a953bb4b
...
@@ -651,6 +651,7 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
...
@@ -651,6 +651,7 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
TABLE
*
table
;
TABLE
*
table
;
handler
*
file
;
handler
*
file
;
char
tmp
[
MAX_FIELD_WIDTH
];
char
tmp
[
MAX_FIELD_WIDTH
];
char
tmp1
[
MAX_FIELD_WIDTH
];
Item
*
item
;
Item
*
item
;
Protocol
*
protocol
=
thd
->
protocol
;
Protocol
*
protocol
=
thd
->
protocol
;
DBUG_ENTER
(
"mysqld_show_fields"
);
DBUG_ENTER
(
"mysqld_show_fields"
);
...
@@ -735,9 +736,24 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
...
@@ -735,9 +736,24 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild,
else
if
(
field
->
unireg_check
!=
Field
::
NEXT_NUMBER
&&
else
if
(
field
->
unireg_check
!=
Field
::
NEXT_NUMBER
&&
!
field
->
is_null
())
!
field
->
is_null
())
{
// Not null by default
{
// Not null by default
/*
Note: we have to convert the default value into
system_charset_info before sending.
This is necessary for "SET NAMES binary":
If the client character set is binary, we want to
send metadata in UTF8 rather than in the column's
character set.
This conversion also makes "SHOW COLUMNS" and
"SHOW CREATE TABLE" output consistent. Without
this conversion the default values were displayed
differently.
*/
String
def
(
tmp1
,
sizeof
(
tmp1
),
system_charset_info
);
type
.
set
(
tmp
,
sizeof
(
tmp
),
field
->
charset
());
type
.
set
(
tmp
,
sizeof
(
tmp
),
field
->
charset
());
field
->
val_str
(
&
type
);
field
->
val_str
(
&
type
);
protocol
->
store
(
type
.
ptr
(),
type
.
length
(),
type
.
charset
());
def
.
copy
(
type
.
ptr
(),
type
.
length
(),
type
.
charset
(),
system_charset_info
);
protocol
->
store
(
def
.
ptr
(),
def
.
length
(),
def
.
charset
());
}
}
else
if
(
field
->
unireg_check
==
Field
::
NEXT_NUMBER
||
else
if
(
field
->
unireg_check
==
Field
::
NEXT_NUMBER
||
field
->
maybe_null
())
field
->
maybe_null
())
...
...
sql/sql_string.h
View file @
a953bb4b
...
@@ -98,6 +98,7 @@ public:
...
@@ -98,6 +98,7 @@ public:
void
set
(
String
&
str
,
uint32
offset
,
uint32
arg_length
)
void
set
(
String
&
str
,
uint32
offset
,
uint32
arg_length
)
{
{
DBUG_ASSERT
(
&
str
!=
this
);
free
();
free
();
Ptr
=
(
char
*
)
str
.
ptr
()
+
offset
;
str_length
=
arg_length
;
alloced
=
0
;
Ptr
=
(
char
*
)
str
.
ptr
()
+
offset
;
str_length
=
arg_length
;
alloced
=
0
;
if
(
str
.
Alloced_length
)
if
(
str
.
Alloced_length
)
...
...
strings/ctype-simple.c
View file @
a953bb4b
...
@@ -1171,6 +1171,15 @@ static my_bool create_fromuni(CHARSET_INFO *cs, void *(*alloc)(uint))
...
@@ -1171,6 +1171,15 @@ static my_bool create_fromuni(CHARSET_INFO *cs, void *(*alloc)(uint))
uni_idx
idx
[
PLANE_NUM
];
uni_idx
idx
[
PLANE_NUM
];
int
i
,
n
;
int
i
,
n
;
/*
Check that Unicode map is loaded.
It can be not loaded when the collation is
listed in Index.xml but not specified
in the character set specific XML file.
*/
if
(
!
cs
->
tab_to_uni
)
return
TRUE
;
/* Clear plane statistics */
/* Clear plane statistics */
bzero
(
idx
,
sizeof
(
idx
));
bzero
(
idx
,
sizeof
(
idx
));
...
...
strings/ctype-uca.c
View file @
a953bb4b
...
@@ -6645,7 +6645,7 @@ static const char slovak[]=
...
@@ -6645,7 +6645,7 @@ static const char slovak[]=
"& H < ch <<< Ch <<< CH"
"& H < ch <<< Ch <<< CH"
"& O <
\\
u00F4 <<<
\\
u00D4"
"& O <
\\
u00F4 <<<
\\
u00D4"
"& S <
\\
u0161 <<<
\\
u0160"
"& S <
\\
u0161 <<<
\\
u0160"
"& Z <
\\
u017E <<<
\\
017D"
;
"& Z <
\\
u017E <<<
\\
u
017D"
;
static
const
char
spanish2
[]
=
/* Also good for Asturian and Galician */
static
const
char
spanish2
[]
=
/* Also good for Asturian and Galician */
"&C < ch <<< Ch <<< CH"
"&C < ch <<< Ch <<< CH"
...
...
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