summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <serg@infomag.ape.relarn.ru>2000-08-21 15:54:41 +0400
committerunknown <serg@infomag.ape.relarn.ru>2000-08-21 15:54:41 +0400
commitd36c774f394e207d557126bfca276d480da56261 (patch)
treeb690cf10c553439f57075085f9f867fa0031bc43
parent90bc6094eed4bde988bad568ac48bd686a127639 (diff)
parent44170cb9824a21955de756a9c9a5d116448c235c (diff)
downloadmariadb-git-d36c774f394e207d557126bfca276d480da56261.tar.gz
Merge
sql/sql_yacc.yy: Auto merged sql/sql_parse.cc: merged
-rw-r--r--sql/item_func.h3
-rw-r--r--sql/sql_parse.cc80
-rw-r--r--sql/sql_yacc.yy71
3 files changed, 77 insertions, 77 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 0e99673ead2..efee77c7be2 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -829,7 +829,7 @@ public:
};
-/* SerG: for fulltext search */
+/* for fulltext search */
#include <ft_global.h>
class Item_func_match :public Item_real_func
@@ -855,4 +855,3 @@ public:
double val();
longlong val_int() { return val()!=0.0; }
};
-
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index de50855b9de..a3c3223e116 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -1,15 +1,15 @@
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
@@ -172,7 +172,7 @@ check_connections(THD *thd)
if (!thd->host) // If TCP/IP connection
{
char ip[17];
-
+
if (vio_peer_addr(net->vio,ip))
return (ER_BAD_HOST_ERROR);
if (!(thd->ip = my_strdup(ip,MYF(0))))
@@ -182,7 +182,7 @@ check_connections(THD *thd)
if (!strcmp(thd->ip,"127.0.0.1"))
{
if (!(thd->host=my_strdup("localhost",MYF(0))))
- return (ER_OUT_OF_RESOURCES);
+ return (ER_OUT_OF_RESOURCES);
}
else
#endif
@@ -499,7 +499,7 @@ int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
table_list->lock_type = TL_READ_NO_INSERT;
table_list->next = 0;
remove_escape(table_list->real_name);
-
+
if(!(table=open_ltable(thd, table_list, TL_READ_NO_INSERT)))
DBUG_RETURN(1);
@@ -519,12 +519,12 @@ int mysql_table_dump(THD* thd, char* db, char* tbl_name, int fd)
error = table->file->dump(thd,fd);
if(error)
my_error(ER_GET_ERRNO, MYF(0));
-
+
err:
-
+
close_thread_tables(thd);
-
- DBUG_RETURN(error);
+
+ DBUG_RETURN(error);
}
@@ -592,7 +592,7 @@ bool do_command(THD *thd)
tbl_name[tbl_len] = 0;
if(mysql_table_dump(thd, db, tbl_name, -1))
send_error(&thd->net); // dump to NET
-
+
break;
}
case COM_CHANGE_USER:
@@ -712,7 +712,7 @@ bool do_command(THD *thd)
if(check_access(thd, FILE_ACL, any_db))
break;
mysql_log.write(command, 0);
-
+
ulong pos;
ushort flags;
pos = uint4korr(packet + 1);
@@ -949,7 +949,7 @@ mysql_execute_command(void)
break;
}
case SQLCOM_LOAD_MASTER_TABLE:
-
+
if (!tables->db)
tables->db=thd->db;
if (check_access(thd,CREATE_ACL,tables->db,&tables->grant.privilege))
@@ -982,11 +982,11 @@ mysql_execute_command(void)
// this way we make sure that when we are done, we are clean
break;
}
-
+
res = 0;
send_ok(&thd->net);
break;
-
+
case SQLCOM_CREATE_TABLE:
#ifdef DEMO_VERSION
send_error(&thd->net,ER_NOT_ALLOWED_COMMAND);
@@ -1081,7 +1081,7 @@ mysql_execute_command(void)
case SQLCOM_SLAVE_STOP:
stop_slave(thd);
break;
-
+
case SQLCOM_ALTER_TABLE:
#if defined(DONT_ALLOW_SHOW_COMMANDS)
@@ -1137,7 +1137,7 @@ mysql_execute_command(void)
if (mysql_rename_tables(thd,tables))
res= -1;
break;
- case SQLCOM_SHOW_CREATE:
+ case SQLCOM_SHOW_CREATE: /* SerG:show */
#ifdef DONT_ALLOW_SHOW_COMMANDS
send_error(&thd->net,ER_NOT_ALLOWED_COMMAND); /* purecov: inspected */
DBUG_VOID_RETURN;
@@ -1147,7 +1147,7 @@ mysql_execute_command(void)
check_access(thd, SELECT_ACL | EXTRA_ACL, tables->db,
&tables->grant.privilege))
goto error;
- res = mysqld_show_create(thd, tables);
+ res = mysqld_show_create(thd, tables);
break;
}
#endif
@@ -1385,7 +1385,7 @@ mysql_execute_command(void)
break;
}
#endif
- case SQLCOM_SHOW_FIELDS:
+ case SQLCOM_SHOW_FIELDS: /* SerG:show */
#ifdef DONT_ALLOW_SHOW_COMMANDS
send_error(&thd->net,ER_NOT_ALLOWED_COMMAND); /* purecov: inspected */
DBUG_VOID_RETURN;
@@ -1411,7 +1411,7 @@ mysql_execute_command(void)
break;
}
#endif
- case SQLCOM_SHOW_KEYS:
+ case SQLCOM_SHOW_KEYS: /* SerG:show */
#ifdef DONT_ALLOW_SHOW_COMMANDS
send_error(&thd->net,ER_NOT_ALLOWED_COMMAND); /* purecov: inspected */
DBUG_VOID_RETURN;
@@ -1474,7 +1474,7 @@ mysql_execute_command(void)
if (org_options & OPTION_AUTO_COMMIT)
{
/* We changed to auto_commit mode */
- thd->options&= ~OPTION_BEGIN;
+ thd->options&= ~OPTION_BEGIN;
thd->server_status|= SERVER_STATUS_AUTOCOMMIT;
if (ha_commit(thd))
{
@@ -1483,7 +1483,7 @@ mysql_execute_command(void)
}
}
else
- thd->server_status&= ~SERVER_STATUS_AUTOCOMMIT;
+ thd->server_status&= ~SERVER_STATUS_AUTOCOMMIT;
}
send_ok(&thd->net);
break;
@@ -2368,7 +2368,7 @@ bool reload_acl_and_cache(uint options)
reset_master();
if (options & REFRESH_SLAVE)
reset_slave();
-
+
return result;
}
@@ -2441,7 +2441,7 @@ static int start_slave(THD* thd , bool net_report)
if(!slave_running)
if(master_host)
{
- pthread_t hThread;
+ pthread_t hThread;
if(pthread_create(&hThread, &connection_attrib, handle_slave, 0))
{
err = "cannot create slave thread";
@@ -2456,7 +2456,7 @@ static int start_slave(THD* thd , bool net_report)
if(err)
{
if(net_report) send_error(net, 0, err);
- return 1;
+ return 1;
}
else if(net_report)
send_ok(net);
@@ -2469,10 +2469,10 @@ static int stop_slave(THD* thd, bool net_report )
if(!thd) thd = current_thd;
NET* net = &thd->net;
const char* err = 0;
-
+
if(check_access(thd, PROCESS_ACL, any_db))
return 1;
-
+
pthread_mutex_lock(&LOCK_slave);
if (slave_running)
{
@@ -2485,10 +2485,10 @@ static int stop_slave(THD* thd, bool net_report )
}
else
err = "Slave is not running";
-
+
pthread_mutex_unlock(&LOCK_slave);
thd->proc_info = 0;
-
+
if(err)
{
if(net_report) send_error(net, 0, err);
@@ -2505,15 +2505,15 @@ static void reset_slave()
MY_STAT stat_area;
char fname[FN_REFLEN];
bool slave_was_running = slave_running;
-
+
if(slave_running)
stop_slave(0,0);
-
+
fn_format(fname, master_info_file, mysql_data_home, "", 4+16+32);
if(my_stat(fname, &stat_area, MYF(0)))
if(my_delete(fname, MYF(MY_WME)))
return;
-
+
if(slave_was_running)
start_slave(0,0);
}
@@ -2533,7 +2533,7 @@ static int change_master(THD* thd)
pthread_mutex_unlock(&LOCK_slave);
thd->proc_info = "changing master";
LEX_MASTER_INFO* lex_mi = &thd->lex.mi;
-
+
pthread_mutex_lock(&glob_mi.lock);
if((lex_mi->host || lex_mi->port) && !lex_mi->log_file_name && !lex_mi->pos)
{
@@ -2547,7 +2547,7 @@ static int change_master(THD* thd)
sizeof(glob_mi.log_file_name));
if(lex_mi->pos)
glob_mi.pos = lex_mi->pos;
-
+
if(lex_mi->host)
strmake(glob_mi.host, lex_mi->host, sizeof(glob_mi.host));
if(lex_mi->user)
@@ -2558,14 +2558,14 @@ static int change_master(THD* thd)
glob_mi.port = lex_mi->port;
if(lex_mi->connect_retry)
glob_mi.connect_retry = lex_mi->connect_retry;
-
+
flush_master_info(&glob_mi);
pthread_mutex_unlock(&glob_mi.lock);
thd->proc_info = "starting slave";
if(slave_was_running)
start_slave(0,0);
thd->proc_info = 0;
-
+
send_ok(&thd->net);
return 0;
}
@@ -2603,9 +2603,9 @@ static void reset_master()
strmov(strcend(tmp,'.'),"-bin");
opt_bin_logname=tmp;
}
-
+
mysql_bin_log.open(opt_bin_logname,LOG_BIN);
-
+
}
int show_binlog_info(THD* thd)
@@ -2616,12 +2616,12 @@ int show_binlog_info(THD* thd)
field_list.push_back(new Item_empty_string("Position",20));
field_list.push_back(new Item_empty_string("Binlog_do_db",20));
field_list.push_back(new Item_empty_string("Binlog_ignore_db",20));
-
+
if(send_fields(thd, field_list, 1))
DBUG_RETURN(-1);
String* packet = &thd->packet;
packet->length(0);
-
+
if(mysql_bin_log.is_open())
{
LOG_INFO li;
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 5cfc05406c4..90cea58e871 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -1,15 +1,15 @@
/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
@@ -25,7 +25,7 @@
#include "sql_acl.h"
#include "lex_symbol.h"
#include <myisam.h>
-
+
extern void yyerror(const char*);
int yylex(void *yylval);
@@ -451,7 +451,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
literal text_literal insert_ident group_ident order_ident
simple_ident select_item2 expr opt_expr opt_else sum_expr in_sum_expr
table_wild opt_pad no_in_expr expr_expr simple_expr no_and_expr
- using_list
+ using_list
%type <item_list>
expr_list udf_expr_list when_list ident_list
@@ -548,7 +548,7 @@ verb_clause:
| rollback
| select
| set
- | slave
+ | slave
| show
| unlock
| update
@@ -557,7 +557,7 @@ verb_clause:
/* change master */
change:
- CHANGE MASTER_SYM TO_SYM
+ CHANGE MASTER_SYM TO_SYM
{
LEX *lex = Lex;
lex->sql_command = SQLCOM_CHANGE_MASTER;
@@ -568,7 +568,7 @@ master_defs:
master_def
|
master_defs ',' master_def
-
+
master_def:
MASTER_HOST_SYM EQ TEXT_STRING
{
@@ -604,9 +604,9 @@ master_def:
{
Lex->mi.connect_retry = $3;
}
-
-
+
+
/* create a table */
create:
@@ -614,7 +614,7 @@ create:
{
LEX *lex=Lex;
lex->sql_command= SQLCOM_CREATE_TABLE;
- if (!add_table_to_list($5,
+ if (!add_table_to_list($5,
($2 & HA_LEX_CREATE_TMP_TABLE ?
&tmp_table_alias : (LEX_STRING*) 0)))
YYABORT;
@@ -678,7 +678,7 @@ create:
}
create2:
- '(' field_list ')' opt_create_table_options create3 {}
+ '(' field_list ')' opt_create_table_options create3 {}
| opt_create_table_options create3 {}
create3:
@@ -690,18 +690,18 @@ create3:
select_options select_item_list opt_select_from {}
opt_table_options:
- /* empty */ { $$= 0; }
+ /* empty */ { $$= 0; }
| table_options { $$= $1;}
table_options:
table_option { $$=$1; }
| table_option table_options { $$= $1 | $2 }
-
+
table_option:
TEMPORARY { $$=HA_LEX_CREATE_TMP_TABLE; }
opt_if_not_exists:
- /* empty */ { $$= 0; }
+ /* empty */ { $$= 0; }
| IF NOT EXISTS { $$=HA_LEX_CREATE_IF_NOT_EXISTS; }
opt_create_table_options:
@@ -723,7 +723,7 @@ create_table_option:
| PACK_KEYS_SYM EQ ULONG_NUM { Lex->create_info.table_options|= $3 ? HA_OPTION_PACK_KEYS : HA_OPTION_NO_PACK_KEYS; }
| CHECKSUM_SYM EQ ULONG_NUM { Lex->create_info.table_options|= $3 ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; }
| DELAY_KEY_WRITE_SYM EQ ULONG_NUM { Lex->create_info.table_options|= $3 ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; }
- | ROW_FORMAT_SYM EQ row_types { Lex->create_info.row_type= $3; }
+ | ROW_FORMAT_SYM EQ row_types { Lex->create_info.row_type= $3; }
| RAID_TYPE EQ raid_types { Lex->create_info.raid_type= $3; Lex->create_info.used_fields|= HA_CREATE_USED_RAID;}
| RAID_CHUNKS EQ ULONG_NUM { Lex->create_info.raid_chunks= $3; Lex->create_info.used_fields|= HA_CREATE_USED_RAID;}
| RAID_CHUNKSIZE EQ ULONG_NUM { Lex->create_info.raid_chunksize= $3*RAID_BLOCK_SIZE; Lex->create_info.used_fields|= HA_CREATE_USED_RAID;}
@@ -865,7 +865,7 @@ char:
CHAR_SYM {}
| NCHAR_SYM {}
| NATIONAL_SYM CHAR_SYM {}
-
+
varchar:
char VARYING {}
| VARCHAR {}
@@ -964,6 +964,7 @@ delete_option:
key_type:
opt_constraint PRIMARY_SYM KEY_SYM { $$= Key::PRIMARY; }
| key_or_index { $$= Key::MULTIPLE; }
+ | COLLECTION { $$= Key::FULLTEXT; }
| opt_constraint UNIQUE_SYM { $$= Key::UNIQUE; }
| opt_constraint UNIQUE_SYM key_or_index { $$= Key::UNIQUE; }
@@ -1095,7 +1096,7 @@ slave:
Lex->sql_command = SQLCOM_SLAVE_STOP;
Lex->type = 0;
};
-
+
repair:
REPAIR table_or_tables
{
@@ -1123,7 +1124,7 @@ analyze:
}
check:
- CHECK_SYM table_or_tables
+ CHECK_SYM table_or_tables
{
Lex->sql_command = SQLCOM_CHECK;
Lex->check_opt.init();
@@ -1238,7 +1239,7 @@ select_alias:
optional_braces:
/* empty */ {}
| '(' ')' {}
-
+
/* all possible expressions */
expr: expr_expr {$$ = $1; }
| simple_expr {$$ = $1; }
@@ -1380,7 +1381,7 @@ simple_expr:
(Item_func_match *)($$=new Item_func_match(*$2,$5))); }
| BINARY expr %prec NEG { $$= new Item_func_binary($2); }
| CASE_SYM opt_expr WHEN_SYM when_list opt_else END
- { $$= new Item_func_case(* $4, $2, $5 ) }
+ { $$= new Item_func_case(* $4, $2, $5 ) }
| FUNC_ARG0 '(' ')'
{ $$= ((Item*(*)(void))($1.symbol->create_func))();}
| FUNC_ARG1 '(' expr ')'
@@ -1574,7 +1575,7 @@ simple_expr:
{ $$= new Item_func_yearweek($3, $5); }
| BENCHMARK_SYM '(' ULONG_NUM ',' expr ')'
{ $$=new Item_func_benchmark($3,$5); }
- | EXTRACT_SYM '(' interval FROM expr ')'
+ | EXTRACT_SYM '(' interval FROM expr ')'
{ $$=new Item_extract( $3, $5); }
udf_expr_list:
@@ -1645,12 +1646,12 @@ when_list:
{ $$= Lex->when_list.pop(); }
when_list2:
- expr THEN_SYM expr
+ expr THEN_SYM expr
{
Lex->when_list.head()->push_back($1);
Lex->when_list.head()->push_back($3);
}
- | when_list2 WHEN_SYM expr THEN_SYM expr
+ | when_list2 WHEN_SYM expr THEN_SYM expr
{
Lex->when_list.head()->push_back($3);
Lex->when_list.head()->push_back($5);
@@ -2113,11 +2114,11 @@ show_param:
| MASTER_SYM STATUS_SYM
{
Lex->sql_command = SQLCOM_SHOW_MASTER_STAT;
- }
+ }
| SLAVE STATUS_SYM
{
Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT;
- }
+ }
opt_db:
/* empty */ { $$= 0; }
@@ -2166,8 +2167,8 @@ flush_option:
| PRIVILEGES { Lex->type|= REFRESH_GRANT; }
| LOGS_SYM { Lex->type|= REFRESH_LOG; }
| STATUS_SYM { Lex->type|= REFRESH_STATUS; }
- | SLAVE { Lex->type|= REFRESH_SLAVE; }
- | MASTER_SYM { Lex->type|= REFRESH_MASTER; }
+ | SLAVE { Lex->type|= REFRESH_SLAVE; }
+ | MASTER_SYM { Lex->type|= REFRESH_MASTER; }
/* kill threads */
@@ -2200,13 +2201,13 @@ load: LOAD DATA_SYM opt_low_priority opt_local INFILE TEXT_STRING
YYABORT;
}
|
- LOAD TABLE_SYM table_ident FROM MASTER_SYM
+ LOAD TABLE_SYM table_ident FROM MASTER_SYM
{
Lex->sql_command = SQLCOM_LOAD_MASTER_TABLE;
if (!add_table_to_list($3,NULL))
YYABORT;
-
- }
+
+ }
opt_local:
/* empty */ { $$=0;}
@@ -2329,7 +2330,7 @@ ident:
ident_or_text:
ident { $$=$1;}
- | TEXT_STRING { $$=$1;}
+ | TEXT_STRING { $$=$1;}
| LEX_HOSTNAME { $$=$1;}
user:
@@ -2412,10 +2413,10 @@ keyword:
| PROCESSLIST_SYM {}
| QUICK {}
| RAID_0_SYM {}
- | RAID_CHUNKS {}
- | RAID_CHUNKSIZE {}
+ | RAID_CHUNKS {}
+ | RAID_CHUNKSIZE {}
| RAID_STRIPED_SYM {}
- | RAID_TYPE {}
+ | RAID_TYPE {}
| RELOAD {}
| REPAIR {}
| ROLLBACK_SYM {}