1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-16 22:03:23 +03:00
Commit Graph

3167 Commits

Author SHA1 Message Date
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
a7c31fa761 Merge dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0
into  dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/merge_50_1
2006-11-14 13:04:40 +02:00
unknown
d149fc30d0 bug#19402 SQL close to the size of the max_allowed_packet fails on the slave
ver 5.0 and 5.1 refinement.
adding to the MAX_SIZE_LOG_EVENT_STATUS estimation status vars and 
EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN


sql/log_event.cc:
  assertion on size of status vars
sql/log_event.h:
  MAX_SIZE_LOG_EVENT_STATUS as the max bytes of contribution of status vars into repl
  message; MAX_SIZE_LOG_EVENT_STATUS is getting more wrt to 4.1 version.
2006-11-14 12:48:17 +02:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
650a245568 bug#19402 SQL close to the size of the max_allowed_packet fails on the slave
ver 5.0 and 5.1 refinement.
adding to the MAX_SIZE_LOG_EVENT_STATUS estimation status vars and 
EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN
2006-11-14 12:48:17 +02:00
unknown
9b50b66219 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/merge_50


sql/log_event.cc:
  Auto merged
2006-11-13 12:45:47 +02:00
aelkin/elkin@dsl-hkibras-fe30f900-107.dhcp.inet.fi
7b0eb936d1 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl
into  dsl-hkibras-fe30f900-107.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/merge_50
2006-11-13 12:45:47 +02:00
unknown
baaa102de5 BUG#23171 (Illegal slave restart group position):
Second patch to fix skipping code. Moving relay and binary log 
position changing code from do_apply_event [old exec_event()] into
do_update_pos() and doing other changes necessary to support that.

Fixing a bug that can cause deadlock if rotating binary log when committing
a changes to a transactional table that is not inside a transaction and
cause a rotate log.


sql/log.cc:
  Changing condition in binlog_commit() to skip calling
  binlog_end_trans() twice to match condition in binlog_end_trans().
sql/log_event.cc:
  Name change: apply_event_impl() -> do_apply_event()
  Name change: advance_coord_impl() -> do_update_pos()
  
  do_apply_event() now uses pointer to constant RELAY_LOG_INFO to prevent
  inadvertandly changing the position in the code. Doing this would make
  the skipping code loose track of where it is. All position changing code
  shall now be in do_update_pos().
  
  Factoring out relay and binary log position updating code from
  do_apply_event() [previously exec_event()] into do_update_pos().
  Using a safe approach to make it work: will refine the refactoring
  when the skipping code is implemented.
  
  Adding const casts where needed.
  
  Changing signature to use pointers to constant objects where needed.
sql/rpl_rli.cc:
  Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO.
  
  Debriding code.
sql/rpl_rli.h:
  Making cached_charset_compare() const to work with constant instances of RELAY_LOG_INFO.
  
  Debriding code.
sql/rpl_utility.cc:
  Using pointer to const RELAY_LOG_INFO to make it work with other code.
sql/rpl_utility.h:
  Using pointer to const RELAY_LOG_INFO to make it work with other code.
sql/slave.cc:
  Using pointer to const RELAY_LOG_INFO to make it work with other code.
  
  Adding const cast where necessary.
sql/slave.h:
  Using pointer to const RELAY_LOG_INFO to make it work with other code.
2006-11-10 15:10:41 +01:00
mats@romeo.(none)
1fb9105ebd BUG#23171 (Illegal slave restart group position):
Second patch to fix skipping code. Moving relay and binary log 
position changing code from do_apply_event [old exec_event()] into
do_update_pos() and doing other changes necessary to support that.

Fixing a bug that can cause deadlock if rotating binary log when committing
a changes to a transactional table that is not inside a transaction and
cause a rotate log.
2006-11-10 15:10:41 +01:00
unknown
e0fc25e982 Bug#23619 Incorrectly escaped multibyte characters in binary log break replication
Problem: when embedding a character string with introducer with charset X
into a SQL query which is generally in character set Y, the string constants
were escaped according to their own character set (i.e.X), then after reading
such a "mixed" query from binlog, the string constants were unescaped
using character set of the query (i.e. Y), instead of X, which gave wrong
results or even syntax errors with tricky charsets (e.g. sjis)
Fix: when embedding a string constant of charset X into a query of charset Y,
the string constant is now escaped according to character Y, instead of
its own character set X.


