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
1d3a929e
Commit
1d3a929e
authored
Aug 19, 2004
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.emb
parents
37c025e6
e3c56fd4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
78 additions
and
52 deletions
+78
-52
VC++Files/winmysqladmin/mysql_com.h
VC++Files/winmysqladmin/mysql_com.h
+11
-15
include/mysql_com.h
include/mysql_com.h
+11
-15
mysql-test/r/ctype_utf8.result
mysql-test/r/ctype_utf8.result
+36
-0
mysql-test/t/ctype_utf8.test
mysql-test/t/ctype_utf8.test
+19
-21
sql/ha_heap.cc
sql/ha_heap.cc
+1
-1
No files found.
VC++Files/winmysqladmin/mysql_com.h
View file @
1d3a929e
...
@@ -159,28 +159,28 @@ enum enum_field_types { FIELD_TYPE_DECIMAL, FIELD_TYPE_TINY,
...
@@ -159,28 +159,28 @@ enum enum_field_types { FIELD_TYPE_DECIMAL, FIELD_TYPE_TINY,
/* Shutdown/kill enums and constants */
/* Shutdown/kill enums and constants */
/* Bits for THD::killable. */
/* Bits for THD::killable. */
#define KILLABLE_CONNECT (unsigned char)(1 << 0)
#define
MYSQL_SHUTDOWN_
KILLABLE_CONNECT (unsigned char)(1 << 0)
#define KILLABLE_TRANS (unsigned char)(1 << 1)
#define
MYSQL_SHUTDOWN_
KILLABLE_TRANS (unsigned char)(1 << 1)
#define KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
#define
MYSQL_SHUTDOWN_
KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
#define KILLABLE_UPDATE (unsigned char)(1 << 3)
#define
MYSQL_SHUTDOWN_
KILLABLE_UPDATE (unsigned char)(1 << 3)
enum
enum_shutdown_level
{
enum
mysql_
enum_shutdown_level
{
/*
/*
We want levels to be in growing order of hardness (because we use number
We want levels to be in growing order of hardness (because we use number
comparisons). Note that DEFAULT does not respect the growing property, but
comparisons). Note that DEFAULT does not respect the growing property, but
it's ok.
it's ok.
*/
*/
SHUTDOWN_
DEFAULT
=
0
,
DEFAULT
=
0
,
/* wait for existing connections to finish */
/* wait for existing connections to finish */
SHUTDOWN_WAIT_CONNECTIONS
=
KILLABLE_CONNECT
,
WAIT_CONNECTIONS
=
MYSQL_SHUTDOWN_
KILLABLE_CONNECT
,
/* wait for existing trans to finish */
/* wait for existing trans to finish */
SHUTDOWN_WAIT_TRANSACTIONS
=
KILLABLE_TRANS
,
WAIT_TRANSACTIONS
=
MYSQL_SHUTDOWN_
KILLABLE_TRANS
,
/* wait for existing updates to finish (=> no partial MyISAM update) */
/* wait for existing updates to finish (=> no partial MyISAM update) */
SHUTDOWN_WAIT_UPDATES
=
KILLABLE_UPDATE
,
WAIT_UPDATES
=
MYSQL_SHUTDOWN_
KILLABLE_UPDATE
,
/* flush InnoDB buffers and other storage engines' buffers*/
/* flush InnoDB buffers and other storage engines' buffers*/
SHUTDOWN_WAIT_ALL_BUFFERS
=
(
KILLABLE_UPDATE
<<
1
),
WAIT_ALL_BUFFERS
=
(
MYSQL_SHUTDOWN_
KILLABLE_UPDATE
<<
1
),
/* don't flush InnoDB buffers, flush other storage engines' buffers*/
/* don't flush InnoDB buffers, flush other storage engines' buffers*/
SHUTDOWN_WAIT_CRITICAL_BUFFERS
=
(
KILLABLE_UPDATE
<<
1
)
+
1
,
WAIT_CRITICAL_BUFFERS
=
(
MYSQL_SHUTDOWN_
KILLABLE_UPDATE
<<
1
)
+
1
,
/* Now the 2 levels of the KILL command */
/* Now the 2 levels of the KILL command */
#if MYSQL_VERSION_ID >= 50000
#if MYSQL_VERSION_ID >= 50000
KILL_QUERY
=
254
,
KILL_QUERY
=
254
,
...
@@ -188,10 +188,6 @@ enum enum_shutdown_level {
...
@@ -188,10 +188,6 @@ enum enum_shutdown_level {
KILL_CONNECTION
=
255
KILL_CONNECTION
=
255
};
};
/* Same value and type (0, enum_shutdown_level) but not same meaning */
#define NOT_KILLED SHUTDOWN_DEFAULT
extern
unsigned
long
max_allowed_packet
;
extern
unsigned
long
max_allowed_packet
;
extern
unsigned
long
net_buffer_length
;
extern
unsigned
long
net_buffer_length
;
...
...
include/mysql_com.h
View file @
1d3a929e
...
@@ -227,28 +227,28 @@ enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
...
@@ -227,28 +227,28 @@ enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
/* Shutdown/kill enums and constants */
/* Shutdown/kill enums and constants */
/* Bits for THD::killable. */
/* Bits for THD::killable. */
#define KILLABLE_CONNECT (unsigned char)(1 << 0)
#define
MYSQL_SHUTDOWN_
KILLABLE_CONNECT (unsigned char)(1 << 0)
#define KILLABLE_TRANS (unsigned char)(1 << 1)
#define
MYSQL_SHUTDOWN_
KILLABLE_TRANS (unsigned char)(1 << 1)
#define KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
#define
MYSQL_SHUTDOWN_
KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
#define KILLABLE_UPDATE (unsigned char)(1 << 3)
#define
MYSQL_SHUTDOWN_
KILLABLE_UPDATE (unsigned char)(1 << 3)
enum
enum_shutdown_level
{
enum
mysql_
enum_shutdown_level
{
/*
/*
We want levels to be in growing order of hardness (because we use number
We want levels to be in growing order of hardness (because we use number
comparisons). Note that DEFAULT does not respect the growing property, but
comparisons). Note that DEFAULT does not respect the growing property, but
it's ok.
it's ok.
*/
*/
SHUTDOWN_
DEFAULT
=
0
,
DEFAULT
=
0
,
/* wait for existing connections to finish */
/* wait for existing connections to finish */
SHUTDOWN_WAIT_CONNECTIONS
=
KILLABLE_CONNECT
,
WAIT_CONNECTIONS
=
MYSQL_SHUTDOWN_
KILLABLE_CONNECT
,
/* wait for existing trans to finish */
/* wait for existing trans to finish */
SHUTDOWN_WAIT_TRANSACTIONS
=
KILLABLE_TRANS
,
WAIT_TRANSACTIONS
=
MYSQL_SHUTDOWN_
KILLABLE_TRANS
,
/* wait for existing updates to finish (=> no partial MyISAM update) */
/* wait for existing updates to finish (=> no partial MyISAM update) */
SHUTDOWN_WAIT_UPDATES
=
KILLABLE_UPDATE
,
WAIT_UPDATES
=
MYSQL_SHUTDOWN_
KILLABLE_UPDATE
,
/* flush InnoDB buffers and other storage engines' buffers*/
/* flush InnoDB buffers and other storage engines' buffers*/
SHUTDOWN_WAIT_ALL_BUFFERS
=
(
KILLABLE_UPDATE
<<
1
),
WAIT_ALL_BUFFERS
=
(
MYSQL_SHUTDOWN_
KILLABLE_UPDATE
<<
1
),
/* don't flush InnoDB buffers, flush other storage engines' buffers*/
/* don't flush InnoDB buffers, flush other storage engines' buffers*/
SHUTDOWN_WAIT_CRITICAL_BUFFERS
=
(
KILLABLE_UPDATE
<<
1
)
+
1
,
WAIT_CRITICAL_BUFFERS
=
(
MYSQL_SHUTDOWN_
KILLABLE_UPDATE
<<
1
)
+
1
,
/* Now the 2 levels of the KILL command */
/* Now the 2 levels of the KILL command */
#if MYSQL_VERSION_ID >= 50000
#if MYSQL_VERSION_ID >= 50000
KILL_QUERY
=
254
,
KILL_QUERY
=
254
,
...
@@ -256,10 +256,6 @@ enum enum_shutdown_level {
...
@@ -256,10 +256,6 @@ enum enum_shutdown_level {
KILL_CONNECTION
=
255
KILL_CONNECTION
=
255
};
};
/* Same value and type (0, enum_shutdown_level) but not same meaning */
#define NOT_KILLED SHUTDOWN_DEFAULT
/* options for mysql_set_option */
/* options for mysql_set_option */
enum
enum_mysql_set_option
enum
enum_mysql_set_option
{
{
...
...
mysql-test/r/ctype_utf8.result
View file @
1d3a929e
...
@@ -470,6 +470,42 @@ ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
...
@@ -470,6 +470,42 @@ ERROR 23000: Duplicate entry 'ꪪꪪ' for key 1
drop table t1;
drop table t1;
create table t1 (
create table t1 (
c char(10) character set utf8 collate utf8_bin,
c char(10) character set utf8 collate utf8_bin,
unique key a using hash (c(1))
) engine=heap;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`c` char(10) character set utf8 collate utf8_bin default NULL,
UNIQUE KEY `a` (`c`(1))
) ENGINE=HEAP DEFAULT CHARSET=latin1
insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert into t1 values ('aa');
ERROR 23000: Duplicate entry 'aa' for key 1
insert into t1 values ('aaa');
ERROR 23000: Duplicate entry 'aaa' for key 1
insert into t1 values ('б');
insert into t1 values ('бб');
ERROR 23000: Duplicate entry 'б' for key 1
insert into t1 values ('ббб');
ERROR 23000: Duplicate entry 'б' for key 1
select c as c_all from t1 order by c;
c_all
a
b
c
d
e
f
б
select c as c_a from t1 where c='a';
c_a
a
select c as c_a from t1 where c='б';
c_a
б
drop table t1;
create table t1 (
c char(10) character set utf8 collate utf8_bin,
unique key a using btree (c(1))
unique key a using btree (c(1))
) engine=heap;
) engine=heap;
show create table t1;
show create table t1;
...
...
mysql-test/t/ctype_utf8.test
View file @
1d3a929e
...
@@ -349,27 +349,25 @@ drop table t1;
...
@@ -349,27 +349,25 @@ drop table t1;
# Bug 4531: unique key prefix interacts poorly with utf8
# Bug 4531: unique key prefix interacts poorly with utf8
# Check HEAP+HASH, binary collation
# Check HEAP+HASH, binary collation
#
#
# This doesn't work correctly yet.
create
table
t1
(
#
c
char
(
10
)
character
set
utf8
collate
utf8_bin
,
#create table t1 (
unique
key
a
using
hash
(
c
(
1
))
#c char(10) character set utf8 collate utf8_bin,
)
engine
=
heap
;
#unique key a using hash (c(1))
show
create
table
t1
;
#) engine=heap;
insert
into
t1
values
(
'a'
),(
'b'
),(
'c'
),(
'd'
),(
'e'
),(
'f'
);
#show create table t1;
--
error
1062
#insert into t1 values ('a'),('b'),('c'),('d'),('e'),('f');
insert
into
t1
values
(
'aa'
);
#--error 1062
--
error
1062
#insert into t1 values ('aa');
insert
into
t1
values
(
'aaa'
);
#--error 1062
insert
into
t1
values
(
'б'
);
#insert into t1 values ('aaa');
--
error
1062
#insert into t1 values ('б');
insert
into
t1
values
(
'бб'
);
#--error 1062
--
error
1062
#insert into t1 values ('бб');
insert
into
t1
values
(
'ббб'
);
#--error 1062
select
c
as
c_all
from
t1
order
by
c
;
#insert into t1 values ('ббб');
select
c
as
c_a
from
t1
where
c
=
'a'
;
#select c as c_all from t1 order by c;
select
c
as
c_a
from
t1
where
c
=
'б'
;
#select c as c_a from t1 where c='a';
drop
table
t1
;
#select c as c_a from t1 where c='б';
#drop table t1;
#
#
# Bug 4531: unique key prefix interacts poorly with utf8
# Bug 4531: unique key prefix interacts poorly with utf8
...
...
sql/ha_heap.cc
View file @
1d3a929e
...
@@ -430,7 +430,7 @@ int ha_heap::create(const char *name, TABLE *table_arg,
...
@@ -430,7 +430,7 @@ int ha_heap::create(const char *name, TABLE *table_arg,
{
{
if
(
!
f_is_packed
(
flag
)
&&
if
(
!
f_is_packed
(
flag
)
&&
f_packtype
(
flag
)
==
(
int
)
FIELD_TYPE_DECIMAL
&&
f_packtype
(
flag
)
==
(
int
)
FIELD_TYPE_DECIMAL
&&
!
(
f
lag
&
FIELDFLAG_BINARY
))
!
(
f
ield
->
charset
()
==
&
my_charset_bin
))
seg
->
type
=
(
int
)
HA_KEYTYPE_TEXT
;
seg
->
type
=
(
int
)
HA_KEYTYPE_TEXT
;
else
else
seg
->
type
=
(
int
)
HA_KEYTYPE_BINARY
;
seg
->
type
=
(
int
)
HA_KEYTYPE_BINARY
;
...
...
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