From dd285aac1b005866c3d3ae3d1a4e6e890f838d42 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 16 Jun 2006 14:05:58 +0500 Subject: [PATCH] after-merge fixes. mysql-test/r/rpl_log.result: after-merge fix. sql/ha_archive.cc: after-merge fix. sql/item_func.cc: after-merge fix. sql/sql_class.cc: after-merge fix. sql/sql_class.h: after-merge fix. --- mysql-test/r/rpl_log.result | 10 +++++----- sql/ha_archive.cc | 2 +- sql/item_func.cc | 2 +- sql/sql_class.cc | 4 ++++ sql/sql_class.h | 3 ++- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/mysql-test/r/rpl_log.result b/mysql-test/r/rpl_log.result index 6a41a9b9e02..6ee0eb283b5 100644 --- a/mysql-test/r/rpl_log.result +++ b/mysql-test/r/rpl_log.result @@ -107,11 +107,11 @@ reset master; set insert_id=5; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id()); show binlog events; -Log_name Pos Event_type Server_id Orig_log_pos Info -slave-bin.000001 4 Start 2 4 Server ver: VERSION, Binlog ver: 3 -slave-bin.000001 79 Intvar 2 79 LAST_INSERT_ID=1 -slave-bin.000001 107 Intvar 2 107 INSERT_ID=5 -slave-bin.000001 135 Query 2 135 use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id()) +Log_name Pos Event_type Server_id End_log_pos Info +slave-bin.000001 4 Format_desc 2 98 Server ver: VERSION, Binlog ver: 4 +slave-bin.000001 98 Intvar 2 126 LAST_INSERT_ID=1 +slave-bin.000001 126 Intvar 2 154 INSERT_ID=5 +slave-bin.000001 154 Query 2 289 use `test`; insert into t1 values (NULL, last_insert_id()), (NULL, last_insert_id()) select * from t1; a b 1 1 diff --git a/sql/ha_archive.cc b/sql/ha_archive.cc index bfb90b607ee..3885defb4d5 100644 --- a/sql/ha_archive.cc +++ b/sql/ha_archive.cc @@ -1131,7 +1131,7 @@ int ha_archive::end_bulk_insert() int ha_archive::delete_all_rows() { DBUG_ENTER("ha_archive::delete_all_rows"); - DBUG_RETURN(0); + DBUG_RETURN(HA_ERR_WRONG_COMMAND); } /* diff --git a/sql/item_func.cc b/sql/item_func.cc index 2c770bec1ad..c75480aaeae 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -3296,7 +3296,7 @@ longlong Item_func_last_insert_id::val_int() return value; // Avoid side effect of insert_id() } thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT); - return thd->insert_id(); + return thd->last_insert_id_used ? thd->current_insert_id : thd->insert_id(); } /* This function is just used to test speed of different functions */ diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 65fd4d3ac19..678048226af 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -2050,7 +2050,9 @@ void THD::reset_sub_statement_state(Sub_statement_state *backup, backup->enable_slow_log= enable_slow_log; backup->last_insert_id= last_insert_id; backup->next_insert_id= next_insert_id; + backup->current_insert_id= current_insert_id; backup->insert_id_used= insert_id_used; + backup->last_insert_id_used= last_insert_id_used; backup->clear_next_insert_id= clear_next_insert_id; backup->limit_found_rows= limit_found_rows; backup->examined_row_count= examined_row_count; @@ -2099,7 +2101,9 @@ void THD::restore_sub_statement_state(Sub_statement_state *backup) enable_slow_log= backup->enable_slow_log; last_insert_id= backup->last_insert_id; next_insert_id= backup->next_insert_id; + current_insert_id= backup->current_insert_id; insert_id_used= backup->insert_id_used; + last_insert_id_used= backup->last_insert_id_used; clear_next_insert_id= backup->clear_next_insert_id; limit_found_rows= backup->limit_found_rows; sent_row_count= backup->sent_row_count; diff --git a/sql/sql_class.h b/sql/sql_class.h index 0ddba0e6f05..2cfc9142453 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1051,12 +1051,13 @@ class Sub_statement_state { public: ulonglong options; - ulonglong last_insert_id, next_insert_id; + ulonglong last_insert_id, next_insert_id, current_insert_id; ulonglong limit_found_rows; ha_rows cuted_fields, sent_row_count, examined_row_count; ulong client_capabilities; uint in_sub_stmt; bool enable_slow_log, insert_id_used, clear_next_insert_id; + bool last_insert_id_used; my_bool no_send_ok; SAVEPOINT *savepoints; };