mysql-test/r/ctype_cp932_binlog.result:
  Fixing test results.
sql/log_event.cc:
  Using character set "csinfo" instead of the string character set.
sql/sp_head.cc:
  - adding "thd" argument to sp_get_item_value()
    to have access to thd->variables.character_set_client
  - using character_set_client for escaping, instead of
    the string character set
mysql-test/r/rpl_charset_sjis.result:
  Adding test case
mysql-test/t/rpl_charset_sjis.test:
  Adding test case
2006-11-09 14:27:34 +04:00
bar@mysql.com/bar.intranet.mysql.r18.ru
a5de478d51 Bug#23619 Incorrectly escaped multibyte characters in binary log break replication
Problem: when embedding a character string with introducer with charset X
into a SQL query which is generally in character set Y, the string constants
were escaped according to their own character set (i.e.X), then after reading
such a "mixed" query from binlog, the string constants were unescaped
using character set of the query (i.e. Y), instead of X, which gave wrong
results or even syntax errors with tricky charsets (e.g. sjis)
Fix: when embedding a string constant of charset X into a query of charset Y,
the string constant is now escaped according to character Y, instead of
its own character set X.
2006-11-09 14:27:34 +04:00
unknown
3763edd393 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge


BitKeeper/etc/collapsed:
  auto-union
include/m_ctype.h:
  Auto merged
mysql-test/r/binlog_row_mix_innodb_myisam.result:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
unittest/mytap/tap.c:
  Auto merged
sql/log_event.cc:
  manual merge
sql/sql_class.cc:
  manual merge
2006-11-07 19:26:31 +01:00
lars/lthalmann@dl145h.mysql.com
3776e9622b Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
2006-11-07 19:26:31 +01:00
unknown
5bf5ccff63 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b23171-mysql-5.1-new-rpl


sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
2006-11-04 21:10:01 +01:00
mats@romeo.(none)
edb7045353 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b23171-mysql-5.1-new-rpl
2006-11-04 21:10:01 +01:00
unknown
4c3283b3b3 Post-merge fixes.
sql/log_event.cc:
  Fixing comment
sql/rpl_rli.cc:
  Removing code that was moved to other file.
2006-11-03 21:55:51 +01:00
mats@romeo.(none)
efaa0f4092 Post-merge fixes. 2006-11-03 21:55:51 +01:00
unknown
42904cdfdc Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b18581-mysql-5.1-new-rpl


sql/log_event.cc:
  Auto merged
sql/rpl_rli.h:
  Auto merged
sql/sql_class.cc:
  Auto merged
2006-11-03 21:11:58 +01:00
mats@romeo.(none)
a726fec6e7 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b18581-mysql-5.1-new-rpl
2006-11-03 21:11:58 +01:00
unknown
5a7bbcd571 Bug#16228/Bug#20697 - related.
Bug#23831  deadlock not noticed

RBR bug in that when replicated msta (multi-statement-trans-action) deadlocks
with a local at write row event or gets timed-out, the event handler did not return
the correct error code.
Wrong error code stops slave sql thread instead of to proceed with
rollback and replay.

The correct code is typed in error log and stored for error handling rotine
to conduct rollback and replay of the transaction. The handling for the rbr
remains the same as for the sbr events.
Particularly, timed-out transaction still is rolled back - look at the related bugs.


mysql-test/extra/rpl_tests/rpl_deadlock.test:
  fixing deadlock stimulation, commented on potential race condition and left todo.
mysql-test/r/rpl_deadlock_innodb.result:
  changed
sql/log_event.cc:
  returning the correct errors for write row event type;
  storing DL, TO error codes to check at grand-caller in step with sbr.
2006-11-03 14:26:40 +02:00
aelkin/elkin@dsl-hkigw8-feaef900-46.dhcp.inet.fi
8823b832bb Bug#16228/Bug#20697 - related.
Bug#23831  deadlock not noticed

RBR bug in that when replicated msta (multi-statement-trans-action) deadlocks
with a local at write row event or gets timed-out, the event handler did not return
the correct error code.
Wrong error code stops slave sql thread instead of to proceed with
rollback and replay.

