Commit graph

18997 commits

Author SHA1 Message Date
unknown
948804c8aa BUG#22864 (CREATE-SELECT does not work correctly):
Post-merge fixes.


sql/log.cc:
  Removing HAVE_ROW_BASED_REPLICATION from file.
2006-12-22 12:09:44 +01:00
unknown
c3315ccca9 Merge romeo.(none):/home/bk/b22864-mysql-5.1-new-rpl
into  romeo.(none):/home/bk/merge-b22864-myql-5.1-new-rpl


sql/log.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/log.cc:
  Merge with mysql-5.1-new-rpl
sql/slave.cc:
  Merge with mysql-5.1-new-rpl
sql/sql_insert.cc:
  Merge with mysql-5.1-new-rpl
2006-12-21 19:36:28 +01:00
unknown
3d68c135d0 BUG#22864 (Rollback following CREATE... SELECT discards 'CREATE TABLE'
from log):
When row-based logging is used, the CREATE-SELECT is written as two
parts: as a CREATE TABLE statement and as the rows for the table. For
both transactional and non-transactional tables, the CREATE TABLE
statement was written to the transaction cache, as were the rows, and
on statement end, the entire transaction cache was written to the binary
log if the table was non-transactional. For transactional tables, the
events were kept in the transaction cache until end of transaction (or
statement that were not part of a transaction).

For the case when AUTOCOMMIT=0 and we are creating a transactional table
using a create select, we would then keep the CREATE TABLE statement and
the rows for the CREATE-SELECT, while executing the following statements.
On a rollback, the transaction cache would then be cleared, which would
also remove the CREATE TABLE statement. Hence no table would be created
on the slave, while there is an empty table on the master.

This relates to BUG#22865 where the table being created exists on the
master, but not on the slave during insertion of rows into the newly
created table. This occurs since the CREATE TABLE statement were still
in the transaction cache until the statement finished executing, and
possibly longer if the table was transactional.

This patch changes the behaviour of the CREATE-SELECT statement by
adding an implicit commit at the end of the statement when creating
non-temporary tables. Hence, non-temporary tables will be written to the
binary log on completion, and in the even of AUTOCOMMIT=0, a new
transaction will be started. Temporary tables do not commit an ongoing
transaction: neither as a pre- not a post-commit.

The events for both transactional and non-transactional tables are
saved in the transaction cache, and written to the binary log at end
of the statement.


mysql-test/r/rpl_row_create_table.result:
  Result change
mysql-test/t/rpl_row_create_table.test:
  Requring InnoDB for slave as well.
  Adding test CREATE-SELECT that is rolled back explicitly.
  Changing binlog positions.
sql/log.cc:
  Adding helper class to handle lock/unlock of mutexes using RAII.
  Factoring out code into write_cache() function to transaction cache
    to binary log.
  Adding function THD::binlog_flush_transaction_cache() to flush the
    transaction cache to the binary log file.
  Factoring out code into binlog_set_stmt_begin() to set the beginning
    of statement savepoint.
  Clearing before statement point when transaction cache is truncated
   so that these points are out of range.
sql/log.h:
  Adding method MYSQL_BIN_LOG::write_cache()
sql/log_event.h:
  Replicating OPTION_NOT_AUTOCOMMIT flag (see changeset comment)
sql/mysql_priv.h:
  Although left-shifting signed integer values is well-defined,
  it has potential for strange errors. Using unsigned long long
  instead of signed long long since this is the type of the options
  flags.
sql/slave.cc:
  Adding printout of transaction-critical thread flags.
sql/sql_class.h:
  Adding function THD::binlog_flush_transaction_cache()
  Adding function THD::binlog_set_stmt_begin()
sql/sql_insert.cc:
  Adding code to cache events for a CREATE-SELECT statement.
  Disabling binlog for SBR (but not RBR) when sending error for select part
  of CREATE-SELECT statement.
  Adding implicit commit at end of statement for non-temporary tables.
mysql-test/t/rpl_row_create_table-slave.opt:
  New BitKeeper file ``mysql-test/t/rpl_row_create_table-slave.opt''
2006-12-21 09:29:02 +01:00
unknown
6d310813ba After merge fix for Bug N22645 2006-12-14 17:48:32 +04:00
unknown
e3ce6c4d6b Merge mysql.com:/usr/home/bar/mysql-5.0.b22645
into  mysql.com:/usr/home/bar/mysql-5.1.b22645


