summaryrefslogtreecommitdiff
path: root/sql/sql_load.cc
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2003-05-26 19:10:43 +0300
committerunknown <heikki@hundin.mysql.fi>2003-05-26 19:10:43 +0300
commitcf381ae46b639a9f928a706e7268214aac8b5b48 (patch)
tree1350dc4877b9878316638fceb4a88709e7cda9d7 /sql/sql_load.cc
parent720584b0c6eb435fa87b5da42578f214d83735d1 (diff)
downloadmariadb-git-cf381ae46b639a9f928a706e7268214aac8b5b48.tar.gz
ha_innodb.cc:
Remove accidenatlly committed debug printfs when query cache is used sql_update.cc, sql_load.cc, sql_insert.cc, sql_delete.cc: For the transactional query cache algorithm to work we must invalidate the query cache in INSERT/DELETE/UPDATE before writing to the binlog or calling ha_autocommit_... Note that binlog writing may also call commit. The crucial thing is that the transaction which modified data must not be committed BEFORE the query cache is invalidated. sql/sql_delete.cc: For the transactional query cache algorithm to work we must invalidate the query cache in INSERT/DELETE/UPDATE before writing to the binlog or calling ha_autocommit_... Note that binlog writing may also call commit. The crucial thing is that the transaction which modified data must not be committed BEFORE the query cache is invalidated. sql/sql_insert.cc: For the transactional query cache algorithm to work we must invalidate the query cache in INSERT/DELETE/UPDATE before writing to the binlog or calling ha_autocommit_... Note that binlog writing may also call commit. The crucial thing is that the transaction which modified data must not be committed BEFORE the query cache is invalidated. sql/sql_load.cc: For the transactional query cache algorithm to work we must invalidate the query cache in INSERT/DELETE/UPDATE before writing to the binlog or calling ha_autocommit_... Note that binlog writing may also call commit. The crucial thing is that the transaction which modified data must not be committed BEFORE the query cache is invalidated. sql/sql_update.cc: For the transactional query cache algorithm to work we must invalidate the query cache in INSERT/DELETE/UPDATE before writing to the binlog or calling ha_autocommit_... Note that binlog writing may also call commit. The crucial thing is that the transaction which modified data must not be committed BEFORE the query cache is invalidated. sql/ha_innodb.cc: Remove accidenatlly committed debug printfs when query cache is used
Diffstat (limited to 'sql/sql_load.cc')
-rw-r--r--sql/sql_load.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/sql/sql_load.cc b/sql/sql_load.cc
index 7476472a79a..b79a3b739d7 100644
--- a/sql/sql_load.cc
+++ b/sql/sql_load.cc
@@ -283,6 +283,10 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
table->copy_blobs=0;
thd->count_cuted_fields=0; /* Don`t calc cuted fields */
+ /* We must invalidate the table in query cache before binlog writing and
+ ha_autocommit_... */
+ query_cache_invalidate3(thd, table_list, 0);
+
if (error)
{
if (transactional_table)
@@ -344,8 +348,6 @@ int mysql_load(THD *thd,sql_exchange *ex,TABLE_LIST *table_list,
}
if (transactional_table)
error=ha_autocommit_or_rollback(thd,error);
- query_cache_invalidate3(thd, table_list, 0);
-
err:
if (thd->lock)
{