The correct code is typed in error log and stored for error handling rotine
to conduct rollback and replay of the transaction. The handling for the rbr
remains the same as for the sbr events.
Particularly, timed-out transaction still is rolled back - look at the related bugs.
2006-11-03 14:26:40 +02:00
unknown
70111f50c9 Changes to the code are necessary to compile on Windows. Typecasts are needed in several DBUG_DUMP statements. CAB 01 Nov 2006
sql/log_event.cc:
  The changes are so that the code will compile on Windows. Typecasts are needed on the DBUG_DUMP statements to cast a byte * to a char *.
sql/sql_class.cc:
  The changes are necessary to get the code to compile on Windows. The DBUG_DUMP statements need a typecast.
2006-11-01 11:52:32 -05:00
cbell/Chuck@mysql_cab.
367a41c308 Changes to the code are necessary to compile on Windows. Typecasts are needed in several DBUG_DUMP statements. CAB 01 Nov 2006 2006-11-01 11:52:32 -05:00
unknown
c078453f92 BUG#23171 (Illegal slave restart group position):
First patch preparing for restructuring the event execution and event
skipping. This patch renames the existing (virtual) function exec_event()
to be a primitive for implementing the real patch. Also, the virtual function
advance_coord_impl() is added to advance the binary/relay log coordinates,
and two non-virtual functions exec_event() [sic] and skip_event() is added
that will contain the business logic for executing and skipping events
respectively.


sql/log.cc:
  Renaming exec_event()
sql/log_event.cc:
  Renaming exec_event()
sql/log_event.h:
  Renaming exec_event() to apply_event_impl()
  Addng new non-virtual exec_event() that will contain business logic
  for event execution.
  Adding new non-virtual skip_event() that will contain business logic
  for skipping an event.
  Adding new virtual advance_coord_impl() as primitive to advance
  binary/relay log coordinates according to the event's needs.
2006-11-01 15:35:37 +01:00
mats@romeo.(none)
9372c38c6b BUG#23171 (Illegal slave restart group position):
First patch preparing for restructuring the event execution and event
skipping. This patch renames the existing (virtual) function exec_event()
to be a primitive for implementing the real patch. Also, the virtual function
advance_coord_impl() is added to advance the binary/relay log coordinates,
and two non-virtual functions exec_event() [sic] and skip_event() is added
that will contain the business logic for executing and skipping events
respectively.
2006-11-01 15:35:37 +01:00
unknown
66a0403602 BUG#18581 (Creation of system tables recorded in binlog causing slave failure):
Not replicating the mysql database *at all* any more. All changes to
mysql tables are replicated by replicating the statements that do
the changes.


mysql-test/r/rpl_do_grant.result:
  Result change
mysql-test/t/rpl_do_grant.test:
  Deleting grants on both master and server since the mysql
  database is not replicated any more.
sql/handler.cc:
  Removing code that selectively checks what tables in the mysql
  database to ignore. The entire mysql database is not replicated
  any more.
sql/log_event.cc:
  Disabling code to reload grants and access when certain tables are
  touched.
sql/rpl_rli.h:
  Removing unused code.
sql/slave.cc:
  Removing unused code.
sql/sql_class.cc:
  Mysql queries (i.e., queries that affects tables in the mysql database)
  are now replicated by statement instead of replicating the tables in
  the mysql database.
2006-11-01 09:49:03 +01:00
mats@romeo.(none)
83f8e17258 BUG#18581 (Creation of system tables recorded in binlog causing slave failure):
Not replicating the mysql database *at all* any more. All changes to
mysql tables are replicated by replicating the statements that do
the changes.
2006-11-01 09:49:03 +01:00
unknown
eaaf795ce8 log_event.cc, sql_class.cc:
VisualStudio needs cast from (byte*) to (const char*), 3rd arg to _db_dump_()


sql/sql_class.cc:
  VisualStudio needs cast from (byte*) to (const char*), 3rd arg to _db_dump_()
sql/log_event.cc:
  VisualStudio needs cast from (byte*) to (const char*), 3rd arg to _db_dump_()
2006-10-13 03:32:38 +02:00
kent@mysql.com/c-584072d5.010-2112-6f72651.cust.bredbandsbolaget.se
f0bb52ab13 log_event.cc, sql_class.cc:
VisualStudio needs cast from (byte*) to (const char*), 3rd arg to _db_dump_()
2006-10-13 03:32:38 +02:00
unknown
3f3ffdccc1 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b21474-mysql-5.1-new-rpl


sql/log_event.cc:
  Auto merged
