summaryrefslogtreecommitdiff
path: root/sql/sql_yacc.yy
diff options
context:
space:
mode:
authorunknown <serg@infomag.ape.relarn.ru>2000-08-28 17:43:58 +0400
committerunknown <serg@infomag.ape.relarn.ru>2000-08-28 17:43:58 +0400
commitca04c0eca770ebc50bb336f3ec3d66eb2fe46b58 (patch)
tree485c3b99b43fae8c2b58b7a5ab72b383265423d2 /sql/sql_yacc.yy
parentfe26eac2198e79de6e23c17c5033a5c7bc8e1d41 (diff)
downloadmariadb-git-ca04c0eca770ebc50bb336f3ec3d66eb2fe46b58.tar.gz
ft_optimization: identical queries merging. collection -> fulltext. Bugs fixed.
**************** !!! NOTE EVERYBODY: SYNTAX CHANGED !!! ******************** There's no COLLECTIONs now, full-text indexes can be created via the word FULLTEXT, which should be used like UNIQUE. myisam/mi_check.c: comments added sql/lex.h: COLLECTION -> FULLTEXT sql/item_func.h: ft-optimization: identical queries merging sql/sql_select.cc: ft-optimization sql/item_func.cc: ft-optimization: identical queries merging sql/sql_base.cc: ft_optimization: identical queries merging sql/sql_yacc.yy: COLLECTION -> FULLTEXT myisam/ft_search.c: info->lastpot dealing Docs/manual.texi: COLLECTION -> FULLTEXT
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r--sql/sql_yacc.yy28
1 files changed, 7 insertions, 21 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index b39299a54e6..a79531535c7 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -137,7 +137,6 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token CHANGED_FILES
%token CHECKSUM_SYM
%token CHECK_SYM
-%token COLLECTION
%token COLUMNS
%token COLUMN_SYM
%token CONSTRAINT
@@ -162,6 +161,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
%token FOREIGN
%token FROM
%token FULL
+%token FULLTEXT_SYM
%token GRANT
%token GRANTS
%token GREATEST_SYM
@@ -457,7 +457,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
expr_list udf_expr_list when_list ident_list
%type <key_type>
- key_type opt_unique
+ key_type opt_unique_or_fulltext
%type <string_list>
key_usage_list
@@ -628,7 +628,7 @@ create:
}
create2
- | CREATE opt_unique INDEX ident ON table_ident
+ | CREATE opt_unique_or_fulltext INDEX ident ON table_ident
{
Lex->sql_command= SQLCOM_CREATE_INDEX;
if (!add_table_to_list($6,NULL))
@@ -643,21 +643,6 @@ create:
Lex->key_list.push_back(new Key($2,$4.str,Lex->col_list));
Lex->col_list.empty();
}
- | CREATE COLLECTION ident ON table_ident
- {
- Lex->sql_command= SQLCOM_CREATE_INDEX;
- if (!add_table_to_list($5,NULL))
- YYABORT;
- Lex->create_list.empty();
- Lex->key_list.empty();
- Lex->col_list.empty();
- Lex->change=NullS;
- }
- '(' key_list ')'
- {
- Lex->key_list.push_back(new Key(Key::FULLTEXT,$3.str,Lex->col_list));
- Lex->col_list.empty();
- }
| CREATE DATABASE opt_if_not_exists ident
{
Lex->sql_command=SQLCOM_CREATE_DB;
@@ -964,7 +949,8 @@ delete_option:
key_type:
opt_constraint PRIMARY_SYM KEY_SYM { $$= Key::PRIMARY; }
| key_or_index { $$= Key::MULTIPLE; }
- | COLLECTION { $$= Key::FULLTEXT; }
+ | FULLTEXT_SYM { $$= Key::FULLTEXT; }
+ | FULLTEXT_SYM key_or_index { $$= Key::FULLTEXT; }
| opt_constraint UNIQUE_SYM { $$= Key::UNIQUE; }
| opt_constraint UNIQUE_SYM key_or_index { $$= Key::UNIQUE; }
@@ -976,9 +962,10 @@ keys_or_index:
KEYS {}
| INDEX {}
-opt_unique:
+opt_unique_or_fulltext:
/* empty */ { $$= Key::MULTIPLE; }
| UNIQUE_SYM { $$= Key::UNIQUE; }
+ | FULLTEXT_SYM { $$= Key::FULLTEXT; }
key_list:
key_list ',' key_part order_dir { Lex->col_list.push_back($3); }
@@ -2443,7 +2430,6 @@ keyword:
| WORK_SYM {}
| YEAR_SYM {}
| SLAVE {}
- | COLLECTION {}
/* Option functions */