diff options
44 files changed, 163 insertions, 140 deletions
diff --git a/client/mysqltest.c b/client/mysqltest.c index 2ed981d3133..1374a276231 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -1718,7 +1718,7 @@ int parse_args(int argc, char **argv) { switch(c) { case '#': - DBUG_PUSH(optarg ? optarg : "d:t:i:O,/tmp/mysqltest.trace"); + DBUG_PUSH(optarg ? optarg : "d:t:S:i:O,/tmp/mysqltest.trace"); break; case 'v': verbose = 1; @@ -1952,8 +1952,14 @@ int run_query(MYSQL* mysql, struct st_query* q, int flags) { if ((q->expected_errno[i] == mysql_errno(mysql))) { - dynstr_append(ds,mysql_error(mysql)); - dynstr_append_mem(ds,"\n",1); + if (i == 0 && q->expected_errno[1] == 0) + { + /* Only log error if there is one possible error */ + dynstr_append(ds,mysql_error(mysql)); + dynstr_append_mem(ds,"\n",1); + } + else + dynstr_append(ds,"Got one of the listed errors\n"); goto end; /* Ok */ } } @@ -2153,8 +2159,6 @@ int main(int argc, char** argv) struct st_query* q; my_bool require_file=0, q_send_flag=0; char save_file[FN_REFLEN]; - mysql_server_init(sizeof(embedded_server_args) / sizeof(char *) - 1, - embedded_server_args, embedded_server_groups); MY_INIT(argv[0]); { DBUG_ENTER("main"); diff --git a/include/mysqld_error.h b/include/mysqld_error.h index cb555eb8066..a4e7066d483 100644 --- a/include/mysqld_error.h +++ b/include/mysqld_error.h @@ -221,7 +221,5 @@ #define ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1218 #define ER_CANT_UPDATE_WITH_READLOCK 1219 #define ER_MIXING_NOT_ALLOWED 1220 -#define ER_GRANT_DUPL_SUBJECT 1221 -#define ER_GRANT_DUPL_ISSUER 1222 -#define ER_GRANT_DUPL_CIPHER 1223 -#define ER_ERROR_MESSAGES 224 +#define ER_DUP_ARGUMENT 1221 +#define ER_ERROR_MESSAGES 222 diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am index 275a761e5ac..c3cce4cc9b8 100644 --- a/libmysqld/Makefile.am +++ b/libmysqld/Makefile.am @@ -43,7 +43,7 @@ sqlsources = convert.cc derror.cc field.cc field_conv.cc filesort.cc \ hostname.cc init.cc \ item.cc item_buff.cc item_cmpfunc.cc item_create.cc \ item_func.cc item_strfunc.cc item_sum.cc item_timefunc.cc \ - item_uniq.cc key.cc lock.cc log.cc log_event.cc md5.c \ + item_uniq.cc key.cc lock.cc log.cc log_event.cc \ mini_client.cc net_pkg.cc net_serv.cc opt_ft.cc opt_range.cc \ opt_sum.cc procedure.cc records.cc slave.cc sql_acl.cc \ sql_analyse.cc sql_base.cc sql_cache.cc sql_class.cc \ diff --git a/mysql-test/include/have_isam.inc b/mysql-test/include/have_isam.inc index d83328f70f4..830170c921f 100644 --- a/mysql-test/include/have_isam.inc +++ b/mysql-test/include/have_isam.inc @@ -1,2 +1,4 @@ -- require r/have_isam.require +disable_query_log; show variables like "have_isam"; +enable_query_log; diff --git a/mysql-test/include/not_embedded.inc b/mysql-test/include/not_embedded.inc index 7d6fdbf9768..52ae026ece3 100644 --- a/mysql-test/include/not_embedded.inc +++ b/mysql-test/include/not_embedded.inc @@ -1,3 +1,5 @@ -- require r/not_embedded.require +disable_query_log; select version() like "%embedded%" as "have_embedded"; +enable_query_log; diff --git a/mysql-test/mysql-test-run.sh b/mysql-test/mysql-test-run.sh index 5b4c85dcac1..5cb3da9df25 100644 --- a/mysql-test/mysql-test-run.sh +++ b/mysql-test/mysql-test-run.sh @@ -124,7 +124,7 @@ MASTER_RUNNING=0 MASTER_MYPORT=9306 SLAVE_RUNNING=0 SLAVE_MYPORT=9307 -MYSQL_MANAGER_PORT=23546 +MYSQL_MANAGER_PORT=9308 MYSQL_MANAGER_PW_FILE=$MYSQL_TEST_DIR/var/tmp/manager.pwd MYSQL_MANAGER_LOG=$MYSQL_TEST_DIR/var/log/manager.log MYSQL_MANAGER_USER=root @@ -152,6 +152,7 @@ while test $# -gt 0; do --tmpdir=*) MYSQL_TMP_DIR=`$ECHO "$1" | $SED -e "s;--tmpdir=;;"` ;; --master_port=*) MASTER_MYPORT=`$ECHO "$1" | $SED -e "s;--master_port=;;"` ;; --slave_port=*) SLAVE_MYPORT=`$ECHO "$1" | $SED -e "s;--slave_port=;;"` ;; + --manager-port=*) MYSQL_MANAGER_PORT=`$ECHO "$1" | $SED -e "s;--manager_port=;;"` ;; --with-openssl) EXTRA_MASTER_MYSQLD_OPT="$EXTRA_MASTER_MYSQLD_OPT \ --ssl-ca=$BASEDIR/SSL/cacert.pem \ diff --git a/mysql-test/r/auto_increment.result b/mysql-test/r/auto_increment.result index e785252bd2f..66efd2ba567 100644 --- a/mysql-test/r/auto_increment.result +++ b/mysql-test/r/auto_increment.result @@ -1,3 +1,4 @@ +drop table if exists t1; create table t1 (a int not null auto_increment,b int, primary key (a)) type=myisam auto_increment=3; insert into t1 values (1,1),(NULL,3),(NULL,4); delete from t1 where a=4; diff --git a/mysql-test/r/count_distinct2.result b/mysql-test/r/count_distinct2.result index 192116db21d..131e3b325ec 100644 --- a/mysql-test/r/count_distinct2.result +++ b/mysql-test/r/count_distinct2.result @@ -1,3 +1,4 @@ +drop table if exists t1; create table t1(n1 int, n2 int, s char(20), vs varchar(20), t text); insert into t1 values (1,11, 'one','eleven', 'eleven'), (1,11, 'one','eleven', 'eleven'), diff --git a/mysql-test/r/create.result b/mysql-test/r/create.result index d84af9db429..5f14de18735 100644 --- a/mysql-test/r/create.result +++ b/mysql-test/r/create.result @@ -27,21 +27,13 @@ create table t1 (a int not null,b text) type=heap; The used table type doesn't support BLOB/TEXT columns create table t1 (a int ,primary key(a)) type=heap; All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead -create table t1 (a int,b text, index(a)) type=isam; -Column 'a' is used with UNIQUE or INDEX but is not defined as NOT NULL -create table t1 (a int,b text, index(b)) type=isam; -BLOB column 'b' can't be used in key specification with the used table type drop table if exists t1; -create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=isam; -Incorrect table definition; There can only be one auto column and it must be defined as a key create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=heap; The used table type doesn't support AUTO_INCREMENT columns create table t1 (ordid int(8), primary key (ordid)); All parts of a PRIMARY KEY must be NOT NULL; If you need NULL in a key, use UNIQUE instead -create table t1 (ordid int(8), unique (ordid)) type=isam; -Column 'ordid' is used with UNIQUE or INDEX but is not defined as NOT NULL create table not_existing_database.test (a int); -Can't create/write to file './not_existing_database/test.frm' (Errcode: 2) +Got one of the listed errors create table `a/a` (a int); Incorrect table name 'a/a' create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa int); diff --git a/mysql-test/r/func_system.result b/mysql-test/r/func_system.result index 175524f6b83..5ea4ed5e4e0 100644 --- a/mysql-test/r/func_system.result +++ b/mysql-test/r/func_system.result @@ -1,5 +1,5 @@ select database(),user() like "%@%"; -database() user() +database() user() like "%@%" test 1 select version()>="3.23.29"; version()>="3.23.29" diff --git a/mysql-test/r/isam.result b/mysql-test/r/isam.result index 448dd7833a5..d80f47d3483 100644 --- a/mysql-test/r/isam.result +++ b/mysql-test/r/isam.result @@ -1,3 +1,4 @@ +drop table if exists t1,t2; create table t1 (a tinyint not null auto_increment, b blob not null, primary key (a)); check table t1; Table Op Msg_type Msg_text @@ -15,42 +16,76 @@ test.t1 repair status OK check table t1; Table Op Msg_type Msg_text test.t1 check status OK +drop table t1; +create table t1 (a int not null auto_increment,b int, primary key (a)) type=isam; +insert into t1 values (1,1),(NULL,2),(3,3),(NULL,4); +delete from t1 where a=4 or a=2; +insert into t1 values (NULL,4),(NULL,5),(6,6); +select * from t1; a b 1 1 5 5 3 3 4 4 6 6 +delete from t1 where a=6; +replace t1 values (3,1); +replace t1 values (3,3); +ALTER TABLE t1 add c int; +insert into t1 values (NULL,6,6); +select * from t1; a b c 1 1 NULL 5 5 NULL 3 3 NULL 4 4 NULL 6 6 6 +drop table t1; +create table t1 (a int,b text, index(a)) type=isam; +Column 'a' is used with UNIQUE or INDEX but is not defined as NOT NULL +create table t1 (a int,b text, index(b)) type=isam; +BLOB column 'b' can't be used in key specification with the used table type +create table t1 (ordid int(8) not null auto_increment, ord varchar(50) not null, primary key (ord,ordid)) type=isam; +Incorrect table definition; There can only be one auto column and it must be defined as a key +create table t1 (ordid int(8), unique (ordid)) type=isam; +Column 'ordid' is used with UNIQUE or INDEX but is not defined as NOT NULL +drop table if exists t1; +create table t1 (a int not null primary key, b int not null,c int not null, key(b,c)); +insert into t1 values (1,2,2),(2,2,3),(3,2,4),(4,2,4); +create table t2 type=isam select * from t1; +optimize table t1; Table Op Msg_type Msg_text test.t1 optimize status OK +check table t1,t2; Table Op Msg_type Msg_text test.t1 check status OK test.t2 check error The handler for the table doesn't support check/repair +repair table t1,t2; Table Op Msg_type Msg_text test.t1 repair status OK test.t2 repair error The handler for the table doesn't support check/repair +check table t2,t1; Table Op Msg_type Msg_text test.t2 check error The handler for the table doesn't support check/repair test.t1 check status OK +lock tables t1 write; +check table t2,t1; Table Op Msg_type Msg_text test.t2 check error Table 't2' was not locked with LOCK TABLES test.t1 check status OK +show columns from t1; Field Type Null Key Default Extra a int(11) PRI 0 b int(11) MUL 0 c int(11) 0 +show full columns from t1; Field Type Null Key Default Extra Privileges a int(11) PRI 0 select,insert,update,references b int(11) MUL 0 select,insert,update,references c int(11) 0 select,insert,update,references +show index from t1; Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Comment t1 0 PRIMARY 1 a A 4 NULL NULL t1 1 b 1 b A 1 NULL NULL t1 1 b 2 c A 4 NULL NULL -drop table t1; +drop table t1,t2; diff --git a/mysql-test/r/lock.result b/mysql-test/r/lock.result index 80194323919..ad5251b9110 100644 --- a/mysql-test/r/lock.result +++ b/mysql-test/r/lock.result @@ -43,21 +43,3 @@ Table Op Msg_type Msg_text test.t2 check error Table 't2' was not locked with LOCK TABLES unlock tables; drop table t1,t2; -create table t1(n int); -insert into t1 values (1); -lock tables t1 write; - update low_priority t1 set n = 4; - select n from t1; -unlock tables; -n -4 -drop table t1; -create table t1(n int); -insert into t1 values (1); -lock tables t1 read; - update low_priority t1 set n = 4; - select n from t1; -unlock tables; -n -1 -drop table t1; diff --git a/mysql-test/r/lock_multi.result b/mysql-test/r/lock_multi.result index d75d9aa0216..6fe8cc71185 100644 --- a/mysql-test/r/lock_multi.result +++ b/mysql-test/r/lock_multi.result @@ -1,4 +1,18 @@ +create table t1(n int); +insert into t1 values (1); +lock tables t1 write; + update low_priority t1 set n = 4; + select n from t1; +unlock tables; n 4 +drop table t1; +create table t1(n int); +insert into t1 values (1); +lock tables t1 read; + update low_priority t1 set n = 4; + select n from t1; +unlock tables; n 1 +drop table t1; diff --git a/mysql-test/r/rename.result b/mysql-test/r/rename.result index 6128e630978..b2bb659502a 100644 --- a/mysql-test/r/rename.result +++ b/mysql-test/r/rename.result @@ -13,20 +13,20 @@ select * from t1; 1 table 1 1 table 1 rename table t1 to t2; -Table './test/t2.frm' already exists +Got one of the listed errors rename table t1 to t1; -Table './test/t1.frm' already exists +Got one of the listed errors rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2; -Table './test/t2.frm' already exists +Got one of the listed errors show tables like "t_"; Tables_in_test (t_) t1 t2 t3 rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1; -Table './test/t1.frm' already exists +Got one of the listed errors rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1; -Can't find file: './test/t5.frm' (errno: 2) +Got one of the listed errors select * from t1; 1 table 1 1 table 1 diff --git a/mysql-test/r/rpl000001.result b/mysql-test/r/rpl000001.result index a13bd93e46a..9cd0496d16e 100644 --- a/mysql-test/r/rpl000001.result +++ b/mysql-test/r/rpl000001.result @@ -37,8 +37,8 @@ create table t1(n int); create table t2(id int); insert into t2 values(connection_id()); create temporary table t1_temp(n int); -insert into t1_temp select get_lock('crash_lock', 1) from t2; - update t1 set n = n + get_lock('crash_lock', 2); +insert into t1_temp select get_lock('crash_lock%20C', 1) from t2; + update t1 set n = n + get_lock('crash_lock%20C', 2); select (@id := id) - id from t2; (@id := id) - id 0 diff --git a/mysql-test/r/tablelock.result b/mysql-test/r/tablelock.result index 094855b473f..2ffd8f928a9 100644 --- a/mysql-test/r/tablelock.result +++ b/mysql-test/r/tablelock.result @@ -1,3 +1,4 @@ +drop table if exists t1,t2; create table t1 ( n int auto_increment primary key); lock tables t1 write; insert into t1 values(NULL); @@ -39,11 +40,9 @@ drop table t1; CREATE TABLE t1 (a int); CREATE TABLE t2 (a int); lock tables t1 write,t1 as b write, t2 write, t2 as c read; -drop table t1; -drop table t2; +drop table t1,t2; CREATE TABLE t1 (a int); CREATE TABLE t2 (a int); lock tables t1 write,t1 as b write, t2 write, t2 as c read; -drop table t2; -drop table t1; +drop table t2,t1; unlock tables; diff --git a/mysql-test/t/rename.test b/mysql-test/t/rename.test index 2a9cf113a47..ce4651d8de3 100644 --- a/mysql-test/t/rename.test +++ b/mysql-test/t/rename.test @@ -12,13 +12,19 @@ select * from t1; rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1; rename table t3 to t4, t2 to t3, t1 to t2, t4 to t1; select * from t1; + # The following should give errors -!$1050 rename table t1 to t2; -!$1050 rename table t1 to t1; -!$1050 rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2; +--error 1050,1050 +rename table t1 to t2; +--error 1050,1050 +rename table t1 to t1; +--error 1050,1050 +rename table t3 to t4, t2 to t3, t1 to t2, t4 to t2; show tables like "t_"; -!$1050 rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1; -!$1017 rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1; +--error 1050,1050 +rename table t3 to t1, t2 to t3, t1 to t2, t4 to t1; +--error 1017,1017 +rename table t3 to t4, t5 to t3, t1 to t2, t4 to t1; select * from t1; select * from t2; diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt index 9a6768d7025..8d9fda437a5 100644 --- a/sql/share/czech/errmsg.txt +++ b/sql/share/czech/errmsg.txt @@ -231,6 +231,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt index 42ff7206046..81d44de6a87 100644 --- a/sql/share/danish/errmsg.txt +++ b/sql/share/danish/errmsg.txt @@ -225,6 +225,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt index 0819e355422..68e20deb257 100644 --- a/sql/share/dutch/errmsg.txt +++ b/sql/share/dutch/errmsg.txt @@ -228,6 +228,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt index f5888440743..5d057c30a0e 100644 --- a/sql/share/english/errmsg.txt +++ b/sql/share/english/errmsg.txt @@ -222,6 +222,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt index 7ad829d1f04..3f9d15c2e4d 100644 --- a/sql/share/estonian/errmsg.txt +++ b/sql/share/estonian/errmsg.txt @@ -226,6 +226,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt index 2ac778877f6..7d9c6202c5f 100644 --- a/sql/share/french/errmsg.txt +++ b/sql/share/french/errmsg.txt @@ -222,6 +222,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt index 6cf9d8dd2a1..14bd0f8a042 100644 --- a/sql/share/german/errmsg.txt +++ b/sql/share/german/errmsg.txt @@ -225,6 +225,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt index 65954ce1c2e..ab1103a56b4 100644 --- a/sql/share/greek/errmsg.txt +++ b/sql/share/greek/errmsg.txt @@ -222,6 +222,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt index 28ee01934c0..33d51cb0e60 100644 --- a/sql/share/hungarian/errmsg.txt +++ b/sql/share/hungarian/errmsg.txt @@ -224,6 +224,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/italian/errmsg.txt b/sql/share/italian/errmsg.txt index 2d778692e9a..127a33bbb28 100644 --- a/sql/share/italian/errmsg.txt +++ b/sql/share/italian/errmsg.txt @@ -222,6 +222,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt index 248c5e1b566..e345f462f2a 100644 --- a/sql/share/japanese/errmsg.txt +++ b/sql/share/japanese/errmsg.txt @@ -224,6 +224,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt index 3a2086accf1..dd1d92adf64 100644 --- a/sql/share/korean/errmsg.txt +++ b/sql/share/korean/errmsg.txt @@ -222,6 +222,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt index f701bdd1ade..bbdf23e4056 100644 --- a/sql/share/norwegian-ny/errmsg.txt +++ b/sql/share/norwegian-ny/errmsg.txt @@ -224,6 +224,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt index 00c23acaca9..6139b1bb700 100644 --- a/sql/share/norwegian/errmsg.txt +++ b/sql/share/norwegian/errmsg.txt @@ -224,6 +224,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt index 56573f93a00..39ff72acba1 100644 --- a/sql/share/polish/errmsg.txt +++ b/sql/share/polish/errmsg.txt @@ -226,6 +226,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt index f15cbc930cb..a522e792750 100644 --- a/sql/share/portuguese/errmsg.txt +++ b/sql/share/portuguese/errmsg.txt @@ -222,6 +222,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt index 9f83e98828e..0177ff942a0 100644 --- a/sql/share/romanian/errmsg.txt +++ b/sql/share/romanian/errmsg.txt @@ -226,6 +226,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt index 8851866b249..c6b5c324cad 100644 --- a/sql/share/russian/errmsg.txt +++ b/sql/share/russian/errmsg.txt @@ -225,6 +225,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt index 08b5bfe6ba9..26ca2881212 100644 --- a/sql/share/slovak/errmsg.txt +++ b/sql/share/slovak/errmsg.txt @@ -230,6 +230,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt index 6348f416277..8bbf04c9a3d 100644 --- a/sql/share/spanish/errmsg.txt +++ b/sql/share/spanish/errmsg.txt @@ -223,6 +223,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt index 83e08254f90..b4303de8619 100644 --- a/sql/share/swedish/errmsg.txt +++ b/sql/share/swedish/errmsg.txt @@ -222,6 +222,4 @@ "SELECT kommandona har olika antal kolumner" "Kan inte utföra kommandot emedan du har ett READ lås", "Blandning av transaktionella och icke-transaktionella tabeller är inaktiverat", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' användes två gånger", diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt index 776103cf681..80c2bcc06fb 100644 --- a/sql/share/ukrainian/errmsg.txt +++ b/sql/share/ukrainian/errmsg.txt @@ -227,6 +227,4 @@ "The used SELECT statements have a different number of columns", "Can't execute the query because you have a conflicting read lock", "Mixing of transactional and non-transactional tables is disabled", -"Duplicate SUBJECT option in GRANT clause", -"Duplicate ISSUER option in GRANT clause", -"Duplicate CIPHER option in GRANT clause", +"Option '%s' used twice in statement", diff --git a/sql/sql_lex.cc b/sql/sql_lex.cc index 81464053cd4..c3f98713c45 100644 --- a/sql/sql_lex.cc +++ b/sql/sql_lex.cc @@ -147,7 +147,7 @@ LEX *lex_start(THD *thd, uchar *buf,uint length) lex->select->in_sum_expr=0; lex->select->expr_list.empty(); lex->select->ftfunc_list.empty(); - lex->convert_set=thd->convert_set; + lex->convert_set=(lex->thd=thd)->convert_set; lex->yacc_yyss=lex->yacc_yyvs=0; lex->ignore_space=test(thd->sql_mode & MODE_IGNORE_SPACE); return lex; diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 3121f453974..6ccb0a6b059 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -168,6 +168,7 @@ typedef struct st_lex { CONVERT *convert_set; LEX_USER *grant_user; gptr yacc_yyss,yacc_yyvs; + THD *thd; udf_func udf; HA_CHECK_OPT check_opt; // check/repair options HA_CREATE_INFO create_info; diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 87abc4b3402..8a4c219adb0 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -3150,8 +3150,8 @@ set_isolation: } | SESSION_SYM tx_isolation { - LEX *lex=Lex; - lex->thd->session_tx_isolation= lex->tx_isolation= $2; + LEX *lex=Lex; + lex->thd->session_tx_isolation= lex->tx_isolation= $2; } | tx_isolation { Lex->tx_isolation= $1; } @@ -3315,27 +3315,33 @@ require_list: require_list_element AND require_list require_list_element: SUBJECT_SYM TEXT_STRING { - if (Lex->x509_subject) { - send_error(&Lex->thd->net,ER_GRANT_DUPL_SUBJECT); + LEX *lex=Lex; + if (lex->x509_subject) + { + net_printf(&lex->thd->net,ER_DUP_ARGUMENT, "SUBJECT"); YYABORT; - } else - Lex->x509_subject=$2.str; + } + lex->x509_subject=$2.str; } | ISSUER_SYM TEXT_STRING { - if (Lex->x509_issuer) { - send_error(&Lex->thd->net,ER_GRANT_DUPL_ISSUER); + LEX *lex=Lex; + if (lex->x509_issuer) + { + net_printf(&lex->thd->net,ER_DUP_ARGUMENT, "ISSUER"); YYABORT; - } else - Lex->x509_issuer=$2.str; + } + lex->x509_issuer=$2.str; } | CIPHER_SYM TEXT_STRING { - if (Lex->ssl_cipher) { - send_error(&Lex->thd->net,ER_GRANT_DUPL_CIPHER); + LEX *lex=lex; + if (lex->ssl_cipher) + { + net_printf(&lex->thd->net,ER_DUP_ARGUMENT, "CHIPER"); YYABORT; - } else - Lex->ssl_cipher=$2.str; + } + lex->ssl_cipher=$2.str; } opt_table: @@ -3491,7 +3497,7 @@ union_list: if (lex->exchange) { /* Only the last SELECT can have INTO...... */ - net_printf(¤t_thd->net, ER_WRONG_USAGE,"UNION","INTO"); + net_printf(&lex->thd->net, ER_WRONG_USAGE,"UNION","INTO"); YYABORT; } mysql_new_select(lex); diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh index 287fa76fb42..e62b8e84f9b 100644 --- a/support-files/mysql.spec.sh +++ b/support-files/mysql.spec.sh @@ -1,6 +1,6 @@ %define mysql_version @VERSION@ %define shared_lib_version @SHARED_LIB_VERSION@ -%define release 1 +%define release 2 %define mysqld_user mysql %define see_base For a description of MySQL see the base MySQL RPM or http://www.mysql.com @@ -139,6 +139,20 @@ Optional MySQL server binary that supports features like transactional tables. To active this binary, just install this package after the MySQL package. +%package embedded +Release: %{release} +Requires: devel +Summary: MySQL - embedded library +Group: Applications/Databases +Summary(pt_BR): MySQL - Medições de desempenho +Group(pt_BR): Aplicações/Banco_de_Dados +Obsoletes: embedded + +%description devel +This package contains the MySQL server as library. + +%{see_base} + %prep %setup -n mysql-%{mysql_version} @@ -172,6 +186,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-/bin:/usr/bin}\" \ --infodir=/usr/info \ --includedir=/usr/include \ --mandir=/usr/man \ + --with-embedded-server \ --with-comment=\"Official MySQL RPM\"; # Add this for more debugging support # --with-debug @@ -345,6 +360,7 @@ fi %attr(755, root, root) /usr/bin/mysqlbug %attr(755, root, root) /usr/bin/mysqltest %attr(755, root, root) /usr/bin/mysqlhotcopy +%attr(755, root, root) /usr/bin/mysql_explain %attr(755, root, root) /usr/bin/perror %attr(755, root, root) /usr/bin/replace %attr(755, root, root) /usr/bin/resolveip @@ -412,8 +428,15 @@ fi %attr(755, root, root) /usr/sbin/mysqld-max %attr(644, root, root) /usr/lib/mysql/mysqld-max.sym +%files embedded +%attr(755, root, root) /usr/lib/mysql/libmysqld.a + %changelog +* Mon Oct 8 2001 Monty + +- Added embedded server as a separate RPM + * Fri Apr 13 2001 Monty - Added mysqld-max to the distribution diff --git a/tools/mysqlmanager.c b/tools/mysqlmanager.c index f595d8564ce..4a3981a890e 100644 --- a/tools/mysqlmanager.c +++ b/tools/mysqlmanager.c @@ -645,7 +645,7 @@ err: return 1; } -HANDLE_DECL(query) +HANDLE_DECL(handle_query) { const char* error=0; struct manager_exec* e; |