2006-10-10 15:26:02 +02:00
mats@romeo.(none)
1023aecb1c Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b21474-mysql-5.1-new-rpl
2006-10-10 15:26:02 +02:00
unknown
55ce447188 BUG#21474 (There is a rotation before the last table map):
Removing code to step the group log position and just stepping
the event log position.  If the group log position were stepped
one time too many, it might be that the group starts at a position
that is not possible, e.g., at a Rows_log_event, or between an
Intvar_log_event and the following associated Query_log_event.


sql/log_event.cc:
  Removing code to step the group log position and just stepping
  the event log position.  If the group log position were stepped
  one time too many, it might be that the group starts at a position
  that is not possible, e.g., at a Rows_log_event, or between an
  Intvar_log_event and the following associated Query_log_event.
sql/slave.cc:
  Removing code to step the group log position and just stepping
  the event log position when executing a Format_description_log_event.
  If the group log position were stepped one time too many, it might be that the group starts at a position
  that is not possible, e.g., at a Rows_log_event, or between an
  Intvar_log_event and the following associated Query_log_event.
2006-10-10 15:18:21 +02:00
mats@romeo.(none)
6c3b1f6eb0 BUG#21474 (There is a rotation before the last table map):
Removing code to step the group log position and just stepping
the event log position.  If the group log position were stepped
one time too many, it might be that the group starts at a position
that is not possible, e.g., at a Rows_log_event, or between an
Intvar_log_event and the following associated Query_log_event.
2006-10-10 15:18:21 +02:00
unknown
010edb7eec Fixes to make replication team tree build on Windows.
sql/log_event.cc:
  Adding casts to make it compile on Windows.
2006-10-10 14:58:40 +02:00
mats@romeo.(none)
799585c5ac Fixes to make replication team tree build on Windows. 2006-10-10 14:58:40 +02:00
unknown
5e81d1301e Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b19459-mysql-5.1-new


client/mysqlbinlog.cc:
  Auto merged
include/my_sys.h:
  Auto merged
mysys/base64.c:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
  Auto merged
sql/share/errmsg.txt:
  SCCS merged
2006-10-06 15:31:05 +02:00
mats@romeo.(none)
d4d26ba7d5 Merge romeo.(none):/home/bkroot/mysql-5.1-new-rpl
into  romeo.(none):/home/bk/b19459-mysql-5.1-new
2006-10-06 15:31:05 +02:00
unknown
d8be311335 BUG#19459 (BINLOG RBR command does not lock tables correctly causing
crash for, e.g., NDB):

Before, mysqlbinlog printed table map events as a separate statement, so
when executing the event, the opened table was subsequently closed
when the statement ended. Instead, the row-based events that make up
a statement are now printed as *one* BINLOG statement, which means
that the table maps and the following *_rows_log_event events are
executed fully before the statement ends.

Changing implementation of BINLOG statement to be able to read the 
emitted format, which now consists of several chunks of BASE64-encoded
data.


client/mysqlbinlog.cc:
  Using IO_CACHE to print events instead of directly to file.
  Factoring out code to write event header and base64 representation into
  separate function.
mysys/mf_iocache2.c:
  Correcting name in documentation.
sql/log_event.cc:
  Adding class Write_on_release_cache that holds an IO_CACHE and that
  will write contents of IO_CACHE to a designated file on destruction.
  
  Changing signature of event printing functions print_header() and print_base64()
  to write to IO_CACHE and changing *all* calls in those functions in accordance.
  This means that all printing functions now print to an IO_CACHE instead of to a file,
  and that the IO_CACHE is then copied to the file.
  
  The print() function have the same signature as before, but since it is
  using print_header() and print_base64(), the data will now be printed
  to an IO_CACHE and then copied to the file.
  
  Changing row-based replication events to incrementally build one
  BINLOG statement for all events making up a statement.
sql/log_event.h:
  Changing signature of event printing functions print_header() and
  print_base64() to write to an IO_CACHE instead of a file.
  
  Changing row-based replication events to incrementally build one
  BINLOG statement for all events making up a statement.
  
  Adding a head_cache and a body_cache to cache statement comment 
  and statement body respectively. In addition, the head_cache is used
  when printing other events than the RBR events.
sql/sql_binlog.cc:
  Changing code to be able to decode several pieces of base64-encoded data
  for a BINLOG statement. The BINLOG statement now consists of several pieces
  of BASE64-encoded data, so once a block has been decoded and executed, the
  next block has to be read from the statement until there is no more
  data to read.
