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
a4d350e5
Commit
a4d350e5
authored
Oct 26, 2006
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merge 192.168.0.4:mysql/my51-m-bug18888
into neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
parents
da2a6911
631c82d2
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
124 additions
and
5 deletions
+124
-5
mysql-test/r/not_partition.require
mysql-test/r/not_partition.require
+2
-0
mysql-test/r/not_partition.result
mysql-test/r/not_partition.result
+48
-0
mysql-test/t/not_partition.test
mysql-test/t/not_partition.test
+62
-0
sql/lex.h
sql/lex.h
+4
-2
sql/sql_class.cc
sql/sql_class.cc
+0
-2
sql/sql_select.cc
sql/sql_select.cc
+1
-1
sql/sql_yacc.yy
sql/sql_yacc.yy
+7
-0
No files found.
mysql-test/r/not_partition.require
0 → 100644
View file @
a4d350e5
Variable_name Value
have_partitioning NO
mysql-test/r/not_partition.result
0 → 100644
View file @
a4d350e5
CREATE TABLE t1 (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY KEY(joined)
PARTITIONS 6;
ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
ALTER TABLE t1 PARTITION BY KEY(joined) PARTITIONS 2;
ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
drop table t1;
ERROR 42S02: Unknown table 't1'
CREATE TABLE t1 (
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
username VARCHAR(16) NOT NULL,
email VARCHAR(35),
joined DATE NOT NULL
)
PARTITION BY RANGE( YEAR(joined) ) (
PARTITION p0 VALUES LESS THAN (1960),
PARTITION p1 VALUES LESS THAN (1970),
PARTITION p2 VALUES LESS THAN (1980),
PARTITION p3 VALUES LESS THAN (1990),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
drop table t1;
ERROR 42S02: Unknown table 't1'
CREATE TABLE t1 (id INT, purchased DATE)
PARTITION BY RANGE( YEAR(purchased) )
SUBPARTITION BY HASH( TO_DAYS(purchased) )
SUBPARTITIONS 2 (
PARTITION p0 VALUES LESS THAN (1990),
PARTITION p1 VALUES LESS THAN (2000),
PARTITION p2 VALUES LESS THAN MAXVALUE
);
ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-partition' to have it working
drop table t1;
ERROR 42S02: Unknown table 't1'
create table t1 (a varchar(10) charset latin1 collate latin1_bin);
insert into t1 values (''),(' '),('a'),('a '),('a ');
explain partitions select * from t1 where a='a ' OR a='a';
id select_type table partitions type possible_keys key key_len ref rows Extra
1 SIMPLE t1 NULL ALL NULL NULL NULL NULL 5 Using where
drop table t1;
mysql-test/t/not_partition.test
0 → 100644
View file @
a4d350e5
--
disable_abort_on_error
# Run this tets only when mysqld don't has partitioning
# the statements are not expected to work, just check that we
# can't crash the server
--
require
r
/
not_partition
.
require
disable_query_log
;
show
variables
like
"have_partitioning"
;
enable_query_log
;
--
error
ER_FEATURE_DISABLED
CREATE
TABLE
t1
(
firstname
VARCHAR
(
25
)
NOT
NULL
,
lastname
VARCHAR
(
25
)
NOT
NULL
,
username
VARCHAR
(
16
)
NOT
NULL
,
email
VARCHAR
(
35
),
joined
DATE
NOT
NULL
)
PARTITION
BY
KEY
(
joined
)
PARTITIONS
6
;
--
error
ER_FEATURE_DISABLED
ALTER
TABLE
t1
PARTITION
BY
KEY
(
joined
)
PARTITIONS
2
;
--
error
ER_BAD_TABLE_ERROR
drop
table
t1
;
--
error
ER_FEATURE_DISABLED
CREATE
TABLE
t1
(
firstname
VARCHAR
(
25
)
NOT
NULL
,
lastname
VARCHAR
(
25
)
NOT
NULL
,
username
VARCHAR
(
16
)
NOT
NULL
,
email
VARCHAR
(
35
),
joined
DATE
NOT
NULL
)
PARTITION
BY
RANGE
(
YEAR
(
joined
)
)
(
PARTITION
p0
VALUES
LESS
THAN
(
1960
),
PARTITION
p1
VALUES
LESS
THAN
(
1970
),
PARTITION
p2
VALUES
LESS
THAN
(
1980
),
PARTITION
p3
VALUES
LESS
THAN
(
1990
),
PARTITION
p4
VALUES
LESS
THAN
MAXVALUE
);
--
error
ER_BAD_TABLE_ERROR
drop
table
t1
;
--
error
ER_FEATURE_DISABLED
CREATE
TABLE
t1
(
id
INT
,
purchased
DATE
)
PARTITION
BY
RANGE
(
YEAR
(
purchased
)
)
SUBPARTITION
BY
HASH
(
TO_DAYS
(
purchased
)
)
SUBPARTITIONS
2
(
PARTITION
p0
VALUES
LESS
THAN
(
1990
),
PARTITION
p1
VALUES
LESS
THAN
(
2000
),
PARTITION
p2
VALUES
LESS
THAN
MAXVALUE
);
--
error
ER_BAD_TABLE_ERROR
drop
table
t1
;
# Create a table without partitions to test "EXPLAIN PARTITIONS"
create
table
t1
(
a
varchar
(
10
)
charset
latin1
collate
latin1_bin
);
insert
into
t1
values
(
''
),(
' '
),(
'a'
),(
'a '
),(
'a '
);
explain
partitions
select
*
from
t1
where
a
=
'a '
OR
a
=
'a'
;
drop
table
t1
;
sql/lex.h
View file @
a4d350e5
...
@@ -45,6 +45,10 @@ SYM_GROUP sym_group_rtree= {"RTree keys", "HAVE_RTREE_KEYS"};
...
@@ -45,6 +45,10 @@ SYM_GROUP sym_group_rtree= {"RTree keys", "HAVE_RTREE_KEYS"};
Symbols are broken into separated arrays to allow field names with
Symbols are broken into separated arrays to allow field names with
same name as functions.
same name as functions.
These are kept sorted for human lookup (the symbols are hashed).
These are kept sorted for human lookup (the symbols are hashed).
NOTE! The symbol tables should be the same regardless of what features
are compiled into the server. Don't add ifdef'ed symbols to the
lists
*/
*/
static
SYMBOL
symbols
[]
=
{
static
SYMBOL
symbols
[]
=
{
...
@@ -383,11 +387,9 @@ static SYMBOL symbols[] = {
...
@@ -383,11 +387,9 @@ static SYMBOL symbols[] = {
{
"PACK_KEYS"
,
SYM
(
PACK_KEYS_SYM
)},
{
"PACK_KEYS"
,
SYM
(
PACK_KEYS_SYM
)},
{
"PARSER"
,
SYM
(
PARSER_SYM
)},
{
"PARSER"
,
SYM
(
PARSER_SYM
)},
{
"PARTIAL"
,
SYM
(
PARTIAL
)},
{
"PARTIAL"
,
SYM
(
PARTIAL
)},
#ifdef WITH_PARTITION_STORAGE_ENGINE
{
"PARTITION"
,
SYM
(
PARTITION_SYM
)},
{
"PARTITION"
,
SYM
(
PARTITION_SYM
)},
{
"PARTITIONING"
,
SYM
(
PARTITIONING_SYM
)},
{
"PARTITIONING"
,
SYM
(
PARTITIONING_SYM
)},
{
"PARTITIONS"
,
SYM
(
PARTITIONS_SYM
)},
{
"PARTITIONS"
,
SYM
(
PARTITIONS_SYM
)},
#endif
{
"PASSWORD"
,
SYM
(
PASSWORD
)},
{
"PASSWORD"
,
SYM
(
PASSWORD
)},
{
"PHASE"
,
SYM
(
PHASE_SYM
)},
{
"PHASE"
,
SYM
(
PHASE_SYM
)},
{
"PLUGIN"
,
SYM
(
PLUGIN_SYM
)},
{
"PLUGIN"
,
SYM
(
PLUGIN_SYM
)},
...
...
sql/sql_class.cc
View file @
a4d350e5
...
@@ -859,7 +859,6 @@ int THD::send_explain_fields(select_result *result)
...
@@ -859,7 +859,6 @@ int THD::send_explain_fields(select_result *result)
field_list
.
push_back
(
new
Item_empty_string
(
"select_type"
,
19
,
cs
));
field_list
.
push_back
(
new
Item_empty_string
(
"select_type"
,
19
,
cs
));
field_list
.
push_back
(
item
=
new
Item_empty_string
(
"table"
,
NAME_LEN
,
cs
));
field_list
.
push_back
(
item
=
new
Item_empty_string
(
"table"
,
NAME_LEN
,
cs
));
item
->
maybe_null
=
1
;
item
->
maybe_null
=
1
;
#ifdef WITH_PARTITION_STORAGE_ENGINE
if
(
lex
->
describe
&
DESCRIBE_PARTITIONS
)
if
(
lex
->
describe
&
DESCRIBE_PARTITIONS
)
{
{
/* Maximum length of string that make_used_partitions_str() can produce */
/* Maximum length of string that make_used_partitions_str() can produce */
...
@@ -868,7 +867,6 @@ int THD::send_explain_fields(select_result *result)
...
@@ -868,7 +867,6 @@ int THD::send_explain_fields(select_result *result)
field_list
.
push_back
(
item
);
field_list
.
push_back
(
item
);
item
->
maybe_null
=
1
;
item
->
maybe_null
=
1
;
}
}
#endif
field_list
.
push_back
(
item
=
new
Item_empty_string
(
"type"
,
10
,
cs
));
field_list
.
push_back
(
item
=
new
Item_empty_string
(
"type"
,
10
,
cs
));
item
->
maybe_null
=
1
;
item
->
maybe_null
=
1
;
field_list
.
push_back
(
item
=
new
Item_empty_string
(
"possible_keys"
,
field_list
.
push_back
(
item
=
new
Item_empty_string
(
"possible_keys"
,
...
...
sql/sql_select.cc
View file @
a4d350e5
...
@@ -2200,7 +2200,7 @@ make_join_statistics(JOIN *join, TABLE_LIST *tables, COND *conds,
...
@@ -2200,7 +2200,7 @@ make_join_statistics(JOIN *join, TABLE_LIST *tables, COND *conds,
continue
;
continue
;
}
}
#ifdef WITH_PARTITION_STORAGE_ENGINE
#ifdef WITH_PARTITION_STORAGE_ENGINE
bool
no_partitions_used
=
table
->
no_partitions_used
;
const
bool
no_partitions_used
=
table
->
no_partitions_used
;
#else
#else
const
bool
no_partitions_used
=
FALSE
;
const
bool
no_partitions_used
=
FALSE
;
#endif
#endif
...
...
sql/sql_yacc.yy
View file @
a4d350e5
...
@@ -3225,6 +3225,7 @@ opt_partitioning:
...
@@ -3225,6 +3225,7 @@ opt_partitioning:
partitioning:
partitioning:
PARTITION_SYM
PARTITION_SYM
{
{
#ifdef WITH_PARTITION_STORAGE_ENGINE
LEX *lex= Lex;
LEX *lex= Lex;
lex->part_info= new partition_info();
lex->part_info= new partition_info();
if (!lex->part_info)
if (!lex->part_info)
...
@@ -3236,6 +3237,12 @@ partitioning:
...
@@ -3236,6 +3237,12 @@ partitioning:
{
{
lex->alter_info.flags|= ALTER_PARTITION;
lex->alter_info.flags|= ALTER_PARTITION;
}
}
#else
my_error(ER_FEATURE_DISABLED, MYF(0),
"partitioning", "--with-partition");
YYABORT;
#endif
}
}
partition
partition
;
;
...
...
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