summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-03-17 13:38:07 -0800
committerunknown <jimw@mysql.com>2005-03-17 13:38:07 -0800
commit37130fc15d85ae4f0e64c19900be6a0a25767afc (patch)
treeae88c04703bc9f0ed970ff6bf5f82ece460b0e44
parent9cffa82b41ea9d59f2641a89c2a9bdee8301dee3 (diff)
parent63a2b47db7fb9c7409e667c42aea38745800a3bf (diff)
downloadmariadb-git-37130fc15d85ae4f0e64c19900be6a0a25767afc.tar.gz
Merge mysql.com:/home/jimw/my/mysql-5.0-build
into mysql.com:/home/jimw/my/mysql-5.0-clean mysql-test/t/sp.test: Auto merged
-rw-r--r--libmysql/libmysql.c3
-rw-r--r--mysql-test/r/sp.result22
-rw-r--r--mysql-test/r/sp_trans.result22
-rw-r--r--mysql-test/t/sp.test25
-rw-r--r--mysql-test/t/sp_trans.test35
-rw-r--r--tests/mysql_client_test.c2
6 files changed, 60 insertions, 49 deletions
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index 20a000f1e4d..9746cb222fa 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -4144,7 +4144,8 @@ static my_bool is_binary_compatible(enum enum_field_types type1,
range4[]= { MYSQL_TYPE_ENUM, MYSQL_TYPE_SET, MYSQL_TYPE_TINY_BLOB,
MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB,
MYSQL_TYPE_VAR_STRING, MYSQL_TYPE_STRING, MYSQL_TYPE_GEOMETRY,
- MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NULL },
+ MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NULL };
+ static const enum enum_field_types
*range_list[]= { range1, range2, range3, range4 },
**range_list_end= range_list + sizeof(range_list)/sizeof(*range_list);
const enum enum_field_types **range, *type;
diff --git a/mysql-test/r/sp.result b/mysql-test/r/sp.result
index 2984bd3975f..5366ecb2be3 100644
--- a/mysql-test/r/sp.result
+++ b/mysql-test/r/sp.result
@@ -2778,25 +2778,3 @@ a
drop procedure bug8937|
delete from t1|
drop table t1,t2;
-drop procedure if exists sp1;
-create table t1 (a int) engine=innodb|
-create procedure sp1 ()
-begin
-truncate table t1; insert t1 values (1); rollback;
-end
-|
-set autocommit=0;
-insert t1 values (2);
-call sp1();
-ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
-commit;
-set autocommit=1;
-select * from t1;
-a
-2
-call sp1();
-select * from t1;
-a
-1
-drop table t1;
-drop procedure sp1;
diff --git a/mysql-test/r/sp_trans.result b/mysql-test/r/sp_trans.result
new file mode 100644
index 00000000000..0a28fae3c0d
--- /dev/null
+++ b/mysql-test/r/sp_trans.result
@@ -0,0 +1,22 @@
+drop procedure if exists sp1;
+create table t1 (a int) engine=innodb|
+create procedure sp1 ()
+begin
+truncate table t1; insert t1 values (1); rollback;
+end|
+set autocommit=0;
+insert t1 values (2);
+call sp1();
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+commit;
+select * from t1;
+a
+2
+call sp1();
+ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
+set autocommit=1;
+select * from t1;
+a
+2
+drop table t1;
+drop procedure sp1;
diff --git a/mysql-test/t/sp.test b/mysql-test/t/sp.test
index 4ea121fefeb..fe00038a595 100644
--- a/mysql-test/t/sp.test
+++ b/mysql-test/t/sp.test
@@ -3392,28 +3392,3 @@ delete from t1|
delimiter ;|
drop table t1,t2;
-#
-# BUG#8850
-#
---disable_warnings
-drop procedure if exists sp1;
---enable_warnings
-delimiter |;
-create table t1 (a int) engine=innodb|
-create procedure sp1 ()
-begin
- truncate table t1; insert t1 values (1); rollback;
-end
-|
-delimiter ;|
-set autocommit=0;
-insert t1 values (2);
---error 1192
-call sp1();
-commit;
-set autocommit=1;
-select * from t1;
-call sp1();
-select * from t1;
-drop table t1;
-drop procedure sp1;
diff --git a/mysql-test/t/sp_trans.test b/mysql-test/t/sp_trans.test
new file mode 100644
index 00000000000..30622027a94
--- /dev/null
+++ b/mysql-test/t/sp_trans.test
@@ -0,0 +1,35 @@
+#
+# tests that require InnoDB...
+#
+
+-- source include/have_innodb.inc
+
+#
+# BUG#8850
+#
+--disable_warnings
+drop procedure if exists sp1;
+--enable_warnings
+delimiter |;
+create table t1 (a int) engine=innodb|
+create procedure sp1 ()
+begin
+ truncate table t1; insert t1 values (1); rollback;
+end|
+delimiter ;|
+set autocommit=0;
+insert t1 values (2);
+--error 1192
+call sp1();
+commit;
+select * from t1;
+#
+# when CALL will be fixed to not start a transaction, the error should
+# go away
+--error 1192
+call sp1();
+set autocommit=1;
+select * from t1;
+drop table t1;
+drop procedure sp1;
+
diff --git a/tests/mysql_client_test.c b/tests/mysql_client_test.c
index 626b90faf73..d3f19391ee5 100644
--- a/tests/mysql_client_test.c
+++ b/tests/mysql_client_test.c
@@ -10976,7 +10976,7 @@ static void test_view_insert()
MYSQL_STMT *insert_stmt, *select_stmt;
int rc, i;
MYSQL_BIND bind[1];
- long my_val = 0L;
+ int my_val = 0;
ulong my_length = 0L;
long my_null = 0L;
const char *query=