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
71c91960
Commit
71c91960
authored
Oct 24, 2007
by
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/ram/work/mysql-4.1-maint
into mysql.com:/home/ram/work/b31615/b31615.4.1
parents
8619e7df
ffde32d2
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
43 additions
and
0 deletions
+43
-0
mysql-test/r/ctype_ucs.result
mysql-test/r/ctype_ucs.result
+8
-0
mysql-test/t/ctype_ucs.test
mysql-test/t/ctype_ucs.test
+12
-0
sql/set_var.cc
sql/set_var.cc
+22
-0
sql/set_var.h
sql/set_var.h
+1
-0
No files found.
mysql-test/r/ctype_ucs.result
View file @
71c91960
...
@@ -803,4 +803,12 @@ quote(name)
...
@@ -803,4 +803,12 @@ quote(name)
????????
????????
????????????????
????????????????
drop table bug20536;
drop table bug20536;
set names ucs2;
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
set names ucs2 collate ucs2_bin;
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
set character_set_client= ucs2;
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
set character_set_client= concat('ucs', substr('2', 1));
ERROR 42000: Variable 'character_set_client' can't be set to the value of 'ucs2'
End of 4.1 tests
End of 4.1 tests
mysql-test/t/ctype_ucs.test
View file @
71c91960
...
@@ -535,4 +535,16 @@ select quote(name) from bug20536;
...
@@ -535,4 +535,16 @@ select quote(name) from bug20536;
drop
table
bug20536
;
drop
table
bug20536
;
#
# Bug #31615: crash after set names ucs2 collate xxx
#
--
error
1231
set
names
ucs2
;
--
error
1231
set
names
ucs2
collate
ucs2_bin
;
--
error
1231
set
character_set_client
=
ucs2
;
--
error
1231
set
character_set_client
=
concat
(
'ucs'
,
substr
(
'2'
,
1
));
--
echo
End
of
4.1
tests
--
echo
End
of
4.1
tests
sql/set_var.cc
View file @
71c91960
...
@@ -1992,6 +1992,21 @@ void sys_var_character_set_client::set_default(THD *thd, enum_var_type type)
...
@@ -1992,6 +1992,21 @@ void sys_var_character_set_client::set_default(THD *thd, enum_var_type type)
}
}
bool
sys_var_character_set_client
::
check
(
THD
*
thd
,
set_var
*
var
)
{
if
(
sys_var_character_set
::
check
(
thd
,
var
))
return
1
;
/* Currently, UCS-2 cannot be used as a client character set */
if
(
var
->
save_result
.
charset
->
mbminlen
>
1
)
{
my_error
(
ER_WRONG_VALUE_FOR_VAR
,
MYF
(
0
),
name
,
var
->
save_result
.
charset
->
csname
);
return
1
;
}
return
0
;
}
CHARSET_INFO
**
CHARSET_INFO
**
sys_var_character_set_results
::
ci_ptr
(
THD
*
thd
,
enum_var_type
type
)
sys_var_character_set_results
::
ci_ptr
(
THD
*
thd
,
enum_var_type
type
)
{
{
...
@@ -2355,6 +2370,13 @@ end:
...
@@ -2355,6 +2370,13 @@ end:
int
set_var_collation_client
::
check
(
THD
*
thd
)
int
set_var_collation_client
::
check
(
THD
*
thd
)
{
{
/* Currently, UCS-2 cannot be used as a client character set */
if
(
character_set_client
->
mbminlen
>
1
)
{
my_error
(
ER_WRONG_VALUE_FOR_VAR
,
MYF
(
0
),
"character_set_client"
,
character_set_client
->
csname
);
return
1
;
}
return
0
;
return
0
;
}
}
...
...
sql/set_var.h
View file @
71c91960
...
@@ -578,6 +578,7 @@ public:
...
@@ -578,6 +578,7 @@ public:
sys_var_character_set
(
name_arg
)
{}
sys_var_character_set
(
name_arg
)
{}
void
set_default
(
THD
*
thd
,
enum_var_type
type
);
void
set_default
(
THD
*
thd
,
enum_var_type
type
);
CHARSET_INFO
**
ci_ptr
(
THD
*
thd
,
enum_var_type
type
);
CHARSET_INFO
**
ci_ptr
(
THD
*
thd
,
enum_var_type
type
);
bool
check
(
THD
*
thd
,
set_var
*
var
);
};
};
class
sys_var_character_set_results
:
public
sys_var_character_set
class
sys_var_character_set_results
:
public
sys_var_character_set
...
...
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