summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2004-07-20 00:53:24 +0200
committerunknown <serg@serg.mylan>2004-07-20 00:53:24 +0200
commiteee5f15b92f71c74ce315932770a603e4deef477 (patch)
treeb39cfbb54d66b05cd075839aa58dc3215c8d4146 /sql
parentd57d78ac10980e28344f285bdbc986fa3ee3496e (diff)
parentb940ae1012b00e74e2155c4e35ca7872bed278e3 (diff)
downloadmariadb-git-eee5f15b92f71c74ce315932770a603e4deef477.tar.gz
manual merged (blame me!)
Build-tools/Do-compile: Auto merged Docs/Makefile.am: Auto merged innobase/btr/btr0cur.c: Auto merged innobase/include/lock0lock.h: Auto merged innobase/include/row0mysql.h: Auto merged innobase/include/srv0srv.h: Auto merged innobase/include/sync0arr.h: Auto merged innobase/include/trx0trx.h: Auto merged innobase/lock/lock0lock.c: Auto merged innobase/srv/srv0srv.c: Auto merged innobase/srv/srv0start.c: Auto merged innobase/sync/sync0arr.c: Auto merged innobase/trx/trx0trx.c: Auto merged sql/ha_innodb.cc: Auto merged sql/sql_insert.cc: Auto merged mysql-test/r/innodb.result: to be fixed after the merge
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_innodb.cc4
-rw-r--r--sql/sql_insert.cc8
-rw-r--r--sql/sql_load.cc5
3 files changed, 13 insertions, 4 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index 6eae315e443..21a2e338812 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -4783,8 +4783,8 @@ ha_innobase::external_lock(
trx->n_mysql_tables_in_use--;
prebuilt->mysql_has_locked = FALSE;
auto_inc_counter_for_this_stat = 0;
- if (trx->n_tables_locked) {
- row_unlock_table_for_mysql(trx);
+ if (trx->n_lock_table_exp) {
+ row_unlock_tables_for_mysql(trx);
}
/* If the MySQL lock count drops to zero we know that the current SQL
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc
index b769178565b..406bff6d273 100644
--- a/sql/sql_insert.cc
+++ b/sql/sql_insert.cc
@@ -1696,9 +1696,13 @@ void select_create::abort()
table->file->extra(HA_EXTRA_NO_IGNORE_DUP_KEY);
enum db_type table_type=table->db_type;
if (!table->tmp_table)
+ {
hash_delete(&open_cache,(byte*) table);
- if (!create_info->table_existed)
- quick_rm_table(table_type,db,name);
+ if (!create_info->table_existed)
+ quick_rm_table(table_type, db, name);
+ }
+ else if (!create_info->table_existed)
+ close_temporary_table(thd, db, name);
table=0;
}
VOID(pthread_mutex_unlock(&LOCK_open));
diff --git a/sql/sql_load.cc b/sql/sql_load.cc
index 167fb2daf8b..8442d03c1d9 100644
--- a/sql/sql_load.cc
+++ b/sql/sql_load.cc
@@ -310,6 +310,11 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
{
if (transactional_table)
ha_autocommit_or_rollback(thd,error);
+
+ if (read_file_from_client)
+ while (!read_info.next_line())
+ ;
+
#ifndef EMBEDDED_LIBRARY
if (mysql_bin_log.is_open())
{