1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

sql_yacc.yy => CREATE TABLE (... COLLECTION ... ) syntax

This commit is contained in:
serg@infomag.ape.relarn.ru
2000-08-21 15:35:27 +04:00
parent cf2e115ec3
commit 50965c5d4f
3 changed files with 77 additions and 77 deletions

View File

@ -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
@ -501,7 +501,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);
@ -521,12 +521,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);
}
@ -594,7 +594,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:
@ -714,7 +714,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);
@ -951,7 +951,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))
@ -984,11 +984,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);
@ -1083,7 +1083,7 @@ mysql_execute_command(void)
case SQLCOM_SLAVE_STOP:
stop_slave(thd);
break;
case SQLCOM_ALTER_TABLE:
#if defined(DONT_ALLOW_SHOW_COMMANDS)
@ -1132,7 +1132,7 @@ mysql_execute_command(void)
break;
}
#endif
case SQLCOM_SHOW_CREATE:
case SQLCOM_SHOW_CREATE: /* SerG:show */
{
if(! tables->db)
tables->db = thd->db;
@ -1141,7 +1141,7 @@ mysql_execute_command(void)
send_error(&thd->net,ER_NO_DB_ERROR); /* purecov: inspected */
goto error; /* purecov: inspected */
}
res = mysqld_show_create(thd, tables);
res = mysqld_show_create(thd, tables);
break;
}
case SQLCOM_REPAIR:
@ -1389,7 +1389,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;
@ -1415,7 +1415,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;
@ -1478,7 +1478,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))
{
@ -1487,7 +1487,7 @@ mysql_execute_command(void)
}
}
else
thd->server_status&= ~SERVER_STATUS_AUTOCOMMIT;
thd->server_status&= ~SERVER_STATUS_AUTOCOMMIT;
}
send_ok(&thd->net);
break;
@ -2367,7 +2367,7 @@ bool reload_acl_and_cache(uint options)
reset_master();
if (options & REFRESH_SLAVE)
reset_slave();
return result;
}
@ -2440,7 +2440,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";
@ -2455,7 +2455,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);
@ -2468,10 +2468,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)
{
@ -2484,10 +2484,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);
@ -2504,15 +2504,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);
}
@ -2532,7 +2532,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)
{
@ -2546,7 +2546,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)
@ -2557,14 +2557,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;
}
@ -2602,9 +2602,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)
@ -2615,12 +2615,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;