mysql-test/t/mysqlbinlog.test:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
mysql-test/t/disabled.def:
  SCCS merged
2006-12-14 16:45:48 +04:00
unknown
76bd00a993 After merge fix for bug N22645
mysql-test/t/mysqlbinlog.test:
  After merge fix
sql/log_event.cc:
  Fixing comment, thanks to Andrei for suggestion
2006-12-14 16:31:23 +04:00
unknown
c8b678ac08 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b22645


mysql-test/t/disabled.def:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/log_event.h:
  Auto merged
mysql-test/r/mysqlbinlog.result:
  After merge fix
mysql-test/t/mysqlbinlog.test:
  After merge fix
2006-12-14 14:19:30 +04:00
unknown
6a39c9e6b8 Merging with mysql-5.1-new-rpl 2006-12-11 12:22:21 +01:00
unknown
26b6dc4291 Merge mysql.com:/home/bkroot/mysql-5.1-new-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.1-merge


client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
config/ac-macros/ha_ndbcluster.m4:
  Auto merged
configure.in:
  Auto merged
include/my_global.h:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/rpl_timezone.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/log.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/rpl_injector.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/t/mysqldump.test:
  Manual merge
sql/log_event.cc:
  manual merge
2006-12-08 23:41:29 +01:00
unknown
cacaef6e44 Merge mysql.com:/home/bkroot/mysql-5.0-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.0-merge


client/mysqldump.c:
  Auto merged
include/my_pthread.h:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/rpl_timezone.result:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
mysys/my_thr_init.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-12-08 23:33:39 +01:00
unknown
42b2cb8613 Merge quant.(none):/ext/mysql/bkroot/mysql-5.0-rpl
into  quant.(none):/ext/mysql/bk/mysql-5.0-bug24507


sql/sql_acl.cc:
  Auto merged
2006-12-08 16:50:06 +01:00
unknown
b8ff601ebf Merge mysql.com:/usr/home/bar/mysql-5.0.b24158
into  mysql.com:/usr/home/bar/mysql-5.1.b20396


mysql-test/r/rpl_do_grant.result:
  Auto merged
mysql-test/t/rpl_do_grant.test:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2006-12-08 16:15:43 +04:00
unknown
6aa09b4c23 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b24158
2006-12-08 15:18:03 +04:00
unknown
df2af6cdf0 Merge quant.(none):/ext/mysql/bkroot/mysql-5.0-rpl
into  quant.(none):/ext/mysql/bk/mysql-5.0-bug24507


client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-12-08 11:47:48 +01:00
unknown
75127a6921 After merge fix
client/mysqlbinlog.cc:
  Auto merged
mysql-test/r/user_var-binlog.result:
  Auto merged
mysql-test/t/mysqlbinlog.test:
  Auto merged
BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
  Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
  Auto merged
mysql-test/r/rpl_stm_charset.result:
  Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
  after merge fix.
2006-12-08 10:33:05 +04:00
unknown
b93baf4832 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b20396
2006-12-08 09:48:46 +04:00
unknown
f88f71a241 Merge suse.vabb.com:/home/Chuck/development/mysql-5.1-new-rpl
into  suse.vabb.com:/home/Chuck/development/mysql-5.1_WL_3618


sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/table.cc:
  Auto merged
2006-12-07 09:19:56 -05:00
unknown
85a8f7c7a9 WL#3618 - Remove HAVE_ROW_BASED_REPLICATION from source code.
Please see worklog for details on files changed.


BitKeeper/deleted/.del-have_row_based.require:
  Delete: mysql-test/r/have_row_based.require
BitKeeper/deleted/.del-not_row_based.require:
  Delete: mysql-test/r/not_row_based.require
BitKeeper/deleted/.del-have_row_based.inc:
  Delete: mysql-test/include/have_row_based.inc
BitKeeper/deleted/.del-not_row_based.inc:
  Delete: mysql-test/include/not_row_based.inc
BitKeeper/deleted/.del-replication.m4:
  Delete: config/ac-macros/replication.m4
