summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <konstantin@mysql.com>2005-11-25 18:53:55 +0300
committerunknown <konstantin@mysql.com>2005-11-25 18:53:55 +0300
commit2e79201c727a593d93eae269e48e0240161525fd (patch)
tree2e9345044c8ec4193a9e0b1a7178ec253d4ed76f
parent61e454c0a9758a2c12fc8b949706d6f356a02041 (diff)
downloadmariadb-git-2e79201c727a593d93eae269e48e0240161525fd.tar.gz
Post-merge fixes.
-rw-r--r--mysql-test/r/ndb_basic.result8
-rw-r--r--mysql-test/r/ps.result19
-rw-r--r--mysql-test/r/select.result8
-rw-r--r--sql/sql_table.cc15
4 files changed, 38 insertions, 12 deletions
diff --git a/mysql-test/r/ndb_basic.result b/mysql-test/r/ndb_basic.result
index e288592c390..55cbbd89b3c 100644
--- a/mysql-test/r/ndb_basic.result
+++ b/mysql-test/r/ndb_basic.result
@@ -667,13 +667,13 @@ counter datavalue
57 newval
58 newval
drop table t1;
+CREATE TABLE t1 ( b INT ) PACK_KEYS = 0 ENGINE = ndb;
+select * from t1;
+b
+drop table t1;
create table atablewithareallylongandirritatingname (a int);
insert into atablewithareallylongandirritatingname values (2);
select * from atablewithareallylongandirritatingname;
a
2
drop table atablewithareallylongandirritatingname;
-CREATE TABLE t1 ( b INT ) PACK_KEYS = 0 ENGINE = ndb;
-select * from t1;
-b
-drop table t1;
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result
index f1c3672083d..742f68be445 100644
--- a/mysql-test/r/ps.result
+++ b/mysql-test/r/ps.result
@@ -806,3 +806,22 @@ execute stmt;
@@tx_isolation
REPEATABLE-READ
deallocate prepare stmt;
+prepare stmt from "create temporary table t1 (letter enum('','a','b','c')
+not null)";
+execute stmt;
+drop table t1;
+execute stmt;
+drop table t1;
+execute stmt;
+drop table t1;
+set names latin1;
+prepare stmt from "create table t1 (a enum('test') default 'test')
+ character set utf8";
+execute stmt;
+drop table t1;
+execute stmt;
+drop table t1;
+execute stmt;
+drop table t1;
+set names default;
+deallocate prepare stmt;
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 8a126b7ddfb..e9348a6640f 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -2708,6 +2708,14 @@ select distinct count(f2) >0 from t1 left join t2 on f1=f3 group by f1;
count(f2) >0
1
drop table t1,t2;
+create table t1 (f1 int,f2 int);
+insert into t1 values(1,1);
+create table t2 (f3 int, f4 int, primary key(f3,f4));
+insert into t2 values(1,1);
+select * from t1 where f1 in (select f3 from t2 where (f3,f4)= (select f3,f4 from t2));
+f1 f2
+1 1
+drop table t1,t2;
CREATE TABLE t1 ( city char(30) );
INSERT INTO t1 VALUES ('London');
INSERT INTO t1 VALUES ('Paris');
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 03ed0fe4e66..949417dfa30 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -729,7 +729,7 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
Create the typelib in prepared statement memory if we're
executing one.
*/
- MEM_ROOT *stmt_root= thd->current_arena->mem_root;
+ MEM_ROOT *stmt_root= thd->stmt_arena->mem_root;
interval= sql_field->interval= typelib(stmt_root,
sql_field->interval_list);
@@ -763,21 +763,20 @@ static int mysql_prepare_table(THD *thd, HA_CREATE_INFO *create_info,
*/
if (sql_field->def && cs != sql_field->def->collation.collation)
{
- Item_arena backup_arena;
- bool need_to_change_arena=
- !thd->current_arena->is_conventional_execution();
+ Query_arena backup_arena;
+ bool need_to_change_arena= !thd->stmt_arena->is_conventional();
if (need_to_change_arena)
{
/* Asser that we don't do that at every PS execute */
- DBUG_ASSERT(thd->current_arena->is_first_stmt_execute() ||
- thd->current_arena->is_first_sp_execute());
- thd->set_n_backup_item_arena(thd->current_arena, &backup_arena);
+ DBUG_ASSERT(thd->stmt_arena->is_first_stmt_execute() ||
+ thd->stmt_arena->is_first_sp_execute());
+ thd->set_n_backup_active_arena(thd->stmt_arena, &backup_arena);
}
sql_field->def= sql_field->def->safe_charset_converter(cs);
if (need_to_change_arena)
- thd->restore_backup_item_arena(thd->current_arena, &backup_arena);
+ thd->restore_active_arena(thd->stmt_arena, &backup_arena);
if (! sql_field->def)
{