2006-10-06 10:17:02 +02:00
mats@romeo.(none)
e762328b54 BUG#19459 (BINLOG RBR command does not lock tables correctly causing
crash for, e.g., NDB):

Before, mysqlbinlog printed table map events as a separate statement, so
when executing the event, the opened table was subsequently closed
when the statement ended. Instead, the row-based events that make up
a statement are now printed as *one* BINLOG statement, which means
that the table maps and the following *_rows_log_event events are
executed fully before the statement ends.

Changing implementation of BINLOG statement to be able to read the 
emitted format, which now consists of several chunks of BASE64-encoded
data.
2006-10-06 10:17:02 +02:00
unknown
be929087ec BUG#21726: Incorrect result with multiple invocations of LAST_INSERT_ID
Non-upper-level INSERTs (the ones in the body of stored procedure,
stored function, or trigger) into a table that have AUTO_INCREMENT
column didn't affected the result of LAST_INSERT_ID() on this level.

The problem was introduced with the fix of bug 6880, which in turn was
introduced with the fix of bug 3117, where current insert_id value was
remembered on the first call to LAST_INSERT_ID() (bug 3117) and was
returned from that function until it was reset before the next
_upper-level_ statement (bug 6880).

The fix for bug#21726 brings back the behaviour of version 4.0, and
implements the following: remember insert_id value at the beginning
of the statement or expression (which at that point equals to
the first insert_id value generated by the previous statement), and
return that remembered value from LAST_INSERT_ID() or @@LAST_INSERT_ID.

Thus, the value returned by LAST_INSERT_ID() is not affected by values
generated by current statement, nor by LAST_INSERT_ID(expr) calls in
this statement.

Version 5.1 does not have this bug (it was fixed by WL 3146).


mysql-test/r/rpl_insert_id.result:
  Add results for bug#21726: Incorrect result with multiple invocations
  of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
  does not replicate statement-based.
mysql-test/t/rpl_insert_id.test:
  Add test cases for bug#21726: Incorrect result with multiple invocations
  of LAST_INSERT_ID, and bug#20339: stored procedure using LAST_INSERT_ID()
  does not replicate statement-based.
sql/item_func.cc:
  Add implementation of Item_func_last_insert_id::fix_fields(), where we
  remember in THD::current_insert_id the first value generated during
  execution of the previous statement, which is returned then from
  Item_func_last_insert_id::val_int().
sql/item_func.h:
  Add declaration of Item_func_last_insert_id::fix_fields().
sql/log_event.cc:
  Do not set THD::last_insert_id_used on LAST_INSERT_ID_EVENT.  Though we
  know the statement will call LAST_INSERT_ID(), it wasn't called yet.
sql/set_var.cc:
  In sys_var_last_insert_id::value_ptr() remember in
  THD::current_insert_id the first value generated during execution of the
  previous statement, and return this value for @@LAST_INSERT_ID.
sql/sql_class.cc:
  Reset THD::last_insert_id_used after each statement execution.
sql/sql_class.h:
  Rather then remember current insert_id value on first invocation of
  THD::insert_id(), remember it in Item_func_last_insert_id::fix_fields(),
  sys_var_last_insert_id::value_ptr(), or mysql_execute_command().
  Remove THD::insert_id(), as it lost its value now.
sql/sql_insert.cc:
  THD::insert_id() is removed, use THD::last_insert_id directly.
sql/sql_load.cc:
  THD::insert_id() is removed, using THD::last_insert_id directly is OK.
sql/sql_parse.cc:
  Remember in THD::current_insert_id first generated insert id value of
  the previous statement in mysql_execute_command().
  No need to reset THD::last_insert_id_used in
  mysql_reset_thd_for_next_command(), it will be reset after each
  statement.
sql/sql_select.cc:
  If "IS NULL" is replaced with "= <LAST_INSERT_ID>", use right value,
  which is THD::current_insert_id, and also set THD::last_insert_id_used
  to issue binary log LAST_INSERT_ID_EVENT.
sql/sql_update.cc:
  THD::insert_id() is removed, use THD::last_insert_id directly.
tests/mysql_client_test.c:
  Add test case for bug#21726: Incorrect result with multiple invocations
  of LAST_INSERT_ID.