2006-12-07 09:18:35 -05:00
unknown
0a22a1b915 Additional fix for bug#22369
mysql-test/t/events_bugs.test:
  let events_bugs not fail because of timing
sql/sql_table.cc:
  if the db or name has been changed ALTER_RENAME,
  then fix table_list
  Solution by having the second table added in the parser to the
  list of used tables, won't work because checking of rights of merge
  tables goes over table_list->next_local and checks the rights, so
  we will fail there.
sql/sql_yacc.yy:
  fix name - prevents ddd from correct working
2006-12-07 13:57:39 +01:00
unknown
c423ecc0a7 Bug#22645 LC_TIME_NAMES: Statement not replicated
Implementing event based replication of LC_TIME_NAMES for 5.0
(as a replacement of previously made ONE_SHOT replication)


mysql-test/r/mysqlbinlog.result:
  Fixing results
mysql-test/r/rpl_locale.result:
  Fixing results
mysql-test/t/disabled.def:
  Enabling rpl_locale
mysql-test/t/mysqlbinlog.test:
  Check "mysqlbinlog | mysql" reproduces lc_time_names correctly.
mysql-test/t/rpl_locale.test:
  Adding new test: that setting lc_time_names back to en_US works fine.
sql/log_event.cc:
  Implementing event based replication of LC_TIME_NAMES for 5.0
  (as a replacement of previously made ONE_SHOT replication)
sql/log_event.h:
  Adding new Q_*_CODE
  Adding "lc_time_names_number" members into Query_log_event and PRINT_EVENT_INFO
2006-12-07 09:31:53 +04:00
unknown
8ef1be3de8 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-12-05 19:56:49 +01:00
unknown
8766e95430 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my50-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint


sql/sql_class.cc:
  Auto merged
2006-12-05 10:32:38 -05:00
unknown
3149347c1d Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my51-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.1-maint


sql/sql_class.cc:
  Auto merged
2006-12-05 10:32:16 -05:00
unknown
087bf5663f Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my50-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my51-bug20836


sql/sql_class.cc:
  Auto merged
2006-12-05 09:41:02 -05:00
unknown
784f0aab0c Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my41-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my50-bug20836


sql/sql_class.cc:
  manual merge
2006-12-05 09:39:48 -05:00
unknown
1d216487e1 Bug#20836 Selecting into variables results in wrong results being returned
- Comment Cleanup.


sql/sql_class.cc:
  Removed misleading comment.
2006-12-05 09:29:32 -05:00
unknown
fd06945428 Merge mysql.com:/usr/home/bar/mysql-5.0.b22645
into  mysql.com:/usr/home/bar/mysql-5.1.b22645


mysql-test/r/variables.result:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/t/disabled.def:
  After merge fix
2006-12-05 16:09:27 +04:00
unknown
21b9187ab9 Merging bug#22645 "LC_TIME_NAMES: Statement not replicated" from 4.1.
mysql-test/t/disabled.def:
  Disabling test in 5.0 temporarily
sql/mysql_priv.h:
  Adding number_par agrument to constructor
sql/sql_locale.cc:
  Using constructor, instead of structure initialization.
2006-12-05 16:01:21 +04:00
unknown
0cc13deabf Use "sql_print_error" instead of "sql_print_warning" to get a better
error message in the logs before shutting down the server
2006-12-05 12:11:45 +01:00
unknown
c7457bdf93 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-12-05 11:18:00 +01:00
unknown
3eafe5cf98 Merge mysql.com:/usr/home/bar/mysql-4.1.b22645
into  mysql.com:/usr/home/bar/mysql-5.0.b22645


mysql-test/r/variables.result:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/log.cc:
  Removing one_shot from 5.0.
sql/sql_locale.cc:
  After merge fix
sql/set_var.cc:
  After merge fix
sql/set_var.h:
  After merge fix
2006-12-05 14:08:19 +04:00
unknown
aee2b62c5d Merge bk-internal:/home/bk/mysql-5.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint


sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2006-12-05 10:54:17 +01:00
unknown
4924c61999 BUG#24490 (segfault inside unpack_row at Field_bit_as_char::set_default()):
Field_bit::set_default() did not check the bit_len, hence used the undefined
bit_ptr, causing a crash. The patch adds a check that bit_len > 0 before
following the bit_ptr.


mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
  Doing select using ORDER BY to prevent table-internal order from
  affecting the result.
