summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/mysqltest.c14
-rw-r--r--include/mysqld_error.h6
-rw-r--r--libmysqld/Makefile.am2
-rw-r--r--mysql-test/include/have_isam.inc2
-rw-r--r--mysql-test/include/not_embedded.inc2
-rw-r--r--mysql-test/mysql-test-run.sh3
-rw-r--r--mysql-test/r/auto_increment.result1
-rw-r--r--mysql-test/r/count_distinct2.result1
-rw-r--r--mysql-test/r/create.result10
-rw-r--r--mysql-test/r/func_system.result2
-rw-r--r--mysql-test/r/isam.result37
-rw-r--r--mysql-test/r/lock.result18
-rw-r--r--mysql-test/r/lock_multi.result14
-rw-r--r--mysql-test/r/rename.result10
-rw-r--r--mysql-test/r/rpl000001.result4
-rw-r--r--mysql-test/r/tablelock.result7
-rw-r--r--mysql-test/t/rename.test16
-rw-r--r--sql/share/czech/errmsg.txt4
-rw-r--r--sql/share/danish/errmsg.txt4
-rw-r--r--sql/share/dutch/errmsg.txt4
-rw-r--r--sql/share/english/errmsg.txt4
-rw-r--r--sql/share/estonian/errmsg.txt4
-rw-r--r--sql/share/french/errmsg.txt4
-rw-r--r--sql/share/german/errmsg.txt4
-rw-r--r--sql/share/greek/errmsg.txt4
-rw-r--r--sql/share/hungarian/errmsg.txt4
-rw-r--r--sql/share/italian/errmsg.txt4
-rw-r--r--sql/share/japanese/errmsg.txt4
-rw-r--r--sql/share/korean/errmsg.txt4
-rw-r--r--sql/share/norwegian-ny/errmsg.txt4
-rw-r--r--sql/share/norwegian/errmsg.txt4
-rw-r--r--sql/share/polish/errmsg.txt4
-rw-r--r--sql/share/portuguese/errmsg.txt4
-rw-r--r--sql/share/romanian/errmsg.txt4
-rw-r--r--sql/share/russian/errmsg.txt4
-rw-r--r--sql/share/slovak/errmsg.txt4
-rw-r--r--sql/share/spanish/errmsg.txt4
-rw-r--r--sql/share/swedish/errmsg.txt4
-rw-r--r--sql/share/ukrainian/errmsg.txt4
-rw-r--r--sql/sql_lex.cc2
-rw-r--r--sql/sql_lex.h1
-rw-r--r--sql/sql_yacc.yy36
-rw-r--r--support-files/mysql.spec.sh25
-rw-r--r--tools/mysqlmanager.c2
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(&current_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;