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
b2bf1935
Commit
b2bf1935
authored
Apr 24, 2007
by
iggy@alf
Browse files
Options
Browse Files
Download
Plain Diff
Merge alf.:D:/src/mysql-5.1-maint
into alf.:D:/src/mysql-5.1-maint_pt
parents
b841154e
0f43ac0d
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1416 additions
and
4 deletions
+1416
-4
mysql-test/include/partition.inc
mysql-test/include/partition.inc
+1402
-0
scripts/CMakeLists.txt
scripts/CMakeLists.txt
+12
-2
sql/log_event_old.cc
sql/log_event_old.cc
+2
-2
No files found.
mysql-test/include/partition.inc
0 → 100644
View file @
b2bf1935
#--disable_abort_on_error
#
# Simple test for the partition storage engine
# Taken fromm the select test
#
--
source
include
/
have_partition
.
inc
#
# This test is disabled on Windows due to BUG#19107
#
#-- source include/not_windows.inc
--
disable_warnings
drop
table
if
exists
t1
;
--
enable_warnings
#
# Bug 15890: Strange number of partitions accepted
#
--
error
1064
create
table
t1
(
a
int
)
partition
by
key
(
a
)
partitions
0.2
+
e1
;
--
error
1064
create
table
t1
(
a
int
)
partition
by
key
(
a
)
partitions
-
1
;
--
error
1064
create
table
t1
(
a
int
)
partition
by
key
(
a
)
partitions
1.5
;
--
error
1064
create
table
t1
(
a
int
)
partition
by
key
(
a
)
partitions
1
e
+
300
;
#
# Bug 21350: Data Directory problems
#
--
error
1103
create
table
t1
(
a
int
)
partition
by
key
(
a
)
(
partition
p0
DATA
DIRECTORY
'part-data'
INDEX
DIRECTORY
'part-data'
);
#
# Insert a test that manages to create the first partition and fails with
# the second, ensure that we clean up afterwards in a proper manner.
#
--
error
1103
create
table
t1
(
a
int
)
partition
by
key
(
a
)
(
partition
p0
,
partition
p1
DATA
DIRECTORY
'part-data'
INDEX
DIRECTORY
'part-data'
);
#
# Bug 19309 Partitions: Crash if double procedural alter
#
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
1
));
create
procedure
pz
()
alter
table
t1
engine
=
myisam
;
call
pz
();
call
pz
();
drop
procedure
pz
;
drop
table
t1
;
#
# Bug 19307: CSV engine crashes
#
--
error
ER_PARTITION_MERGE_ERROR
create
table
t1
(
a
int
)
engine
=
csv
partition
by
list
(
a
)
(
partition
p0
values
in
(
null
));
#
# BUG 16002: Handle unsigned integer functions properly
#
--
error
1064
create
table
t1
(
a
bigint
)
partition
by
range
(
a
)
(
partition
p0
values
less
than
(
0xFFFFFFFFFFFFFFFF
),
partition
p1
values
less
than
(
10
));
--
error
1064
create
table
t1
(
a
bigint
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
0xFFFFFFFFFFFFFFFF
),
partition
p1
values
in
(
10
));
create
table
t1
(
a
bigint
unsigned
)
partition
by
range
(
a
)
(
partition
p0
values
less
than
(
100
),
partition
p1
values
less
than
MAXVALUE
);
insert
into
t1
values
(
1
);
drop
table
t1
;
create
table
t1
(
a
bigint
unsigned
)
partition
by
hash
(
a
);
insert
into
t1
values
(
0xFFFFFFFFFFFFFFFD
);
insert
into
t1
values
(
0xFFFFFFFFFFFFFFFE
);
select
*
from
t1
where
(
a
+
1
)
<
10
;
select
*
from
t1
where
(
a
+
1
)
>
10
;
drop
table
t1
;
#
# Bug 19307: CSV engine crashes
#
--
error
ER_PARTITION_MERGE_ERROR
create
table
t1
(
a
int
)
engine
=
csv
partition
by
list
(
a
)
(
partition
p0
values
in
(
null
));
#
# Added test case
#
create
table
t1
(
a
int
)
partition
by
key
(
a
)
(
partition
p0
engine
=
MEMORY
);
drop
table
t1
;
#
# BUG 19067 ALTER TABLE .. ADD PARTITION for subpartitioned table crashes
#
create
table
t1
(
a
int
)
partition
by
range
(
a
)
subpartition
by
key
(
a
)
(
partition
p0
values
less
than
(
1
));
alter
table
t1
add
partition
(
partition
p1
values
less
than
(
2
));
show
create
table
t1
;
alter
table
t1
reorganize
partition
p1
into
(
partition
p1
values
less
than
(
3
));
show
create
table
t1
;
drop
table
t1
;
#
# Partition by key no partition defined => OK
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
key
(
a
);
#
# Bug 13323: Select count(*) on empty table returns 2
#
select
count
(
*
)
from
t1
;
#
# Test SHOW CREATE TABLE
#
show
create
table
t1
;
drop
table
t1
;
#
# Partition by key no partition, list of fields
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
key
(
a
,
b
);
drop
table
t1
;
#
# Partition by key specified 3 partitions and defined 3 => ok
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
key
(
a
)
partitions
3
(
partition
x1
,
partition
x2
,
partition
x3
);
drop
table
t1
;
#
# Partition by key specifying nodegroup
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
key
(
a
)
partitions
3
(
partition
x1
nodegroup
0
,
partition
x2
nodegroup
1
,
partition
x3
nodegroup
2
);
drop
table
t1
;
#
# Partition by key specifying engine
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
key
(
a
)
partitions
3
(
partition
x1
engine
myisam
,
partition
x2
engine
myisam
,
partition
x3
engine
myisam
);
drop
table
t1
;
#
# Partition by key specifying tablespace
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
key
(
a
)
partitions
3
(
partition
x1
tablespace
ts1
,
partition
x2
tablespace
ts2
,
partition
x3
tablespace
ts3
);
CREATE
TABLE
t2
LIKE
t1
;
drop
table
t2
;
drop
table
t1
;
#
# Partition by key list, basic
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
list
(
a
)
partitions
3
(
partition
x1
values
in
(
1
,
2
,
9
,
4
)
tablespace
ts1
,
partition
x2
values
in
(
3
,
11
,
5
,
7
)
tablespace
ts2
,
partition
x3
values
in
(
16
,
8
,
5
+
19
,
70
-
43
)
tablespace
ts3
);
drop
table
t1
;
#
# Partition by key list, list function
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
list
(
b
*
a
)
partitions
3
(
partition
x1
values
in
(
1
,
2
,
9
,
4
)
tablespace
ts1
,
partition
x2
values
in
(
3
,
11
,
5
,
7
)
tablespace
ts2
,
partition
x3
values
in
(
16
,
8
,
5
+
19
,
70
-
43
)
tablespace
ts3
);
drop
table
t1
;
#
# Partition by key list, list function, no spec of #partitions
#
CREATE
TABLE
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
list
(
b
*
a
)
(
partition
x1
values
in
(
1
)
tablespace
ts1
,
partition
x2
values
in
(
3
,
11
,
5
,
7
)
tablespace
ts2
,
partition
x3
values
in
(
16
,
8
,
5
+
19
,
70
-
43
)
tablespace
ts3
);
drop
table
t1
;
#
# Bug 13154: Insert crashes due to bad calculation of partition id
# for PARTITION BY KEY and SUBPARTITION BY KEY
#
CREATE
TABLE
t1
(
a
int
not
null
)
partition
by
key
(
a
);
LOCK
TABLES
t1
WRITE
;
insert
into
t1
values
(
1
);
insert
into
t1
values
(
2
);
insert
into
t1
values
(
3
);
insert
into
t1
values
(
4
);
UNLOCK
TABLES
;
drop
table
t1
;
#
# Bug #13644 DROP PARTITION NULL's DATE column
#
CREATE
TABLE
t1
(
a
int
,
name
VARCHAR
(
50
),
purchased
DATE
)
PARTITION
BY
RANGE
(
a
)
(
PARTITION
p0
VALUES
LESS
THAN
(
3
),
PARTITION
p1
VALUES
LESS
THAN
(
7
),
PARTITION
p2
VALUES
LESS
THAN
(
9
),
PARTITION
p3
VALUES
LESS
THAN
(
11
));
INSERT
INTO
t1
VALUES
(
1
,
'desk organiser'
,
'2003-10-15'
),
(
2
,
'CD player'
,
'1993-11-05'
),
(
3
,
'TV set'
,
'1996-03-10'
),
(
4
,
'bookcase'
,
'1982-01-10'
),
(
5
,
'exercise bike'
,
'2004-05-09'
),
(
6
,
'sofa'
,
'1987-06-05'
),
(
7
,
'popcorn maker'
,
'2001-11-22'
),
(
8
,
'acquarium'
,
'1992-08-04'
),
(
9
,
'study desk'
,
'1984-09-16'
),
(
10
,
'lava lamp'
,
'1998-12-25'
);
SELECT
*
from
t1
ORDER
BY
a
;
ALTER
TABLE
t1
DROP
PARTITION
p0
;
SELECT
*
from
t1
ORDER
BY
a
;
drop
table
t1
;
#
# Bug #13442; Truncate Partitioned table doesn't work
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
LIST
(
a
)
(
PARTITION
p0
VALUES
IN
(
1
,
2
,
3
),
PARTITION
p1
VALUES
IN
(
4
,
5
,
6
));
insert
into
t1
values
(
1
),(
2
),(
3
),(
4
),(
5
),(
6
);
select
*
from
t1
;
truncate
t1
;
select
*
from
t1
;
truncate
t1
;
select
*
from
t1
;
drop
table
t1
;
#
# Bug #13445 Partition by KEY method crashes server
#
CREATE
TABLE
t1
(
a
int
,
b
int
,
primary
key
(
a
,
b
))
PARTITION
BY
KEY
(
b
,
a
)
PARTITIONS
4
;
insert
into
t1
values
(
0
,
0
),(
1
,
1
),(
2
,
2
),(
3
,
3
),(
4
,
4
),(
5
,
5
),(
6
,
6
);
select
*
from
t1
where
a
=
4
;
drop
table
t1
;
#
# Bug #13438: Engine clause in PARTITION clause causes crash
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
LIST
(
a
)
PARTITIONS
1
(
PARTITION
x1
VALUES
IN
(
1
)
ENGINE
=
MEMORY
);
show
create
table
t1
;
drop
table
t1
;
#
# Bug #13440: REPLACE causes crash in partitioned table
#
CREATE
TABLE
t1
(
a
int
,
unique
(
a
))
PARTITION
BY
LIST
(
a
)
(
PARTITION
x1
VALUES
IN
(
10
),
PARTITION
x2
VALUES
IN
(
20
));
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
REPLACE
t1
SET
a
=
4
;
drop
table
t1
;
#
# Bug #14365: Crash if value too small in list partitioned table
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
LIST
(
a
)
(
PARTITION
x1
VALUES
IN
(
2
),
PARTITION
x2
VALUES
IN
(
3
));
insert
into
t1
values
(
2
),
(
3
);
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
insert
into
t1
values
(
4
);
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
insert
into
t1
values
(
1
);
drop
table
t1
;
#
# Bug 14327: PARTITIONS clause gets lost in SHOW CREATE TABLE
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
HASH
(
a
)
PARTITIONS
5
;
SHOW
CREATE
TABLE
t1
;
drop
table
t1
;
#
# Bug #13446: Update to value outside of list values doesn't give error
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
RANGE
(
a
)
(
PARTITION
x1
VALUES
LESS
THAN
(
2
));
insert
into
t1
values
(
1
);
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
update
t1
set
a
=
5
;
drop
table
t1
;
#
# Bug #13441: Analyze on partitioned table didn't work
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
LIST
(
a
)
(
PARTITION
x1
VALUES
IN
(
10
),
PARTITION
x2
VALUES
IN
(
20
));
analyze
table
t1
;
drop
table
t1
;
#
# BUG 14524
#
CREATE
TABLE
`t1`
(
`id`
int
(
11
)
default
NULL
)
ENGINE
=
BLACKHOLE
DEFAULT
CHARSET
=
latin1
PARTITION
BY
HASH
(
id
)
;
SELECT
*
FROM
t1
;
drop
table
t1
;
#
# BUG 14524
#
CREATE
TABLE
`t1`
(
`id`
int
(
11
)
default
NULL
)
ENGINE
=
BLACKHOLE
DEFAULT
CHARSET
=
latin1
PARTITION
BY
HASH
(
id
)
;
SELECT
*
FROM
t1
;
drop
table
t1
;
#
# BUG 15221 (Cannot reorganize with the same name)
#
create
table
t1
(
a
int
)
partition
by
range
(
a
)
(
partition
p0
values
less
than
(
10
),
partition
p1
values
less
than
(
20
),
partition
p2
values
less
than
(
25
));
alter
table
t1
reorganize
partition
p2
into
(
partition
p2
values
less
than
(
30
));
show
create
table
t1
;
drop
table
t1
;
CREATE
TABLE
t1
(
a
int
,
b
int
)
PARTITION
BY
RANGE
(
a
)
(
PARTITION
x0
VALUES
LESS
THAN
(
2
),
PARTITION
x1
VALUES
LESS
THAN
(
4
),
PARTITION
x2
VALUES
LESS
THAN
(
6
),
PARTITION
x3
VALUES
LESS
THAN
(
8
),
PARTITION
x4
VALUES
LESS
THAN
(
10
),
PARTITION
x5
VALUES
LESS
THAN
(
12
),
PARTITION
x6
VALUES
LESS
THAN
(
14
),
PARTITION
x7
VALUES
LESS
THAN
(
16
),
PARTITION
x8
VALUES
LESS
THAN
(
18
),
PARTITION
x9
VALUES
LESS
THAN
(
20
));
ALTER
TABLE
t1
REORGANIZE
PARTITION
x0
,
x1
,
x2
INTO
(
PARTITION
x1
VALUES
LESS
THAN
(
6
));
show
create
table
t1
;
drop
table
t1
;
# Testcase for BUG#15819
create
table
t1
(
a
int
not
null
,
b
int
not
null
)
partition
by
LIST
(
a
+
b
)
(
partition
p0
values
in
(
12
),
partition
p1
values
in
(
14
)
);
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
insert
into
t1
values
(
10
,
1
);
drop
table
t1
;
#
# Bug#16901 Partitions: crash, SELECT, column of part.
# function=first column of primary key
#
create
table
t1
(
f1
integer
,
f2
integer
,
f3
varchar
(
10
),
primary
key
(
f1
,
f2
))
partition
by
range
(
f1
)
subpartition
by
hash
(
f2
)
subpartitions
2
(
partition
p1
values
less
than
(
0
),
partition
p2
values
less
than
(
2
),
partition
p3
values
less
than
(
2147483647
));
insert
into
t1
values
(
10
,
10
,
'10'
);
insert
into
t1
values
(
2
,
2
,
'2'
);
select
*
from
t1
where
f1
=
2
;
drop
table
t1
;
#
# Bug #16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX
#
create
table
t1
(
f1
integer
,
f2
integer
,
unique
index
(
f1
))
partition
by
range
(
f1
div
2
)
subpartition
by
hash
(
f1
)
subpartitions
2
(
partition
partb
values
less
than
(
2
),
partition
parte
values
less
than
(
4
),
partition
partf
values
less
than
(
10000
));
insert
into
t1
values
(
10
,
1
);
select
*
from
t1
where
f1
=
10
;
drop
table
t1
;
#
# Bug #16775: Wrong engine type stored for subpartition
#
set
session
storage_engine
=
'memory'
;
create
table
t1
(
f_int1
int
(
11
)
default
null
)
engine
=
memory
partition
by
range
(
f_int1
)
subpartition
by
hash
(
f_int1
)
(
partition
part1
values
less
than
(
1000
)
(
subpartition
subpart11
engine
=
memory
));
drop
table
t1
;
set
session
storage_engine
=
'myisam'
;
#
# Bug #16782: Crash using REPLACE on table with primary key
#
create
table
t1
(
f_int1
integer
,
f_int2
integer
,
primary
key
(
f_int1
))
partition
by
hash
(
f_int1
)
partitions
2
;
insert
into
t1
values
(
1
,
1
),(
2
,
2
);
replace
into
t1
values
(
1
,
1
),(
2
,
2
);
drop
table
t1
;
#
# Bug #17169: Partitions: out of memory if add partition and unique
#
create
table
t1
(
s1
int
,
unique
(
s1
))
partition
by
list
(
s1
)
(
partition
x1
VALUES
in
(
10
),
partition
x2
values
in
(
20
));
alter
table
t1
add
partition
(
partition
x3
values
in
(
30
));
drop
table
t1
;
#
# Bug #17754 Change to explicit removal of partitioning scheme
# Also added a number of tests to ensure that proper engine is
# choosen in all kinds of scenarios.
#
create
table
t1
(
a
int
)
partition
by
key
(
a
)
partitions
2
(
partition
p0
engine
=
myisam
,
partition
p1
engine
=
myisam
);
show
create
table
t1
;
alter
table
t1
;
show
create
table
t1
;
alter
table
t1
engine
=
myisam
;
show
create
table
t1
;
alter
table
t1
engine
=
heap
;
show
create
table
t1
;
alter
table
t1
remove
partitioning
;
show
create
table
t1
;
drop
table
t1
;
create
table
t1
(
a
int
)
engine
=
myisam
partition
by
key
(
a
)
partitions
2
(
partition
p0
engine
=
myisam
,
partition
p1
engine
=
myisam
);
show
create
table
t1
;
alter
table
t1
add
column
b
int
remove
partitioning
;
show
create
table
t1
;
alter
table
t1
engine
=
myisam
partition
by
key
(
a
)
(
partition
p0
engine
=
myisam
,
partition
p1
);
show
create
table
t1
;
alter
table
t1
engine
=
heap
partition
by
key
(
a
)
(
partition
p0
,
partition
p1
engine
=
heap
);
show
create
table
t1
;
alter
table
t1
engine
=
myisam
,
add
column
c
int
remove
partitioning
;
show
create
table
t1
;
alter
table
t1
engine
=
heap
partition
by
key
(
a
)
(
partition
p0
,
partition
p1
);
show
create
table
t1
;
alter
table
t1
partition
by
key
(
a
)
(
partition
p0
,
partition
p1
);
show
create
table
t1
;
alter
table
t1
engine
=
heap
partition
by
key
(
a
)
(
partition
p0
,
partition
p1
);
show
create
table
t1
;
--
error
ER_MIX_HANDLER_ERROR
alter
table
t1
partition
by
key
(
a
)
(
partition
p0
,
partition
p1
engine
=
heap
);
--
error
ER_MIX_HANDLER_ERROR
alter
table
t1
partition
by
key
(
a
)
(
partition
p0
engine
=
heap
,
partition
p1
);
--
error
ER_MIX_HANDLER_ERROR
alter
table
t1
engine
=
heap
partition
by
key
(
a
)
(
partition
p0
engine
=
heap
,
partition
p1
engine
=
myisam
);
--
error
ER_MIX_HANDLER_ERROR
alter
table
t1
partition
by
key
(
a
)
(
partition
p0
engine
=
heap
,
partition
p1
engine
=
myisam
);
drop
table
t1
;
# Bug #17432: Partition functions containing NULL values should return
# LONGLONG_MIN
#
CREATE
TABLE
t1
(
f_int1
INTEGER
,
f_int2
INTEGER
,
f_char1
CHAR
(
10
),
f_char2
CHAR
(
10
),
f_charbig
VARCHAR
(
1000
)
)
PARTITION
BY
RANGE
(
f_int1
DIV
2
)
SUBPARTITION
BY
HASH
(
f_int1
)
SUBPARTITIONS
2
(
PARTITION
parta
VALUES
LESS
THAN
(
0
),
PARTITION
partb
VALUES
LESS
THAN
(
5
),
PARTITION
parte
VALUES
LESS
THAN
(
10
),
PARTITION
partf
VALUES
LESS
THAN
(
2147483647
));
INSERT
INTO
t1
SET
f_int1
=
NULL
,
f_int2
=
-
20
,
f_char1
=
CAST
(
-
20
AS
CHAR
),
f_char2
=
CAST
(
-
20
AS
CHAR
),
f_charbig
=
'#NULL#'
;
SELECT
*
FROM
t1
WHERE
f_int1
IS
NULL
;
SELECT
*
FROM
t1
;
drop
table
t1
;
#
# Bug 17430: Crash when SELECT * from t1 where field IS NULL
#
CREATE
TABLE
t1
(
f_int1
INTEGER
,
f_int2
INTEGER
,
f_char1
CHAR
(
10
),
f_char2
CHAR
(
10
),
f_charbig
VARCHAR
(
1000
)
)
PARTITION
BY
LIST
(
MOD
(
f_int1
,
2
))
SUBPARTITION
BY
KEY
(
f_int1
)
(
PARTITION
part1
VALUES
IN
(
-
1
)
(
SUBPARTITION
sp1
,
SUBPARTITION
sp2
),
PARTITION
part2
VALUES
IN
(
0
)
(
SUBPARTITION
sp3
,
SUBPARTITION
sp5
),
PARTITION
part3
VALUES
IN
(
1
)
(
SUBPARTITION
sp4
,
SUBPARTITION
sp6
));
INSERT
INTO
t1
SET
f_int1
=
2
,
f_int2
=
2
,
f_char1
=
'2'
,
f_char2
=
'2'
,
f_charbig
=
'===2==='
;
INSERT
INTO
t1
SET
f_int1
=
2
,
f_int2
=
2
,
f_char1
=
'2'
,
f_char2
=
'2'
,
f_charbig
=
'===2==='
;
SELECT
*
FROM
t1
WHERE
f_int1
IS
NULL
;
drop
table
t1
;
#
# Bug#14363 Partitions: failure if create in stored procedure
#
delimiter
//;
create
procedure
p
()
begin
create
table
t1
(
s1
mediumint
,
s2
mediumint
)
partition
by
list
(
s2
)
(
partition
p1
values
in
(
0
),
partition
p2
values
in
(
1
));
end
//
call
p
()
//
drop
procedure
p
//
drop
table
t1
;
create
procedure
p
()
begin
create
table
t1
(
a
int
not
null
,
b
int
not
null
,
c
int
not
null
,
primary
key
(
a
,
b
))
partition
by
range
(
a
)
subpartition
by
hash
(
a
+
b
)
(
partition
x1
values
less
than
(
1
)
(
subpartition
x11
,
subpartition
x12
),
partition
x2
values
less
than
(
5
)
(
subpartition
x21
,
subpartition
x22
));
end
//
call
p
()
//
drop
procedure
p
//
drop
table
t1
//
delimiter
;
//
#
# Bug #15447 Partitions: NULL is treated as zero
#
# NULL for RANGE partition
create
table
t1
(
a
int
,
b
int
,
c
int
,
key
(
a
,
b
))
partition
by
range
(
a
)
partitions
3
(
partition
x1
values
less
than
(
0
)
tablespace
ts1
,
partition
x2
values
less
than
(
10
)
tablespace
ts2
,
partition
x3
values
less
than
maxvalue
tablespace
ts3
);
insert
into
t1
values
(
NULL
,
1
,
1
);
insert
into
t1
values
(
0
,
1
,
1
);
insert
into
t1
values
(
12
,
1
,
1
);
select
partition_name
,
partition_description
,
table_rows
from
information_schema
.
partitions
where
table_schema
=
'test'
;
drop
table
t1
;
# NULL for LIST partition
--
error
ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR
create
table
t1
(
a
int
,
b
int
,
c
int
)
partition
by
list
(
a
)
partitions
2
(
partition
x123
values
in
(
11
,
12
),
partition
x234
values
in
(
1
,
NULL
,
NULL
));
--
error
ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR
create
table
t1
(
a
int
,
b
int
,
c
int
)
partition
by
list
(
a
)
partitions
2
(
partition
x123
values
in
(
11
,
NULL
),
partition
x234
values
in
(
1
,
NULL
));
create
table
t1
(
a
int
,
b
int
,
c
int
)
partition
by
list
(
a
)
partitions
2
(
partition
x123
values
in
(
11
,
12
),
partition
x234
values
in
(
5
,
1
));
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
insert
into
t1
values
(
NULL
,
1
,
1
);
drop
table
t1
;
create
table
t1
(
a
int
,
b
int
,
c
int
)
partition
by
list
(
a
)
partitions
2
(
partition
x123
values
in
(
11
,
12
),
partition
x234
values
in
(
NULL
,
1
));
insert
into
t1
values
(
11
,
1
,
6
);
insert
into
t1
values
(
NULL
,
1
,
1
);
select
partition_name
,
partition_description
,
table_rows
from
information_schema
.
partitions
where
table_schema
=
'test'
;
drop
table
t1
;
#
# BUG 17947 Crash with REBUILD PARTITION
#
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
1
));
--
error
1064
alter
table
t1
rebuild
partition
;
drop
table
t1
;
#
# BUG 15253 Insert that should fail doesn't
#
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
5
));
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
insert
into
t1
values
(
0
);
drop
table
t1
;
#
# BUG #16370 Subpartitions names not shown in SHOW CREATE TABLE output
#
create
table
t1
(
a
int
)
partition
by
range
(
a
)
subpartition
by
hash
(
a
)
(
partition
p0
values
less
than
(
100
));
show
create
table
t1
;
alter
table
t1
add
partition
(
partition
p1
values
less
than
(
200
)
(
subpartition
subpart21
));
show
create
table
t1
;
drop
table
t1
;
create
table
t1
(
a
int
)
partition
by
key
(
a
);
show
create
table
t1
;
alter
table
t1
add
partition
(
partition
p1
);
show
create
table
t1
;
drop
table
t1
;
#
# BUG 15407 Crash with subpartition
#
--
error
1064
create
table
t1
(
a
int
,
b
int
)
partition
by
range
(
a
)
subpartition
by
hash
(
a
)
(
partition
p0
values
less
than
(
0
)
(
subpartition
sp0
),
partition
p1
values
less
than
(
1
));
--
error
1064
create
table
t1
(
a
int
,
b
int
)
partition
by
range
(
a
)
subpartition
by
hash
(
a
)
(
partition
p0
values
less
than
(
0
),
partition
p1
values
less
than
(
1
)
(
subpartition
sp0
));
#
# BUG 15961 No error when subpartition defined without subpartition by clause
#
--
error
ER_SUBPARTITION_ERROR
create
table
t1
(
a
int
)
partition
by
hash
(
a
)
(
partition
p0
(
subpartition
sp0
));
#
# Bug 17127
#
create
table
t1
(
a
int
)
partition
by
range
(
a
)
(
partition
p0
values
less
than
(
1
));
--
error
ER_PARTITION_WRONG_VALUES_ERROR
alter
table
t1
add
partition
(
partition
p1
values
in
(
2
));
--
error
ER_PARTITION_REQUIRES_VALUES_ERROR
alter
table
t1
add
partition
(
partition
p1
);
drop
table
t1
;
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
1
));
--
error
ER_PARTITION_WRONG_VALUES_ERROR
alter
table
t1
add
partition
(
partition
p1
values
less
than
(
2
));
--
error
ER_PARTITION_REQUIRES_VALUES_ERROR
alter
table
t1
add
partition
(
partition
p1
);
drop
table
t1
;
create
table
t1
(
a
int
)
partition
by
hash
(
a
)
(
partition
p0
);
--
error
ER_PARTITION_WRONG_VALUES_ERROR
alter
table
t1
add
partition
(
partition
p1
values
less
than
(
2
));
--
error
ER_PARTITION_WRONG_VALUES_ERROR
alter
table
t1
add
partition
(
partition
p1
values
in
(
2
));
drop
table
t1
;
#
# BUG 17947 Crash with REBUILD PARTITION
#
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
1
));
--
error
1064
alter
table
t1
rebuild
partition
;
drop
table
t1
;
#
# Bug #14526: Partitions: indexed searches fail
#
create
table
t2
(
s1
int
not
null
auto_increment
,
primary
key
(
s1
))
partition
by
list
(
s1
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
2
),
partition
p3
values
in
(
3
),
partition
p4
values
in
(
4
));
insert
into
t2
values
(
null
),(
null
),(
null
);
select
*
from
t2
;
select
*
from
t2
where
s1
<
2
;
update
t2
set
s1
=
s1
+
1
order
by
s1
desc
;
select
*
from
t2
where
s1
<
3
;
select
*
from
t2
where
s1
=
2
;
drop
table
t2
;
#
# Bug #17497: Partitions: crash if add partition on temporary table
#
--
error
ER_PARTITION_NO_TEMPORARY
create
temporary
table
t1
(
a
int
)
partition
by
hash
(
a
);
#
# Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten
# metadata,crash
#
create
table
t1
(
a
int
,
b
int
)
partition
by
list
(
a
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
2
));
--
error
ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
alter
table
t1
add
primary
key
(
b
);
show
create
table
t1
;
drop
table
t1
;
############################################
#
# Author: Mikael Ronstrom
# Date: 2006-03-01
# Purpose
# Bug 17772: Crash at ALTER TABLE with rename
# and add column + comment on
# partitioned table
#
############################################
create
table
t1
(
a
int
unsigned
not
null
auto_increment
primary
key
)
partition
by
key
(
a
);
alter
table
t1
rename
t2
,
add
c
char
(
10
),
comment
"no comment"
;
show
create
table
t2
;
drop
table
t2
;
#
# Bug#15336 Partitions: crash if create table as select
#
create
table
t1
(
f1
int
)
partition
by
hash
(
f1
)
as
select
1
;
drop
table
t1
;
#
# bug #14350 Partitions: crash if prepared statement
#
prepare
stmt1
from
'create table t1 (s1 int) partition by hash (s1)'
;
execute
stmt1
;
--
error
1050
execute
stmt1
;
drop
table
t1
;
#
# bug 17290 SP with delete, create and rollback to save point causes MySQLD core
#
delimiter
|
;
eval
CREATE
PROCEDURE
test
.
p1
(
IN
i
INT
)
BEGIN
DECLARE
CONTINUE
HANDLER
FOR
sqlexception
BEGIN
END
;
DROP
TABLE
IF
EXISTS
t1
;
CREATE
TABLE
t1
(
num
INT
,
PRIMARY
KEY
(
num
));
START
TRANSACTION
;
INSERT
INTO
t1
VALUES
(
i
);
savepoint
t1_save
;
INSERT
INTO
t1
VALUES
(
14
);
ROLLBACK
to
savepoint
t1_save
;
COMMIT
;
END
|
delimiter
;
|
CALL
test
.
p1
(
12
);
CALL
test
.
p1
(
13
);
drop
table
t1
;
drop
procedure
test
.
p1
;
#
# Bug 13520: Problem with delimiters in COMMENT DATA DIRECTORY ..
#
CREATE
TABLE
t1
(
a
int
not
null
)
partition
by
key
(
a
)
(
partition
p0
COMMENT
=
'first partition'
);
drop
table
t1
;
#
# Bug 13433: Problem with delimited identifiers
#
CREATE
TABLE
t1
(
`a b`
int
not
null
)
partition
by
key
(
`a b`
);
drop
table
t1
;
CREATE
TABLE
t1
(
`a b`
int
not
null
)
partition
by
hash
(
`a b`
);
drop
table
t1
;
#
# Bug#18053 Partitions: crash if null
# Bug#18070 Partitions: wrong result on WHERE ... IS NULL
#
create
table
t1
(
f1
integer
)
partition
by
range
(
f1
)
(
partition
p1
values
less
than
(
0
),
partition
p2
values
less
than
(
10
));
insert
into
t1
set
f1
=
null
;
select
*
from
t1
where
f1
is
null
;
explain
partitions
select
*
from
t1
where
f1
is
null
;
drop
table
t1
;
create
table
t1
(
f1
integer
)
partition
by
list
(
f1
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
null
));
insert
into
t1
set
f1
=
null
;
insert
into
t1
set
f1
=
1
;
select
*
from
t1
where
f1
is
null
or
f1
=
1
;
drop
table
t1
;
create
table
t1
(
f1
smallint
)
partition
by
list
(
f1
)
(
partition
p0
values
in
(
null
));
insert
into
t1
values
(
null
);
select
*
from
t1
where
f1
is
null
;
select
*
from
t1
where
f1
<
1
;
select
*
from
t1
where
f1
<=
NULL
;
select
*
from
t1
where
f1
<
NULL
;
select
*
from
t1
where
f1
>=
NULL
;
select
*
from
t1
where
f1
>
NULL
;
select
*
from
t1
where
f1
>
1
;
drop
table
t1
;
create
table
t1
(
f1
smallint
)
partition
by
range
(
f1
)
(
partition
p0
values
less
than
(
0
));
insert
into
t1
values
(
null
);
select
*
from
t1
where
f1
is
null
;
drop
table
t1
;
create
table
t1
(
f1
integer
)
partition
by
list
(
f1
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
NULL
),
partition
p3
values
in
(
2
),
partition
p4
values
in
(
3
),
partition
p5
values
in
(
4
)
);
insert
into
t1
values
(
1
),(
2
),(
3
),(
4
),(
null
);
select
*
from
t1
where
f1
<
3
;
explain
partitions
select
*
from
t1
where
f1
<
3
;
select
*
from
t1
where
f1
is
null
;
explain
partitions
select
*
from
t1
where
f1
is
null
;
drop
table
t1
;
create
table
t1
(
f1
int
)
partition
by
list
(
f1
div
2
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
NULL
),
partition
p3
values
in
(
2
),
partition
p4
values
in
(
3
),
partition
p5
values
in
(
4
)
);
insert
into
t1
values
(
2
),(
4
),(
6
),(
8
),(
null
);
select
*
from
t1
where
f1
<
3
;
explain
partitions
select
*
from
t1
where
f1
<
3
;
select
*
from
t1
where
f1
is
null
;
explain
partitions
select
*
from
t1
where
f1
is
null
;
drop
table
t1
;
create
table
t1
(
a
int
)
partition
by
LIST
(
a
)
(
partition
pn
values
in
(
NULL
),
partition
p0
values
in
(
0
),
partition
p1
values
in
(
1
),
partition
p2
values
in
(
2
)
);
insert
into
t1
values
(
NULL
),(
0
),(
1
),(
2
);
select
*
from
t1
where
a
is
null
or
a
<
2
;
explain
partitions
select
*
from
t1
where
a
is
null
or
a
<
2
;
select
*
from
t1
where
a
is
null
or
a
<
0
or
a
>
1
;
explain
partitions
select
*
from
t1
where
a
is
null
or
a
<
0
or
a
>
1
;
drop
table
t1
;
#
#Bug# 17631 SHOW TABLE STATUS reports wrong engine
#
CREATE
TABLE
t1
(
id
INT
NOT
NULL
PRIMARY
KEY
,
name
VARCHAR
(
20
))
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
PARTITION
BY
RANGE
(
id
)
(
PARTITION
p0
VALUES
LESS
THAN
(
10
)
ENGINE
=
MyISAM
,
PARTITION
p1
VALUES
LESS
THAN
(
20
)
ENGINE
=
MyISAM
,
PARTITION
p2
VALUES
LESS
THAN
(
30
)
ENGINE
=
MyISAM
);
--
replace_column
6
0
7
0
8
0
9
0
12
NULL
13
NULL
14
NULL
SHOW
TABLE
STATUS
;
DROP
TABLE
t1
;
#
#BUG 16002 Erroneus handling of unsigned partition functions
#
--
error
ER_PARTITION_CONST_DOMAIN_ERROR
create
table
t1
(
a
bigint
unsigned
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
0
-
1
));
create
table
t1
(
a
bigint
unsigned
)
partition
by
range
(
a
)
(
partition
p0
values
less
than
(
10
));
--
error
ER_NO_PARTITION_FOR_GIVEN_VALUE
insert
into
t1
values
(
0xFFFFFFFFFFFFFFFF
);
drop
table
t1
;
#
#BUG 18750 Problems with partition names
#
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
`s1 s2`
values
in
(
0
));
drop
table
t1
;
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
`7`
values
in
(
0
));
drop
table
t1
;
--
error
ER_WRONG_PARTITION_NAME
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
`s1 s2 `
values
in
(
0
));
--
error
ER_WRONG_PARTITION_NAME
create
table
t1
(
a
int
)
partition
by
list
(
a
)
subpartition
by
hash
(
a
)
(
partition
p1
values
in
(
0
)
(
subpartition
`p1 p2 `
));
#
# BUG 18752 SHOW CREATE TABLE doesn't show NULL value in SHOW CREATE TABLE
#
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
LIST
(
a
)
(
PARTITION
p0
VALUES
IN
(
NULL
));
SHOW
CREATE
TABLE
t1
;
DROP
TABLE
t1
;
--
error
1064
CREATE
TABLE
t1
(
a
int
)
PARTITION
BY
RANGE
(
a
)
(
PARTITION
p0
VALUES
LESS
THAN
(
NULL
));
#
# Bug#18753 Partitions: auto_increment fails
#
create
table
t1
(
s1
int
auto_increment
primary
key
)
partition
by
list
(
s1
)
(
partition
p1
values
in
(
1
),
partition
p2
values
in
(
2
),
partition
p3
values
in
(
3
));
insert
into
t1
values
(
null
);
insert
into
t1
values
(
null
);
insert
into
t1
values
(
null
);
select
auto_increment
from
information_schema
.
tables
where
table_name
=
't1'
;
select
*
from
t1
;
drop
table
t1
;
#
# BUG 19140 Partitions: Create index for partitioned table crashes
#
create
table
t1
(
a
int
)
engine
=
memory
partition
by
key
(
a
);
insert
into
t1
values
(
1
);
create
index
inx1
on
t1
(
a
);
drop
table
t1
;
#
# Bug 19695 Partitions: SHOW CREATE TABLE shows table options even when it
# shouldn't
#
create
table
t1
(
a
int
)
PARTITION
BY
KEY
(
a
)
(
PARTITION
p0
);
set
session
sql_mode
=
'no_table_options'
;
show
create
table
t1
;
set
session
sql_mode
=
''
;
drop
table
t1
;
#
# BUG 19304 Partitions: MERGE handler not allowed in partitioned tables
#
--
error
ER_PARTITION_MERGE_ERROR
create
table
t1
(
a
int
)
partition
by
key
(
a
)
(
partition
p0
engine
=
MERGE
);
#
# BUG 19062 Partition clause ignored if CREATE TABLE ... AS SELECT ...;
#
create
table
t1
(
a
varchar
(
1
))
partition
by
key
(
a
)
as
select
'a'
;
show
create
table
t1
;
drop
table
t1
;
#
# BUG 19501 Partitions: SHOW TABLE STATUS shows wrong Data_free
#
CREATE
TABLE
t1
(
a
int
)
ENGINE
=
MYISAM
PARTITION
BY
KEY
(
a
);
INSERT
into
t1
values
(
1
),
(
2
);
--
replace_column
9
0
12
NULL
13
NULL
14
NULL
SHOW
TABLE
STATUS
;
DELETE
from
t1
where
a
=
1
;
--
replace_column
9
0
12
NULL
13
NULL
14
NULL
SHOW
TABLE
STATUS
;
ALTER
TABLE
t1
OPTIMIZE
PARTITION
p0
;
--
replace_column
12
NULL
13
NULL
14
NULL
SHOW
TABLE
STATUS
;
DROP
TABLE
t1
;
#
# BUG 19502: ENABLE/DISABLE Keys don't work for partitioned tables
#
CREATE
TABLE
t1
(
a
int
,
index
(
a
))
PARTITION
BY
KEY
(
a
);
ALTER
TABLE
t1
DISABLE
KEYS
;
ALTER
TABLE
t1
ENABLE
KEYS
;
DROP
TABLE
t1
;
#
# Bug 17455 Partitions: Wrong message and error when using Repair/Optimize
# table on partitioned table
#
create
table
t1
(
a
int
)
engine
=
MEMORY
partition
by
key
(
a
);
REPAIR
TABLE
t1
;
OPTIMIZE
TABLE
t1
;
drop
table
t1
;
#
# Bug 17310 Partitions: Bugs with archived partitioned tables
#
create
database
db99
;
use
db99
;
create
table
t1
(
a
int
not
null
)
engine
=
archive
partition
by
list
(
a
)
(
partition
p0
values
in
(
1
),
partition
p1
values
in
(
2
));
insert
into
t1
values
(
1
),
(
2
);
--
error
0
,
1005
create
index
inx
on
t1
(
a
);
alter
table
t1
add
partition
(
partition
p2
values
in
(
3
));
alter
table
t1
drop
partition
p2
;
use
test
;
drop
database
db99
;
#
#BUG 17138 Problem with stored procedure and analyze partition
#
--
disable_warnings
drop
procedure
if
exists
mysqltest_1
;
--
enable_warnings
create
table
t1
(
a
int
)
partition
by
list
(
a
)
(
partition
p0
values
in
(
0
));
insert
into
t1
values
(
0
);
delimiter
//;
create
procedure
mysqltest_1
()
begin
begin
declare
continue
handler
for
sqlexception
begin
end
;
update
ignore
t1
set
a
=
1
where
a
=
0
;
end
;
prepare
stmt1
from
'alter table t1'
;
execute
stmt1
;
end
//
call
mysqltest_1
()
//
delimiter
;
//
drop
table
t1
;
drop
procedure
mysqltest_1
;
#
# Bug 20583 Partitions: Crash using index_last
#
create
table
t1
(
a
int
,
index
(
a
))
partition
by
hash
(
a
);
insert
into
t1
values
(
1
),(
2
);
select
*
from
t1
ORDER
BY
a
DESC
;
drop
table
t1
;
#
# Bug 21388: Bigint fails to find record
#
create
table
t1
(
a
bigint
unsigned
not
null
,
primary
key
(
a
))
engine
=
myisam
partition
by
key
(
a
)
partitions
10
;
show
create
table
t1
;
insert
into
t1
values
(
18446744073709551615
),
(
0xFFFFFFFFFFFFFFFE
),
(
18446744073709551613
),
(
18446744073709551612
);
select
*
from
t1
;
select
*
from
t1
where
a
=
18446744073709551615
;
delete
from
t1
where
a
=
18446744073709551615
;
select
*
from
t1
;
drop
table
t1
;
#
# Bug 24502 reorganize partition closes connection
#
CREATE
TABLE
t1
(
num
int
(
11
)
NOT
NULL
,
cs
int
(
11
)
NOT
NULL
)
PARTITION
BY
RANGE
(
num
)
SUBPARTITION
BY
HASH
(
cs
)
SUBPARTITIONS
2
(
PARTITION
p_X
VALUES
LESS
THAN
MAXVALUE
);
ALTER
TABLE
t1
REORGANIZE
PARTITION
p_X
INTO
(
PARTITION
p_100
VALUES
LESS
THAN
(
100
),
PARTITION
p_X
VALUES
LESS
THAN
MAXVALUE
);
drop
table
t1
;
#
# Bug #24186 (nested query across partitions returns fewer records)
#
CREATE
TABLE
t2
(
taken
datetime
NOT
NULL
DEFAULT
'0000-00-00 00:00:00'
,
id
int
(
11
)
NOT
NULL
DEFAULT
'0'
,
PRIMARY
KEY
(
id
,
taken
),
KEY
taken
(
taken
)
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
;
INSERT
INTO
t2
VALUES
(
'2006-09-27 21:50:01'
,
16421
),
(
'2006-10-02 21:50:01'
,
16421
),
(
'2006-09-27 21:50:01'
,
19092
),
(
'2006-09-28 21:50:01'
,
19092
),
(
'2006-09-29 21:50:01'
,
19092
),
(
'2006-09-30 21:50:01'
,
19092
),
(
'2006-10-01 21:50:01'
,
19092
),
(
'2006-10-02 21:50:01'
,
19092
),
(
'2006-09-27 21:50:01'
,
22589
),
(
'2006-09-29 21:50:01'
,
22589
);
CREATE
TABLE
t1
(
id
int
(
8
)
NOT
NULL
,
PRIMARY
KEY
(
id
)
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
;
INSERT
INTO
t1
VALUES
(
16421
),
(
19092
),
(
22589
);
CREATE
TABLE
t4
(
taken
datetime
NOT
NULL
DEFAULT
'0000-00-00 00:00:00'
,
id
int
(
11
)
NOT
NULL
DEFAULT
'0'
,
PRIMARY
KEY
(
id
,
taken
),
KEY
taken
(
taken
)
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
PARTITION
BY
RANGE
(
to_days
(
taken
))
(
PARTITION
p01
VALUES
LESS
THAN
(
732920
)
,
PARTITION
p02
VALUES
LESS
THAN
(
732950
)
,
PARTITION
p03
VALUES
LESS
THAN
MAXVALUE
)
;
INSERT
INTO
t4
select
*
from
t2
;
set
@
f_date
=
'2006-09-28'
;
set
@
t_date
=
'2006-10-02'
;
SELECT
t1
.
id
AS
MyISAM_part
FROM
t1
WHERE
t1
.
id
IN
(
SELECT
distinct
id
FROM
t4
WHERE
taken
BETWEEN
@
f_date
AND
date_add
(
@
t_date
,
INTERVAL
1
DAY
))
ORDER
BY
t1
.
id
;
drop
table
t1
,
t2
,
t4
;
CREATE
TABLE
t1
(
taken
datetime
NOT
NULL
DEFAULT
'0000-00-00 00:00:00'
,
id
int
(
11
)
NOT
NULL
DEFAULT
'0'
,
status
varchar
(
20
)
NOT
NULL
DEFAULT
''
,
PRIMARY
KEY
(
id
,
taken
)
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
PARTITION
BY
RANGE
(
to_days
(
taken
))
(
PARTITION
p15
VALUES
LESS
THAN
(
732950
)
,
PARTITION
p16
VALUES
LESS
THAN
MAXVALUE
)
;
INSERT
INTO
t1
VALUES
(
'2006-09-27 21:50:01'
,
22589
,
'Open'
),
(
'2006-09-29 21:50:01'
,
22589
,
'Verified'
);
DROP
TABLE
IF
EXISTS
t2
;
CREATE
TABLE
t2
(
id
int
(
8
)
NOT
NULL
,
severity
tinyint
(
4
)
NOT
NULL
DEFAULT
'0'
,
priority
tinyint
(
4
)
NOT
NULL
DEFAULT
'0'
,
status
varchar
(
20
)
DEFAULT
NULL
,
alien
tinyint
(
4
)
NOT
NULL
)
ENGINE
=
MyISAM
DEFAULT
CHARSET
=
latin1
;
INSERT
INTO
t2
VALUES
(
22589
,
1
,
1
,
'Need Feedback'
,
0
);
SELECT
t2
.
id
FROM
t2
WHERE
t2
.
id
IN
(
SELECT
id
FROM
t1
WHERE
status
=
'Verified'
);
drop
table
t1
,
t2
;
--
echo
End
of
5.1
tests
scripts/CMakeLists.txt
View file @
b2bf1935
...
@@ -13,11 +13,20 @@
...
@@ -13,11 +13,20 @@
# along with this program; if not, write to the Free Software
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# Build mysql_fix_privilege_tables.sql
ADD_CUSTOM_COMMAND
(
OUTPUT
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables.sql
COMMAND copy /b
mysql_system_tables.sql + mysql_system_tables_fix.sql
mysql_fix_privilege_tables.sql
DEPENDS
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_system_tables.sql
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_system_tables_fix.sql
)
# Build comp_sql - used for embedding SQL in C or C++ programs
ADD_EXECUTABLE
(
comp_sql comp_sql.c
)
ADD_EXECUTABLE
(
comp_sql comp_sql.c
)
TARGET_LINK_LIBRARIES
(
comp_sql dbug mysys strings
)
TARGET_LINK_LIBRARIES
(
comp_sql dbug mysys strings
)
#
Build comp_sql - used for embedding SQL in C or C++ programs
#
Use comp_sql to build mysql_fix_privilege_tables_sql.c
GET_TARGET_PROPERTY
(
COMP_SQL_EXE comp_sql LOCATION
)
GET_TARGET_PROPERTY
(
COMP_SQL_EXE comp_sql LOCATION
)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables_sql.c
ADD_CUSTOM_COMMAND
(
OUTPUT
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables_sql.c
...
@@ -27,6 +36,7 @@ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tabl
...
@@ -27,6 +36,7 @@ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_SOURCE_DIR}/scripts/mysql_fix_privilege_tabl
mysql_fix_privilege_tables_sql.c
mysql_fix_privilege_tables_sql.c
DEPENDS comp_sql
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables.sql
)
DEPENDS comp_sql
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables.sql
)
# Add dummy target for the above to be built
ADD_CUSTOM_TARGET
(
GenFixPrivs
ADD_CUSTOM_TARGET
(
GenFixPrivs
ALL
ALL
DEPENDS
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables_sql.c
)
DEPENDS
${
PROJECT_SOURCE_DIR
}
/scripts/mysql_fix_privilege_tables_sql.c
)
sql/log_event_old.cc
View file @
b2bf1935
...
@@ -84,8 +84,8 @@ int Update_rows_log_event_old::do_prepare_row(THD *thd,
...
@@ -84,8 +84,8 @@ int Update_rows_log_event_old::do_prepare_row(THD *thd,
row_start
,
&
m_cols
,
row_end
,
&
m_master_reclength
,
row_start
,
&
m_cols
,
row_end
,
&
m_master_reclength
,
table
->
write_set
,
PRE_GA_UPDATE_ROWS_EVENT
);
table
->
write_set
,
PRE_GA_UPDATE_ROWS_EVENT
);
DBUG_DUMP
(
"record[0]"
,
table
->
record
[
0
],
table
->
s
->
reclength
);
DBUG_DUMP
(
"record[0]"
,
(
const
char
*
)
table
->
record
[
0
],
table
->
s
->
reclength
);
DBUG_DUMP
(
"m_after_image"
,
m_after_image
,
table
->
s
->
reclength
);
DBUG_DUMP
(
"m_after_image"
,
(
const
char
*
)
m_after_image
,
table
->
s
->
reclength
);
/*
/*
...
...
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