mysql-test/r/rpl_row_tabledefs_2myisam.result:
  Result change
mysql-test/r/rpl_row_tabledefs_3innodb.result:
  Result change
sql/field.cc:
  Checking bit_len before following the bit_ptr, since bit_ptr has no
  sensible value in the case that bit_len == 0.
sql/field.h:
  Field_bit::set_default() used the bit_ptr, but it is undefined,
  hence causing a crash.  In reality, the hierarchy order is not correct
  so added a TODO comment about refactoring.
sql/log_event.cc:
  Code was manipulating bits for a FIELD_TYPE_BIT field without checking
  if the bit_len was > 0, hence using an undefined bit_ptr when the
  class was actually a Field_bit_as_char.
mysql-test/t/rpl_row_tabledefs_3innodb-slave.opt:
  New BitKeeper file ``mysql-test/t/rpl_row_tabledefs_3innodb-slave.opt''
2006-12-05 10:46:03 +01:00
unknown
4474cc8493 Bug#22645 LC_TIME_NAMES: Statement not replicated
Problem: replication of LC_TIME_NAMES didn't work.
Thus, INSERTS or UPDATES using date_format() always
worked with en_US on the slave side.
Fix: adding ONE_SHOT implementation for LC_TIME_NAMES.


mysql-test/r/variables.result:
  Adding various tests with LC_TIME_NAMES and
  string and numeric constants and expressions.
mysql-test/t/variables.test:
  Adding various tests with LC_TIME_NAMES and
  string and numeric constants and expressions.
sql/log.cc:
  Adding ONE_SHOT trick for lc_time_names.
sql/mysql_priv.h:
  Adding new member "number" - for unique locale IDs.
  Adding prototype for my_locale_by_number().
sql/set_var.cc:
  Modifying lc_time_names variable to understand both:
  - string valyes (using locale name)
  - number values (using locale IDs)
sql/set_var.h:
  - Marking lc_time_names as ONE_SHOT capable.
  - Marking lc_time_names as INT_RESULT compatible.
sql/sql_locale.cc:
  - adding local IDs
  - better layout for locale data declarations
    (splitting long lines into short ones)
  - adding DBUG_ASSERT into my_locale_by_name()
    and moving this function towards the end of file -
    after "my_locales" declaration
  - adding my_locale_by_number() implementation
sql/sql_parse.cc:
  Adding initialization of lc_time_names
  to its default value (en_US)
mysql-test/r/rpl_locale.result:
  Adding test case
mysql-test/t/rpl_locale.test:
  Adding test case
2006-12-05 13:45:21 +04:00
unknown
96fa010c66 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2006-12-05 06:38:08 +01:00
unknown
fa52873b35 Merge kpettersson@bk-internal:/home/bk/mysql-5.0-maint
into  kpdesk.mysql.com:/home/thek/dev/tmp/mysql-5.0-maint
2006-12-04 23:51:54 +01:00
unknown
1009083a44 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  example.com:/work/bug22369-v2/my51
2006-12-04 22:40:51 +01:00
unknown
d0482fee0a Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my50-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2006-12-04 15:32:16 -05:00
unknown
23a30bdb1d Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my51-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.1-maint


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2006-12-04 15:30:55 -05:00
unknown
2e5a6f9eaa Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
Docs/Makefile.am:
  Auto merged
Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
include/Makefile.am:
  Auto merged
myisam/myisampack.c:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/view_grant.result:
  Auto merged
mysql-test/t/view_grant.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_handler.cc:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Manual merge with import of upstream yaSSL
2006-12-04 19:28:38 +01:00
unknown
dea988a048 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.1
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-maint


BitKeeper/etc/collapsed:
  auto-union
BitKeeper/etc/ignore:
  auto-union
Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
configure.in:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Auto merged
include/Makefile.am:
  Auto merged
include/my_sys.h:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/parser.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/r/view_grant.result:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
mysql-test/t/parser.test:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/system_mysql_db_fix30020.test:
  Auto merged
mysql-test/t/udf.test:
  Auto merged
mysql-test/t/view_grant.test:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_create.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_handler.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
storage/myisam/myisampack.c:
  Auto merged
mysql-test/r/sp.result:
  Manual merge
mysql-test/r/udf.result:
  Manual merge
