summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2002-12-01 00:48:35 +0200
committerunknown <monty@mashka.mysql.fi>2002-12-01 00:48:35 +0200
commitb22dc24cbb160d0bbe7e43fc67d22d6147740f6b (patch)
treea726bf37c8fdf17db95a039fbba27a43d981696f /sql
parentfdc094f53579877a020c78cdc4796cc0260c891b (diff)
downloadmariadb-git-b22dc24cbb160d0bbe7e43fc67d22d6147740f6b.tar.gz
Fixed some bugs from last multi-table-update push.
More tests for multi-table-update & timestamp handling mysql-test/r/innodb.result: New multi-table-update tests mysql-test/r/multi_update.result: New multi-table-update tests mysql-test/r/type_timestamp.result: New timestamp tests mysql-test/t/innodb.test: New multi-table-update tests mysql-test/t/multi_update.test: New multi-table-update tests mysql-test/t/type_timestamp.test: New timestamp tests sql/sql_select.cc: Fixed bug in safe mode checking sql/sql_update.cc: Fixed bug in autocommit in multi-table-update
Diffstat (limited to 'sql')
-rw-r--r--sql/sql_select.cc2
-rw-r--r--sql/sql_update.cc4
2 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index a97bd8bac0a..89f0ac1885a 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -2744,7 +2744,7 @@ bool error_if_full_join(JOIN *join)
tab < end;
tab++)
{
- if (tab->type == JT_ALL && !tab->select->quick)
+ if (tab->type == JT_ALL && (!tab->select || !tab->select->quick))
{
my_error(ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE,MYF(0));
return(1);
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 12d0ee8d7a2..887d4e0acc0 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -832,7 +832,7 @@ bool multi_update::send_eof()
Query_log_event qinfo(thd, thd->query, thd->query_length,
log_delayed);
if (mysql_bin_log.write(&qinfo) && trans_safe)
- local_error=1; // Rollback update
+ local_error= 1; // Rollback update
}
if (!log_delayed)
thd->options|=OPTION_STATUS_NO_TRANS_UPDATE;
@@ -840,7 +840,7 @@ bool multi_update::send_eof()
if (transactional_tables)
{
- if (ha_autocommit_or_rollback(thd, local_error >= 0))
+ if (ha_autocommit_or_rollback(thd, local_error != 0))
local_error=1;
}