2006-10-02 14:28:23 +04:00
kroki/tomash@moonlight.intranet
5ea8adfae7 BUG#21726: Incorrect result with multiple invocations of LAST_INSERT_ID
Non-upper-level INSERTs (the ones in the body of stored procedure,
stored function, or trigger) into a table that have AUTO_INCREMENT
column didn't affected the result of LAST_INSERT_ID() on this level.

The problem was introduced with the fix of bug 6880, which in turn was
introduced with the fix of bug 3117, where current insert_id value was
remembered on the first call to LAST_INSERT_ID() (bug 3117) and was
returned from that function until it was reset before the next
_upper-level_ statement (bug 6880).

The fix for bug#21726 brings back the behaviour of version 4.0, and
implements the following: remember insert_id value at the beginning
of the statement or expression (which at that point equals to
the first insert_id value generated by the previous statement), and
return that remembered value from LAST_INSERT_ID() or @@LAST_INSERT_ID.

Thus, the value returned by LAST_INSERT_ID() is not affected by values
generated by current statement, nor by LAST_INSERT_ID(expr) calls in
this statement.

Version 5.1 does not have this bug (it was fixed by WL 3146).
2006-10-02 14:28:23 +04:00
unknown
cdf8050b4f Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  romeo.(none):/home/bkroot/mysql-5.1-new-rpl


sql/log_event.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2006-09-21 18:11:35 +02:00
mats@romeo.(none)
3b9b6e6544 Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  romeo.(none):/home/bkroot/mysql-5.1-new-rpl
2006-09-21 18:11:35 +02:00
unknown
8de1783a49 BUG#22550 (Replication of BIT column failing):
Using move_field_offset() to move field pointer to other record before
calling pack()/unpack().


sql/log_event.cc:
  Using move_field_offset() to move the field pointer. It is necessary
  for unpack() and pack() of BIT fields to operate correctly.
  Adding debug printouts.
sql/sql_class.cc:
  Using move_field_offset() to move the field pointer. It is necessary
  for unpack() and pack() of BIT fields to operate correctly.
  Adding debug printouts to packing of update rows event.
2006-09-21 18:05:02 +02:00
mats@romeo.(none)
f5b8614fc7 BUG#22550 (Replication of BIT column failing):
Using move_field_offset() to move field pointer to other record before
calling pack()/unpack().
2006-09-21 18:05:02 +02:00
unknown
c441c64e98 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge


BitKeeper/etc/ignore:
  auto-union
Makefile.am:
  Auto merged
client/mysqldump.c:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/CMakeLists.txt:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
mysql-test/r/mysqldump.result:
  Restoring rpl tree mysqldump test file to main tree test files
mysql-test/r/status.result:
  Manual merge
mysql-test/t/mysqldump.test:
  Restoring rpl tree mysqldump test file to main tree test files
2006-09-21 00:23:20 +02:00
lars/lthalmann@dl145j.mysql.com
57a74ea4af Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
2006-09-21 00:23:20 +02:00
unknown
c10a90f290 Fixed the faulty merge 2006-09-13 21:25:33 +04:00
kaa@polly.local
46f2a4dbc6 Fixed the faulty merge 2006-09-13 21:25:33 +04:00
unknown
3936ce19d2 WL#3259 (RBR with more columns on slave than master):
Incorporating changes from review.
Fixing one bug that surfaced.


mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Adding tests that UPDATE and DELETE does not generate an error.
mysql-test/r/rpl_row_tabledefs_2myisam.result:
  Result change.
mysql-test/r/rpl_row_tabledefs_3innodb.result:
  Result change.
mysql-test/t/disabled.def:
  Enabling rpl_sp_effects (even though it gives a result mismatch currently).
sql/field.cc:
  Using constant to denote undefined last null byte.
sql/field.h:
  Using constant to denote undefined last null byte.
  Adding documentation.
sql/log_event.cc:
  Not generating error for non-NULL no-DEFAULT columns when updating or deleting row.
  Better documentation and comments.
sql/rpl_utility.cc:
  Moving documentation to header file.
sql/rpl_utility.h:
  Documenting class and members.
2006-09-13 19:25:12 +02:00
mats@romeo.(none)
ca50d070a0 WL#3259 (RBR with more columns on slave than master):
Incorporating changes from review.
Fixing one bug that surfaced.
2006-09-13 19:25:12 +02:00
unknown
12bc3c370b Fixed the faulty merge 2006-09-13 19:32:21 +04:00