Removed GLOBAL INDEX syntax, need to develop GLOBAL indexes before adding syntax for it

This commit is contained in:
Mikael Ronstrom 2009-10-16 17:41:15 +02:00
parent 05d7593fe3
commit d52305530c
8 changed files with 7 additions and 40 deletions

View File

@ -24,8 +24,8 @@ data directory='/not/existing'
index directory='/not/existing' index directory='/not/existing'
); );
Warnings: Warnings:
Warning 1618 <DATA DIRECTORY> option ignored Warning 1619 <DATA DIRECTORY> option ignored
Warning 1618 <INDEX DIRECTORY> option ignored Warning 1619 <INDEX DIRECTORY> option ignored
show create table t2; show create table t2;
Table Create Table Table Create Table
t2 CREATE TABLE `t2` ( t2 CREATE TABLE `t2` (

View File

@ -84,11 +84,6 @@ create table t1 (a int, b char(20))
partition by range(a) partition by range(a)
(partition p0 values less than (column_list(1,"b"))); (partition p0 values less than (column_list(1,"b")));
ERROR HY000: Inconsistency in usage of column lists for partitioning ERROR HY000: Inconsistency in usage of column lists for partitioning
create table t1 (a int, b char(20));
create global index inx on t1 (a,b)
partition by range (a)
(partition p0 values less than (1));
drop table t1;
create table t1 (a int, b char(20)) create table t1 (a int, b char(20))
partition by range column_list(b) partition by range column_list(b)
(partition p0 values less than (column_list("b"))); (partition p0 values less than (column_list("b")));

View File

@ -101,8 +101,8 @@ data directory='/not/existing'
index directory='/not/existing' index directory='/not/existing'
); );
Warnings: Warnings:
Warning 1618 <DATA DIRECTORY> option ignored Warning 1619 <DATA DIRECTORY> option ignored
Warning 1618 <INDEX DIRECTORY> option ignored Warning 1619 <INDEX DIRECTORY> option ignored
show create table t2; show create table t2;
Table Create Table Table Create Table
t2 CREATE TABLE `t2` ( t2 CREATE TABLE `t2` (

View File

@ -74,12 +74,6 @@ create table t1 (a int, b char(20))
partition by range(a) partition by range(a)
(partition p0 values less than (column_list(1,"b"))); (partition p0 values less than (column_list(1,"b")));
create table t1 (a int, b char(20));
create global index inx on t1 (a,b)
partition by range (a)
(partition p0 values less than (1));
drop table t1;
create table t1 (a int, b char(20)) create table t1 (a int, b char(20))
partition by range column_list(b) partition by range column_list(b)
(partition p0 values less than (column_list("b"))); (partition p0 values less than (column_list("b")));

View File

@ -6182,8 +6182,6 @@ ER_TOO_LONG_FIELD_COMMENT
ER_FUNC_INEXISTENT_NAME_COLLISION 42000 ER_FUNC_INEXISTENT_NAME_COLLISION 42000
eng "FUNCTION %s does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual" eng "FUNCTION %s does not exist. Check the 'Function Name Parsing and Resolution' section in the Reference Manual"
ER_GLOBAL_PARTITION_INDEX_ERROR
eng "Partitioning of indexes only supported for global indexes"
ER_PARTITION_COLUMN_LIST_ERROR ER_PARTITION_COLUMN_LIST_ERROR
eng "Inconsistency in usage of column lists for partitioning" eng "Inconsistency in usage of column lists for partitioning"
ER_WRONG_TYPE_COLUMN_VALUE_ERROR ER_WRONG_TYPE_COLUMN_VALUE_ERROR

View File

@ -323,7 +323,6 @@ void lex_start(THD *thd)
lex->select_lex.select_number= 1; lex->select_lex.select_number= 1;
lex->length=0; lex->length=0;
lex->part_info= 0; lex->part_info= 0;
lex->global_flag= 0;
lex->select_lex.in_sum_expr=0; lex->select_lex.in_sum_expr=0;
lex->select_lex.ftfunc_list_alloc.empty(); lex->select_lex.ftfunc_list_alloc.empty();
lex->select_lex.ftfunc_list= &lex->select_lex.ftfunc_list_alloc; lex->select_lex.ftfunc_list= &lex->select_lex.ftfunc_list_alloc;

View File

@ -1565,9 +1565,6 @@ typedef struct st_lex : public Query_tables_list
/* Partition info structure filled in by PARTITION BY parse part */ /* Partition info structure filled in by PARTITION BY parse part */
partition_info *part_info; partition_info *part_info;
/* Flag to index a global index created */
bool global_flag;
/* /*
The definer of the object being created (view, trigger, stored routine). The definer of the object being created (view, trigger, stored routine).
I.e. the value of DEFINER clause. I.e. the value of DEFINER clause.

View File

@ -1157,7 +1157,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
opt_natural_language_mode opt_query_expansion opt_natural_language_mode opt_query_expansion
opt_ev_status opt_ev_on_completion ev_on_completion opt_ev_comment opt_ev_status opt_ev_on_completion ev_on_completion opt_ev_comment
ev_alter_on_schedule_completion opt_ev_rename_to opt_ev_sql_stmt ev_alter_on_schedule_completion opt_ev_rename_to opt_ev_sql_stmt
opt_global
%type <ulong_num> %type <ulong_num>
ulong_num real_ulong_num merge_insert_types ulong_num real_ulong_num merge_insert_types
@ -1695,12 +1694,12 @@ create:
$5->table.str); $5->table.str);
} }
} }
| CREATE opt_global opt_unique_or_fulltext INDEX_SYM ident key_alg ON | CREATE opt_unique_or_fulltext INDEX_SYM ident key_alg ON
table_ident table_ident
{ {
LEX *lex=Lex; LEX *lex=Lex;
lex->sql_command= SQLCOM_CREATE_INDEX; lex->sql_command= SQLCOM_CREATE_INDEX;
if (!lex->current_select->add_table_to_list(lex->thd, $8, if (!lex->current_select->add_table_to_list(lex->thd, $7,
NULL, NULL,
TL_OPTION_UPDATING)) TL_OPTION_UPDATING))
MYSQL_YYABORT; MYSQL_YYABORT;
@ -1708,7 +1707,6 @@ create:
lex->alter_info.flags= ALTER_ADD_INDEX; lex->alter_info.flags= ALTER_ADD_INDEX;
lex->col_list.empty(); lex->col_list.empty();
lex->change=NullS; lex->change=NullS;
lex->global_flag= $2;
} }
'(' key_list ')' key_options '(' key_list ')' key_options
{ {
@ -1719,22 +1717,13 @@ create:
my_parse_error(ER(ER_SYNTAX_ERROR)); my_parse_error(ER(ER_SYNTAX_ERROR));
MYSQL_YYABORT; MYSQL_YYABORT;
} }
key= new Key($3, $5.str, &lex->key_create_info, 0, key= new Key($2, $4.str, &lex->key_create_info, 0,
lex->col_list); lex->col_list);
if (key == NULL) if (key == NULL)
MYSQL_YYABORT; MYSQL_YYABORT;
lex->alter_info.key_list.push_back(key); lex->alter_info.key_list.push_back(key);
lex->col_list.empty(); lex->col_list.empty();
} }
opt_partitioning
{
LEX *lex= Lex;
if (!lex->global_flag && lex->part_info)
{
my_error(ER_GLOBAL_PARTITION_INDEX_ERROR, MYF(0));
YYABORT;
}
}
| CREATE DATABASE opt_if_not_exists ident | CREATE DATABASE opt_if_not_exists ident
{ {
Lex->create_info.default_table_charset= NULL; Lex->create_info.default_table_charset= NULL;
@ -4454,11 +4443,6 @@ opt_part_option:
{ Lex->part_info->curr_part_elem->part_comment= $3.str; } { Lex->part_info->curr_part_elem->part_comment= $3.str; }
; ;
opt_global:
/* empty */ { $$= FALSE;}
| GLOBAL_SYM { $$= TRUE; }
;
/* /*
End of partition parser part End of partition parser part
*/ */