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
ba2d58ae
Commit
ba2d58ae
authored
Dec 11, 2007
by
istruewing@stella.local
Browse files
Options
Browse Files
Download
Plain Diff
Merge stella.local:/home2/mydev/mysql-5.0-amain
into stella.local:/home2/mydev/mysql-5.0-axmrg
parents
a079cb9f
e02d039a
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
150 additions
and
7 deletions
+150
-7
mysql-test/include/ctype_common.inc
mysql-test/include/ctype_common.inc
+2
-0
mysql-test/r/ctype_big5.result
mysql-test/r/ctype_big5.result
+4
-0
mysql-test/r/ctype_cp932.result
mysql-test/r/ctype_cp932.result
+74
-0
mysql-test/r/ctype_euckr.result
mysql-test/r/ctype_euckr.result
+4
-0
mysql-test/r/ctype_gb2312.result
mysql-test/r/ctype_gb2312.result
+4
-0
mysql-test/r/ctype_gbk.result
mysql-test/r/ctype_gbk.result
+4
-0
mysql-test/r/ctype_uca.result
mysql-test/r/ctype_uca.result
+4
-0
mysql-test/r/delayed.result
mysql-test/r/delayed.result
+5
-0
mysql-test/r/func_misc.result
mysql-test/r/func_misc.result
+7
-0
mysql-test/t/ctype_cp932.test
mysql-test/t/ctype_cp932.test
+4
-0
mysql-test/t/delayed.test
mysql-test/t/delayed.test
+9
-0
mysql-test/t/func_misc.test
mysql-test/t/func_misc.test
+11
-1
sql/item.cc
sql/item.cc
+11
-1
sql/item.h
sql/item.h
+3
-1
sql/sql_insert.cc
sql/sql_insert.cc
+2
-2
strings/ctype-cp932.c
strings/ctype-cp932.c
+2
-2
No files found.
mysql-test/include/ctype_common.inc
View file @
ba2d58ae
...
...
@@ -53,11 +53,13 @@ DROP TABLE t1;
#
# Bug #31070: crash during conversion of charsets
# Bug #32726: crash with cast in order by clause and cp932 charset
#
create
table
t1
(
a
set
(
'a'
)
not
null
);
insert
into
t1
values
(),();
select
cast
(
a
as
char
(
1
))
from
t1
;
select
a
sounds
like
a
from
t1
;
select
1
from
t1
order
by
cast
(
a
as
char
(
1
));
drop
table
t1
;
DROP
DATABASE
d1
;
...
...
mysql-test/r/ctype_big5.result
View file @
ba2d58ae
...
...
@@ -64,6 +64,10 @@ 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;
DROP DATABASE d1;
USE test;
...
...
mysql-test/r/ctype_cp932.result
View file @
ba2d58ae
...
...
@@ -2,6 +2,80 @@ drop table if exists t1;
drop table if exists t2;
drop table if exists t3;
drop table if exists t4;
SET @test_character_set= 'cp932';
SET @test_collation= 'cp932_japanese_ci';
SET @safe_character_set_server= @@character_set_server;
SET @safe_collation_server= @@collation_server;
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) cp932_japanese_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) cp932_japanese_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;
DROP DATABASE d1;
USE test;
SET character_set_server= @safe_character_set_server;
SET collation_server= @safe_collation_server;
set names cp932;
set character_set_database = cp932;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = cp932;
...
...
mysql-test/r/ctype_euckr.result
View file @
ba2d58ae
...
...
@@ -64,6 +64,10 @@ 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;
DROP DATABASE d1;
USE test;
...
...
mysql-test/r/ctype_gb2312.result
View file @
ba2d58ae
...
...
@@ -64,6 +64,10 @@ 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;
DROP DATABASE d1;
USE test;
...
...
mysql-test/r/ctype_gbk.result
View file @
ba2d58ae
...
...
@@ -64,6 +64,10 @@ 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;
DROP DATABASE d1;
USE test;
...
...
mysql-test/r/ctype_uca.result
View file @
ba2d58ae
...
...
@@ -2599,6 +2599,10 @@ 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;
DROP DATABASE d1;
USE test;
...
...
mysql-test/r/delayed.result
View file @
ba2d58ae
...
...
@@ -255,3 +255,8 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
INSERT DELAYED INTO t2 VALUES(1);
ERROR HY000: Table storage engine for 't2' doesn't have this option
DROP TABLE t1, t2;
CREATE TABLE t1 (a INT);
INSERT DELAYED INTO t1 SET b= b();
ERROR 42S22: Unknown column 'b' in 'field list'
DROP TABLE t1;
End of 5.0 tests
mysql-test/r/func_misc.result
View file @
ba2d58ae
...
...
@@ -207,6 +207,13 @@ test
SELECT NAME_CONST('test', 'test');
test
test
CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (), (), ();
SELECT NAME_CONST(a, '1') FROM t1;
ERROR HY000: Incorrect arguments to NAME_CONST
SET INSERT_ID= NAME_CONST(a, a);
ERROR HY000: Incorrect arguments to NAME_CONST
DROP TABLE t1;
create table t1 (a int not null);
insert into t1 values (-1), (-2);
select min(a) from t1 group by inet_ntoa(a);
...
...
mysql-test/t/ctype_cp932.test
View file @
ba2d58ae
...
...
@@ -8,6 +8,10 @@ drop table if exists t3;
drop
table
if
exists
t4
;
--
enable_warnings
SET
@
test_character_set
=
'cp932'
;
SET
@
test_collation
=
'cp932_japanese_ci'
;
--
source
include
/
ctype_common
.
inc
set
names
cp932
;
set
character_set_database
=
cp932
;
...
...
mysql-test/t/delayed.test
View file @
ba2d58ae
...
...
@@ -252,3 +252,12 @@ CREATE TABLE t2(c1 INT) ENGINE=MERGE UNION=(t1);
INSERT
DELAYED
INTO
t2
VALUES
(
1
);
DROP
TABLE
t1
,
t2
;
#
# Bug #32676: insert delayed crash with wrong column and function specified
#
CREATE
TABLE
t1
(
a
INT
);
--
error
ER_BAD_FIELD_ERROR
INSERT
DELAYED
INTO
t1
SET
b
=
b
();
DROP
TABLE
t1
;
--
echo
End
of
5.0
tests
mysql-test/t/func_misc.test
View file @
ba2d58ae
...
...
@@ -204,6 +204,17 @@ SELECT NAME_CONST('test', 1.0);
SELECT
NAME_CONST
(
'test'
,
-
1.0
);
SELECT
NAME_CONST
(
'test'
,
'test'
);
#
# Bug #32559: connection hangs on query with name_const
#
CREATE
TABLE
t1
(
a
INT
);
INSERT
INTO
t1
VALUES
(),
(),
();
--
error
ER_WRONG_ARGUMENTS
SELECT
NAME_CONST
(
a
,
'1'
)
FROM
t1
;
--
error
ER_WRONG_ARGUMENTS
SET
INSERT_ID
=
NAME_CONST
(
a
,
a
);
DROP
TABLE
t1
;
#
# Bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
#
...
...
@@ -213,4 +224,3 @@ select min(a) from t1 group by inet_ntoa(a);
drop
table
t1
;
--
echo
End
of
5.0
tests
sql/item.cc
View file @
ba2d58ae
...
...
@@ -1209,7 +1209,17 @@ bool Item_name_const::is_null()
Item
::
Type
Item_name_const
::
type
()
const
{
return
value_item
->
type
();
/*
As
1. one can try to create the Item_name_const passing non-constant
arguments, although it's incorrect and
2. the type() method can be called before the fix_fields() to get
type information for a further type cast, e.g.
if (item->type() == FIELD_ITEM)
((Item_field *) item)->...
we return NULL_ITEM in the case to avoid wrong casting.
*/
return
valid_args
?
value_item
->
type
()
:
NULL_ITEM
;
}
...
...
sql/item.h
View file @
ba2d58ae
...
...
@@ -1111,11 +1111,13 @@ class Item_name_const : public Item
{
Item
*
value_item
;
Item
*
name_item
;
bool
valid_args
;
public:
Item_name_const
(
Item
*
name_arg
,
Item
*
val
)
:
value_item
(
val
),
name_item
(
name_arg
)
{
if
(
!
value_item
->
basic_const_item
())
if
(
!
(
valid_args
=
name_item
->
basic_const_item
()
&
value_item
->
basic_const_item
()))
my_error
(
ER_WRONG_ARGUMENTS
,
MYF
(
0
),
"NAME_CONST"
);
Item
::
maybe_null
=
TRUE
;
}
...
...
sql/sql_insert.cc
View file @
ba2d58ae
...
...
@@ -585,7 +585,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
bool
log_on
=
(
thd
->
options
&
OPTION_BIN_LOG
)
||
(
!
(
thd
->
security_ctx
->
master_access
&
SUPER_ACL
));
#endif
thr_lock_type
lock_type
=
table_list
->
lock_type
;
thr_lock_type
lock_type
;
Item
*
unused_conds
=
0
;
DBUG_ENTER
(
"mysql_insert"
);
...
...
@@ -620,6 +620,7 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
if
(
open_and_lock_tables
(
thd
,
table_list
))
DBUG_RETURN
(
TRUE
);
}
lock_type
=
table_list
->
lock_type
;
thd
->
proc_info
=
"init"
;
thd
->
used_tables
=
0
;
...
...
@@ -637,7 +638,6 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list,
/* mysql_prepare_insert set table_list->table if it was not set */
table
=
table_list
->
table
;
lock_type
=
table_list
->
lock_type
;
context
=
&
thd
->
lex
->
select_lex
.
context
;
/*
...
...
strings/ctype-cp932.c
View file @
ba2d58ae
...
...
@@ -5359,12 +5359,12 @@ my_wc_mb_cp932(CHARSET_INFO *cs __attribute__((unused)),
static
int
my_mb_wc_cp932
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
my_wc_t
*
pwc
,
const
uchar
*
s
,
const
uchar
*
e
){
int
hi
=
s
[
0
]
;
int
hi
;
if
(
s
>=
e
)
return
MY_CS_TOOSMALL
;
if
(
hi
<
0x80
)
if
(
(
hi
=
s
[
0
])
<
0x80
)
{
pwc
[
0
]
=
hi
;
return
1
;
...
...
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