mysql-test/t/events_bugs.test:
  Manual merge
sql/share/errmsg.txt:
  Manual merge
support-files/mysql.spec.sh:
  Manual merge
2006-12-04 19:11:55 +01:00
unknown
af20ca6b66 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my50-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my51-bug20836


mysql-test/r/distinct.result:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2006-12-04 12:51:26 -05:00
unknown
23b2d1d2c6 Merge bk-internal:/home/bk/mysql-5.1
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


sql/ha_ndbcluster.cc:
  Auto merged
storage/ndb/src/ndbapi/TransporterFacade.cpp:
  Auto merged
2006-12-04 18:44:14 +01:00
unknown
c275fce7b4 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  example.com:/work/bug22369-v2/my51


mysql-test/r/alter_table.result:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/t/alter_table.test:
  manual merge
2006-12-04 18:31:24 +01:00
unknown
ab31e4278d Fix for bug#22369: Alter table rename combined
with other alterations causes lost tables

Using RENAME clause combined with other clauses of ALTER TABLE led to
data loss (the data was there but not accessible). This could happen if the
changes do not change the table much. Adding and droppping of fields and
indices was safe. Renaming a column with MODIFY or CHANGE was unsafe operation,
if the actual column didn't change (changing from int to int, which is a noop)
  
Depending on the storage engine (SE) the behavior is different:
1)MyISAM/MEMORY - the ALTER TABLE statement completes
  without any error but next SELECT against the new table fails.
2)InnoDB (and every other transactional table) - The ALTER TABLE statement
  fails. There are the the following files in the db dir -
  `new_table_name.frm` and a temporary table's frm. If the SE is file
  based, then the data and index files will be present but with the old
  names. What happens is that for InnoDB the table is not renamed in the
  internal DDIC.

Fixed by adding additional call to mysql_rename_table() method, which should
not include FRM file rename, because it has been already done during file
names juggling.


mysql-test/r/alter_table.result:
  update result
mysql-test/r/grant.result:
  update result
mysql-test/t/alter_table.test:
  2006/11/29 11:46:23+01:00 andrey@example.com +44 -9
  Error to bug number
      
  Added test case for #22369: Alter table rename combined
  with other alterations causes lost tables
mysql-test/t/grant.test:
  add test for bug#22369 - alter table was missing check
  for DROP_ACL when ALTER_RENAME clause is specified. Synchronise
  with RENAME TABLE DDL.
sql/mysql_priv.h:
  Add a new flag for mysql_rename_table()
sql/sql_parse.cc:
  To be consistent with SQLCOM_RENAME_TABLE, SQLCOM_ALTER_TABLE has
  to check for DROP_ACL if there is ALTER_RENAME flag set.
sql/sql_table.cc:
  ALTER_RENAME, the data and index files weren't renamed in the engine
  but only the FRM was new, when the tables old and new tables are compatible.
  In the chain of FRM renames we add a call to mysql_rename_table() which should
  instruct the engine to rename the table but not rename the FRM.
  This bug was there only in 5.1 branch. 4.1 and 5.0 always do copy data on RENAME
  if there are more clauses than just rename.
2006-12-04 18:22:38 +01:00
unknown
bfee156a8b Merge dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE2/mysql-5.0
into  dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE2/mysql-5.1


mysql-test/r/type_varchar.result:
  Auto merged
mysql-test/t/type_varchar.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2006-12-04 18:08:50 +01:00
unknown
85b1701ab7 Merge dl145s.mysql.com:/data0/bk/team_tree_merge/mysql-5.0-opt
into  dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE2/mysql-5.0


sql/item_func.cc:
  Auto merged
2006-12-04 18:05:42 +01:00
unknown
6b60322131 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-12-04 15:09:47 +01:00
unknown
9b86f2a48a Merge naruto.:C:/cpp/bug17733/my50-bug17733
into  naruto.:C:/cpp/mysql-5.0-maint


sql/sql_parse.cc:
  Auto merged
2006-12-04 14:43:34 +01:00
unknown
a57037e314 Merge naruto.:C:/cpp/bug17733/my51-bug17733
into  naruto.:C:/cpp/mysql-5.1-maint


sql/sql_parse.cc:
  Auto merged
2006-12-04 14:34:56 +01:00