Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1 client/mysqltest.c: Auto merged libmysql/libmysql.c: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/binary.result: Auto merged mysql-test/r/federated.result: Auto merged mysql-test/r/func_math.result: Auto merged mysql-test/r/grant.result: Auto merged mysql-test/r/heap.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/r/trigger.result: Auto merged mysql-test/r/type_decimal.result: Auto merged mysql-test/t/binary.test: Auto merged mysql-test/t/federated.test: Auto merged mysql-test/t/mysql.test: Auto merged mysql-test/t/mysqldump.test: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/trigger.test: Auto merged sql/field_conv.cc: Auto merged sql/ha_federated.cc: Auto merged sql/ha_federated.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_strfunc.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_trigger.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged sql/table.h: Auto merged support-files/mysql.spec.sh: Auto merged tests/mysql_client_test.c: Auto merged
This commit is contained in:
commit
c0711619ad
137
.bzrignore
137
.bzrignore
@ -134,6 +134,137 @@ autom4te.cache/*
|
|||||||
autom4te.cache/output.0
|
autom4te.cache/output.0
|
||||||
autom4te.cache/requests
|
autom4te.cache/requests
|
||||||
autom4te.cache/traces.0
|
autom4te.cache/traces.0
|
||||||
|
bdb/*.ds?
|
||||||
|
bdb/*.vcproj
|
||||||
|
bdb/README
|
||||||
|
bdb/btree/btree_auto.c
|
||||||
|
bdb/build_unix/*
|
||||||
|
bdb/build_vxworks/db.h
|
||||||
|
bdb/build_vxworks/db_int.h
|
||||||
|
bdb/build_win32/db.h
|
||||||
|
bdb/build_win32/db_archive.dsp
|
||||||
|
bdb/build_win32/db_checkpoint.dsp
|
||||||
|
bdb/build_win32/db_config.h
|
||||||
|
bdb/build_win32/db_cxx.h
|
||||||
|
bdb/build_win32/db_deadlock.dsp
|
||||||
|
bdb/build_win32/db_dll.dsp
|
||||||
|
bdb/build_win32/db_dump.dsp
|
||||||
|
bdb/build_win32/db_int.h
|
||||||
|
bdb/build_win32/db_java.dsp
|
||||||
|
bdb/build_win32/db_load.dsp
|
||||||
|
bdb/build_win32/db_perf.dsp
|
||||||
|
bdb/build_win32/db_printlog.dsp
|
||||||
|
bdb/build_win32/db_recover.dsp
|
||||||
|
bdb/build_win32/db_stat.dsp
|
||||||
|
bdb/build_win32/db_static.dsp
|
||||||
|
bdb/build_win32/db_tcl.dsp
|
||||||
|
bdb/build_win32/db_test.dsp
|
||||||
|
bdb/build_win32/db_upgrade.dsp
|
||||||
|
bdb/build_win32/db_verify.dsp
|
||||||
|
bdb/build_win32/ex_access.dsp
|
||||||
|
bdb/build_win32/ex_btrec.dsp
|
||||||
|
bdb/build_win32/ex_env.dsp
|
||||||
|
bdb/build_win32/ex_lock.dsp
|
||||||
|
bdb/build_win32/ex_mpool.dsp
|
||||||
|
bdb/build_win32/ex_tpcb.dsp
|
||||||
|
bdb/build_win32/excxx_access.dsp
|
||||||
|
bdb/build_win32/excxx_btrec.dsp
|
||||||
|
bdb/build_win32/excxx_env.dsp
|
||||||
|
bdb/build_win32/excxx_lock.dsp
|
||||||
|
bdb/build_win32/excxx_mpool.dsp
|
||||||
|
bdb/build_win32/excxx_tpcb.dsp
|
||||||
|
bdb/build_win32/include.tcl
|
||||||
|
bdb/build_win32/libdb.def
|
||||||
|
bdb/build_win32/libdb.rc
|
||||||
|
bdb/db/crdel_auto.c
|
||||||
|
bdb/db/db_auto.c
|
||||||
|
bdb/dbinc_auto/*.*
|
||||||
|
bdb/dbreg/dbreg_auto.c
|
||||||
|
bdb/dist/autom4te-2.53.cache/*
|
||||||
|
bdb/dist/autom4te-2.53.cache/output.0
|
||||||
|
bdb/dist/autom4te-2.53.cache/requests
|
||||||
|
bdb/dist/autom4te-2.53.cache/traces.0
|
||||||
|
bdb/dist/autom4te.cache/*
|
||||||
|
bdb/dist/autom4te.cache/output.0
|
||||||
|
bdb/dist/autom4te.cache/requests
|
||||||
|
bdb/dist/autom4te.cache/traces.0
|
||||||
|
bdb/dist/config.hin
|
||||||
|
bdb/dist/configure
|
||||||
|
bdb/dist/tags
|
||||||
|
bdb/dist/template/db_server_proc
|
||||||
|
bdb/dist/template/gen_client_ret
|
||||||
|
bdb/dist/template/rec_btree
|
||||||
|
bdb/dist/template/rec_crdel
|
||||||
|
bdb/dist/template/rec_db
|
||||||
|
bdb/dist/template/rec_dbreg
|
||||||
|
bdb/dist/template/rec_fileops
|
||||||
|
bdb/dist/template/rec_hash
|
||||||
|
bdb/dist/template/rec_log
|
||||||
|
bdb/dist/template/rec_qam
|
||||||
|
bdb/dist/template/rec_txn
|
||||||
|
bdb/examples_c/ex_apprec/ex_apprec_auto.c
|
||||||
|
bdb/examples_c/ex_apprec/ex_apprec_auto.h
|
||||||
|
bdb/examples_c/ex_apprec/ex_apprec_template
|
||||||
|
bdb/examples_java
|
||||||
|
bdb/fileops/fileops_auto.c
|
||||||
|
bdb/hash/hash_auto.c
|
||||||
|
bdb/include/btree_auto.h
|
||||||
|
bdb/include/btree_ext.h
|
||||||
|
bdb/include/clib_ext.h
|
||||||
|
bdb/include/common_ext.h
|
||||||
|
bdb/include/crdel_auto.h
|
||||||
|
bdb/include/db_auto.h
|
||||||
|
bdb/include/db_ext.h
|
||||||
|
bdb/include/db_server.h
|
||||||
|
bdb/include/env_ext.h
|
||||||
|
bdb/include/gen_client_ext.h
|
||||||
|
bdb/include/gen_server_ext.h
|
||||||
|
bdb/include/hash_auto.h
|
||||||
|
bdb/include/hash_ext.h
|
||||||
|
bdb/include/lock_ext.h
|
||||||
|
bdb/include/log_auto.h
|
||||||
|
bdb/include/log_ext.h
|
||||||
|
bdb/include/mp_ext.h
|
||||||
|
bdb/include/mutex_ext.h
|
||||||
|
bdb/include/os_ext.h
|
||||||
|
bdb/include/qam_auto.h
|
||||||
|
bdb/include/qam_ext.h
|
||||||
|
bdb/include/rpc_client_ext.h
|
||||||
|
bdb/include/rpc_server_ext.h
|
||||||
|
bdb/include/tcl_ext.h
|
||||||
|
bdb/include/txn_auto.h
|
||||||
|
bdb/include/txn_ext.h
|
||||||
|
bdb/include/xa_ext.h
|
||||||
|
bdb/java/src/com/sleepycat/db/Db.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbBtreeStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbConstants.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbHashStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbLockStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbLogStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbMpoolFStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbQueueStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbRepStat.java
|
||||||
|
bdb/java/src/com/sleepycat/db/DbTxnStat.java
|
||||||
|
bdb/libdb_java/java_stat_auto.c
|
||||||
|
bdb/libdb_java/java_stat_auto.h
|
||||||
|
bdb/log/log_auto.c
|
||||||
|
bdb/qam/qam_auto.c
|
||||||
|
bdb/rpc_client/db_server_clnt.c
|
||||||
|
bdb/rpc_client/gen_client.c
|
||||||
|
bdb/rpc_server/c/db_server_proc.c
|
||||||
|
bdb/rpc_server/c/db_server_proc.sed
|
||||||
|
bdb/rpc_server/c/db_server_svc.c
|
||||||
|
bdb/rpc_server/c/db_server_xdr.c
|
||||||
|
bdb/rpc_server/c/gen_db_server.c
|
||||||
|
bdb/rpc_server/db_server.x
|
||||||
|
bdb/rpc_server/db_server_proc.sed
|
||||||
|
bdb/rpc_server/db_server_svc.c
|
||||||
|
bdb/rpc_server/db_server_xdr.c
|
||||||
|
bdb/rpc_server/gen_db_server.c
|
||||||
|
bdb/test/TESTS
|
||||||
|
bdb/test/include.tcl
|
||||||
|
bdb/test/logtrack.list
|
||||||
|
bdb/txn/txn_auto.c
|
||||||
binary/*
|
binary/*
|
||||||
bkpull.log
|
bkpull.log
|
||||||
bkpull.log*
|
bkpull.log*
|
||||||
@ -253,6 +384,7 @@ include/my_global.h
|
|||||||
include/mysql_version.h
|
include/mysql_version.h
|
||||||
include/mysqld_ername.h
|
include/mysqld_ername.h
|
||||||
include/mysqld_error.h
|
include/mysqld_error.h
|
||||||
|
include/openssl
|
||||||
include/readline
|
include/readline
|
||||||
include/readline/*.h
|
include/readline/*.h
|
||||||
include/readline/readline.h
|
include/readline/readline.h
|
||||||
@ -396,6 +528,7 @@ libmysqld/opt_range.cc
|
|||||||
libmysqld/opt_sum.cc
|
libmysqld/opt_sum.cc
|
||||||
libmysqld/pack.c
|
libmysqld/pack.c
|
||||||
libmysqld/parse_file.cc
|
libmysqld/parse_file.cc
|
||||||
|
libmysqld/partition_info.cc
|
||||||
libmysqld/password.c
|
libmysqld/password.c
|
||||||
libmysqld/procedure.cc
|
libmysqld/procedure.cc
|
||||||
libmysqld/protocol.cc
|
libmysqld/protocol.cc
|
||||||
@ -1383,6 +1516,7 @@ storage/ndb/src/common/mgmcommon/printConfig/*.d
|
|||||||
storage/ndb/src/common/portlib/libportlib.dsp
|
storage/ndb/src/common/portlib/libportlib.dsp
|
||||||
storage/ndb/src/common/transporter/libtransporter.dsp
|
storage/ndb/src/common/transporter/libtransporter.dsp
|
||||||
storage/ndb/src/common/util/libgeneral.dsp
|
storage/ndb/src/common/util/libgeneral.dsp
|
||||||
|
storage/ndb/src/common/util/testBitmask.cpp
|
||||||
storage/ndb/src/cw/cpcd/ndb_cpcd
|
storage/ndb/src/cw/cpcd/ndb_cpcd
|
||||||
storage/ndb/src/dummy.cpp
|
storage/ndb/src/dummy.cpp
|
||||||
storage/ndb/src/kernel/blocks/backup/libbackup.dsp
|
storage/ndb/src/kernel/blocks/backup/libbackup.dsp
|
||||||
@ -1614,6 +1748,3 @@ vio/viotest-sslconnect.cpp
|
|||||||
vio/viotest.cpp
|
vio/viotest.cpp
|
||||||
zlib/*.ds?
|
zlib/*.ds?
|
||||||
zlib/*.vcproj
|
zlib/*.vcproj
|
||||||
libmysqld/partition_info.cc
|
|
||||||
storage/ndb/src/common/util/testBitmask.cpp
|
|
||||||
include/openssl
|
|
||||||
|
@ -38,6 +38,7 @@ int check_user(THD *thd, enum enum_server_command command,
|
|||||||
const char *passwd, uint passwd_len, const char *db,
|
const char *passwd, uint passwd_len, const char *db,
|
||||||
bool check_count);
|
bool check_count);
|
||||||
C_MODE_START
|
C_MODE_START
|
||||||
|
|
||||||
#include <mysql.h>
|
#include <mysql.h>
|
||||||
#undef ER
|
#undef ER
|
||||||
#include "errmsg.h"
|
#include "errmsg.h"
|
||||||
@ -46,22 +47,6 @@ C_MODE_START
|
|||||||
|
|
||||||
static my_bool emb_read_query_result(MYSQL *mysql);
|
static my_bool emb_read_query_result(MYSQL *mysql);
|
||||||
|
|
||||||
C_MODE_END
|
|
||||||
|
|
||||||
void THD::clear_data_list()
|
|
||||||
{
|
|
||||||
while (first_data)
|
|
||||||
{
|
|
||||||
MYSQL_DATA *data= first_data;
|
|
||||||
first_data= data->embedded_info->next;
|
|
||||||
free_rows(data);
|
|
||||||
}
|
|
||||||
data_tail= &first_data;
|
|
||||||
free_rows(cur_data);
|
|
||||||
cur_data= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
C_MODE_START
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Reads error information from the MYSQL_DATA and puts
|
Reads error information from the MYSQL_DATA and puts
|
||||||
@ -426,15 +411,6 @@ MYSQL_METHODS embedded_methods=
|
|||||||
emb_read_rows_from_cursor
|
emb_read_rows_from_cursor
|
||||||
};
|
};
|
||||||
|
|
||||||
C_MODE_END
|
|
||||||
|
|
||||||
void THD::clear_error()
|
|
||||||
{
|
|
||||||
net.last_error[0]= 0;
|
|
||||||
net.last_errno= 0;
|
|
||||||
net.report_error= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Make a copy of array and the strings array points to
|
Make a copy of array and the strings array points to
|
||||||
*/
|
*/
|
||||||
@ -461,11 +437,7 @@ char **copy_arguments(int argc, char **argv)
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char ** copy_arguments_ptr= 0;
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
|
|
||||||
char ** copy_arguments_ptr= 0;
|
|
||||||
|
|
||||||
int init_embedded_server(int argc, char **argv, char **groups)
|
int init_embedded_server(int argc, char **argv, char **groups)
|
||||||
{
|
{
|
||||||
@ -580,9 +552,7 @@ void end_embedded_server()
|
|||||||
clean_up(0);
|
clean_up(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
} /* extern "C" */
|
|
||||||
|
|
||||||
C_MODE_START
|
|
||||||
void init_embedded_mysql(MYSQL *mysql, int client_flag, char *db)
|
void init_embedded_mysql(MYSQL *mysql, int client_flag, char *db)
|
||||||
{
|
{
|
||||||
THD *thd = (THD *)mysql->thd;
|
THD *thd = (THD *)mysql->thd;
|
||||||
@ -701,6 +671,26 @@ err:
|
|||||||
|
|
||||||
C_MODE_END
|
C_MODE_END
|
||||||
|
|
||||||
|
void THD::clear_data_list()
|
||||||
|
{
|
||||||
|
while (first_data)
|
||||||
|
{
|
||||||
|
MYSQL_DATA *data= first_data;
|
||||||
|
first_data= data->embedded_info->next;
|
||||||
|
free_rows(data);
|
||||||
|
}
|
||||||
|
data_tail= &first_data;
|
||||||
|
free_rows(cur_data);
|
||||||
|
cur_data= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void THD::clear_error()
|
||||||
|
{
|
||||||
|
net.last_error[0]= 0;
|
||||||
|
net.last_errno= 0;
|
||||||
|
net.report_error= 0;
|
||||||
|
}
|
||||||
|
|
||||||
static char *dup_str_aux(MEM_ROOT *root, const char *from, uint length,
|
static char *dup_str_aux(MEM_ROOT *root, const char *from, uint length,
|
||||||
CHARSET_INFO *fromcs, CHARSET_INFO *tocs)
|
CHARSET_INFO *fromcs, CHARSET_INFO *tocs)
|
||||||
{
|
{
|
||||||
|
@ -15,6 +15,20 @@ select 4;
|
|||||||
4
|
4
|
||||||
4
|
4
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
kill (select count(*) from mysql.user);
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select count(*) from mysql.user)' at line 1
|
||||||
|
create table t1 (id int primary key);
|
||||||
|
create table t2 (id int unsigned not null);
|
||||||
|
insert into t2 select id from t1;
|
||||||
|
create table t3 (kill_id int);
|
||||||
|
insert into t3 values(connection_id());
|
||||||
|
select id from t1 where id in (select distinct id from t2);
|
||||||
|
select ((@id := kill_id) - kill_id) from t3;
|
||||||
|
((@id := kill_id) - kill_id)
|
||||||
|
0
|
||||||
|
kill @id;
|
||||||
|
Got one of the listed errors
|
||||||
|
drop table t1, t2, t3;
|
||||||
create table t1 (id int primary key);
|
create table t1 (id int primary key);
|
||||||
create table t2 (id int unsigned not null);
|
create table t2 (id int unsigned not null);
|
||||||
insert into t2 select id from t1;
|
insert into t2 select id from t1;
|
||||||
|
@ -1185,6 +1185,16 @@ select concat('value is: ', @val) union select 'some text';
|
|||||||
concat('value is: ', @val)
|
concat('value is: ', @val)
|
||||||
value is: 6
|
value is: 6
|
||||||
some text
|
some text
|
||||||
|
select concat(_latin1'a', _ascii'b' collate ascii_bin);
|
||||||
|
concat(_latin1'a', _ascii'b' collate ascii_bin)
|
||||||
|
ab
|
||||||
|
create table t1 (foo varchar(100)) collate ascii_bin;
|
||||||
|
insert into t1 (foo) values ("foo");
|
||||||
|
select foo from t1 union select 'bar' as foo from dual;
|
||||||
|
foo
|
||||||
|
foo
|
||||||
|
bar
|
||||||
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
a ENUM('ä','ö','ü') character set utf8 not null default 'ü',
|
a ENUM('ä','ö','ü') character set utf8 not null default 'ü',
|
||||||
b ENUM("one", "two") character set utf8,
|
b ENUM("one", "two") character set utf8,
|
||||||
@ -1214,7 +1224,7 @@ Field Type Null Key Default Extra
|
|||||||
a varchar(1) NO
|
a varchar(1) NO
|
||||||
drop table t2;
|
drop table t2;
|
||||||
create table t2 select a from t1 union select c from t1;
|
create table t2 select a from t1 union select c from t1;
|
||||||
ERROR HY000: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation 'UNION'
|
drop table t2;
|
||||||
create table t2 select a from t1 union select b from t1;
|
create table t2 select a from t1 union select b from t1;
|
||||||
show columns from t2;
|
show columns from t2;
|
||||||
Field Type Null Key Default Extra
|
Field Type Null Key Default Extra
|
||||||
|
@ -46,8 +46,12 @@ select @id != connection_id();
|
|||||||
connection con2;
|
connection con2;
|
||||||
select 4;
|
select 4;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
connection default;
|
connection default;
|
||||||
|
disconnect con2;
|
||||||
|
|
||||||
|
--error 1064
|
||||||
|
kill (select count(*) from mysql.user);
|
||||||
|
|
||||||
#
|
#
|
||||||
# BUG#14851: killing long running subquery processed via a temporary table.
|
# BUG#14851: killing long running subquery processed via a temporary table.
|
||||||
#
|
#
|
||||||
|
@ -707,6 +707,15 @@ drop table t1;
|
|||||||
set @val:=6;
|
set @val:=6;
|
||||||
select concat('value is: ', @val) union select 'some text';
|
select concat('value is: ', @val) union select 'some text';
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#15949 union + illegal mix of collations (IMPLICIT + COERCIBLE)
|
||||||
|
#
|
||||||
|
select concat(_latin1'a', _ascii'b' collate ascii_bin);
|
||||||
|
create table t1 (foo varchar(100)) collate ascii_bin;
|
||||||
|
insert into t1 (foo) values ("foo");
|
||||||
|
select foo from t1 union select 'bar' as foo from dual;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Enum merging test
|
# Enum merging test
|
||||||
#
|
#
|
||||||
@ -726,8 +735,8 @@ drop table t2;
|
|||||||
create table t2 select a from t1 union select a from t1;
|
create table t2 select a from t1 union select a from t1;
|
||||||
show columns from t2;
|
show columns from t2;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
-- error 1267
|
|
||||||
create table t2 select a from t1 union select c from t1;
|
create table t2 select a from t1 union select c from t1;
|
||||||
|
drop table t2;
|
||||||
create table t2 select a from t1 union select b from t1;
|
create table t2 select a from t1 union select b from t1;
|
||||||
show columns from t2;
|
show columns from t2;
|
||||||
drop table t2, t1;
|
drop table t2, t1;
|
||||||
|
@ -6020,7 +6020,7 @@ bool Item_type_holder::join_types(THD *thd, Item *item)
|
|||||||
const char *old_cs, *old_derivation;
|
const char *old_cs, *old_derivation;
|
||||||
old_cs= collation.collation->name;
|
old_cs= collation.collation->name;
|
||||||
old_derivation= collation.derivation_name();
|
old_derivation= collation.derivation_name();
|
||||||
if (collation.aggregate(item->collation))
|
if (collation.aggregate(item->collation, MY_COLL_ALLOW_CONV))
|
||||||
{
|
{
|
||||||
my_error(ER_CANT_AGGREGATE_2COLLATIONS, MYF(0),
|
my_error(ER_CANT_AGGREGATE_2COLLATIONS, MYF(0),
|
||||||
old_cs, old_derivation,
|
old_cs, old_derivation,
|
||||||
|
@ -7176,9 +7176,8 @@ select_derived2:
|
|||||||
{
|
{
|
||||||
LEX *lex= Lex;
|
LEX *lex= Lex;
|
||||||
lex->derived_tables|= DERIVED_SUBQUERY;
|
lex->derived_tables|= DERIVED_SUBQUERY;
|
||||||
if (((int)lex->sql_command >= (int)SQLCOM_HA_OPEN &&
|
if (lex->sql_command == (int)SQLCOM_HA_READ ||
|
||||||
lex->sql_command <= (int)SQLCOM_HA_READ) ||
|
lex->sql_command == (int)SQLCOM_KILL)
|
||||||
lex->sql_command == (int)SQLCOM_KILL)
|
|
||||||
{
|
{
|
||||||
yyerror(ER(ER_SYNTAX_ERROR));
|
yyerror(ER(ER_SYNTAX_ERROR));
|
||||||
YYABORT;
|
YYABORT;
|
||||||
@ -8673,18 +8672,18 @@ purge_option:
|
|||||||
/* kill threads */
|
/* kill threads */
|
||||||
|
|
||||||
kill:
|
kill:
|
||||||
KILL_SYM kill_option expr
|
KILL_SYM { Lex->sql_command= SQLCOM_KILL; } kill_option expr
|
||||||
{
|
{
|
||||||
LEX *lex=Lex;
|
LEX *lex=Lex;
|
||||||
lex->value_list.empty();
|
lex->value_list.empty();
|
||||||
lex->value_list.push_front($3);
|
lex->value_list.push_front($4);
|
||||||
lex->sql_command= SQLCOM_KILL;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
kill_option:
|
kill_option:
|
||||||
/* empty */ { Lex->type= 0; }
|
/* empty */ { Lex->type= 0; }
|
||||||
| CONNECTION_SYM { Lex->type= 0; }
|
| CONNECTION_SYM { Lex->type= 0; }
|
||||||
| QUERY_SYM { Lex->type= ONLY_KILL_QUERY; };
|
| QUERY_SYM { Lex->type= ONLY_KILL_QUERY; }
|
||||||
|
;
|
||||||
|
|
||||||
/* change database */
|
/* change database */
|
||||||
|
|
||||||
@ -8697,7 +8696,7 @@ use: USE_SYM ident
|
|||||||
|
|
||||||
/* import, export of files */
|
/* import, export of files */
|
||||||
|
|
||||||
load: LOAD DATA_SYM
|
load: LOAD DATA_SYM
|
||||||
{
|
{
|
||||||
LEX *lex=Lex;
|
LEX *lex=Lex;
|
||||||
if (lex->sphead)
|
if (lex->sphead)
|
||||||
@ -10765,9 +10764,8 @@ subselect_start:
|
|||||||
'(' SELECT_SYM
|
'(' SELECT_SYM
|
||||||
{
|
{
|
||||||
LEX *lex=Lex;
|
LEX *lex=Lex;
|
||||||
if (((int)lex->sql_command >= (int)SQLCOM_HA_OPEN &&
|
if (lex->sql_command == (int)SQLCOM_HA_READ ||
|
||||||
lex->sql_command <= (int)SQLCOM_HA_READ) ||
|
lex->sql_command == (int)SQLCOM_KILL)
|
||||||
lex->sql_command == (int)SQLCOM_KILL)
|
|
||||||
{
|
{
|
||||||
yyerror(ER(ER_SYNTAX_ERROR));
|
yyerror(ER(ER_SYNTAX_ERROR));
|
||||||
YYABORT;
|
YYABORT;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user