Commit graph

531 commits

Author SHA1 Message Date
unknown
36dfa434cc Merge mysql.com:/home/bkroot/mysql-5.1-new-rpl
into  mysql.com:/home/bk/MERGE/mysql-5.1-merge


BitKeeper/etc/collapsed:
  auto-union
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2006-11-13 12:45:31 +01:00
unknown
78be2cdcbe Merge alik.:/mnt/raid/alik/MySQL/devel/5.1
into  alik.:/mnt/raid/alik/MySQL/devel/5.1-rt


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/handler.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-11-08 22:20:58 +03: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
unknown
9691a43cc8 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch


sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-11-07 06:59:51 +01:00
unknown
cf6ec1040d Merge alik.:/mnt/raid/alik/MySQL/devel/5.1-monty
into  alik.:/mnt/raid/alik/MySQL/devel/5.1-rt-merged


mysql-test/mysql-test-run.pl:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
server-tools/instance-manager/guardian.cc:
  Manual merged.
server-tools/instance-manager/instance.cc:
  Manual merged.
server-tools/instance-manager/mysql_connection.cc:
  Manual merged.
2006-11-03 14:00:35 +03:00
unknown
9beab523e8 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch


sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-11-02 08:35:55 +01:00
unknown
31a87fde6a Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
mysql-test/r/ps.result:
  SCCS merged
2006-11-02 03:24:11 +03:00
unknown
2fec8851f6 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1


sql/Makefile.am:
  Auto merged
sql/handler.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Manual merge
2006-11-01 19:46:23 +02:00
unknown
07d8be4544 Fixed a lot of compiler warnings (Mainly in mysqld and instance manager)
Fixed some possible fatal wrong arguments to printf() style functions
Initialized some not initialized variables
Fixed bug in stored procedure and continue handlers
(Fixes Bug#22150)


include/mysql/plugin.h:
  Remove compiler warning
mysql-test/mysql-test-run.pl:
  Ensure that --extern works on a clean tree (when 'var' directory doesn't exists)
server-tools/instance-manager/commands.cc:
  Fixed possible use of unitialized variable
server-tools/instance-manager/guardian.cc:
  Fixed wrong arguments to log_info() that could cause crashes
server-tools/instance-manager/instance.cc:
  Fixed wrong arguments to log_info() and log_error() that could cause crashes
server-tools/instance-manager/instance_options.cc:
  Fixed wrong arguments to log_error() that could cause crashes
server-tools/instance-manager/mysql_connection.cc:
  Fixed wrong arguments to log_info()
server-tools/instance-manager/parse.cc:
  Fixed possible use of unitialized variable
server-tools/instance-manager/user_map.cc:
  Fixed wrong arguments to log_error() that could cause crashes
sql/Makefile.am:
  Fix for bison 1.875
  (It write an __attribute__() tag that was causing compiler failures)
sql/ha_ndbcluster.cc:
  Fixed wrong snprintf() arguments
  Remoed not used variables
sql/ha_ndbcluster_binlog.cc:
  Fixed compiler warning (unsigned/signed comparision)
sql/handler.cc:
  Fixed wrong parameter to hton->binlog_func()
sql/item_cmpfunc.cc:
  Removed compiler warnings
sql/item_timefunc.cc:
  Removed compiler warnings
sql/log.cc:
  fixed wrong argument to snprintf()
sql/mysqld.cc:
  Removed compiler warnings
  Fixed wrong arguments to printf()
sql/partition_info.cc:
  Removed compiler warnings
sql/protocol.cc:
  reset is_fatal_error for stored procedures
  (Fix for Bug#22150)
sql/sp_head.cc:
  More DBUG information
  Reset is_fatal_error in case of continue handler.
  (Fix for Bug#22150)
sql/sql_base.cc:
  Removed compiler warnings
sql/sql_class.h:
  More DBUG information
sql/sql_insert.cc:
  Removed compiler warnings
  Initialize not initialized variable (fatal bug)
sql/sql_parse.cc:
  Added DBUG_ASSERT to detect if stored procedure code returns with a wrong state
  Removed compiler warning
sql/sql_plugin.cc:
  Fied wrong aruguments to printf() (Fatal bug)
sql/sql_select.cc:
  Initailize not initialized variable.
  Remove compiler warnings
  Fixed wrong argument to printf() (Possible fatal error)
sql/sql_view.cc:
  Removed compiler warnings
sql/table.cc:
  Fixed wrong argument to printf() (Possible fatal)
2006-11-01 19:41:09 +02: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
unknown
b014bd22e4 Adding in an ha_end() call. This is the first part of the patch I and Monty have agreed on. In the future engines will have the option of shutting down more quickly via the panic call, or just shutting down during the unloading of a plugin.
sql/handler.cc:
  Adding ha_end
sql/handler.h:
  Function declaration for ha_end()
sql/mysqld.cc:
  Adding ha_end call.
2006-10-31 20:10:32 -08:00
unknown
62324a4426 Bug #21072 Duplicate key error in NDB references wrong key: Re-wrote string usage to avoid valgrind warnings 2006-10-25 15:34:47 +02:00
unknown
5aa81b561e Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mysql.com:/home/cps/mysql/devel/5.1-rename-bug


mysql-test/r/log_tables.result:
  Auto merged
mysql-test/t/log_tables.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/log.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_rename.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
sql/log.cc:
  manual merge
sql/share/errmsg.txt:
  manual merge
sql/sql_table.cc:
  manual merge
2006-10-24 17:00:23 +04:00
unknown
3ee868c7b1 Bug #21072 Duplicate key error in NDB references wrong key: use MAX_KEY to signal unknown key: Added string initialization 2006-10-19 15:22:50 +02:00
unknown
a95a9fea79 Bug #21072 Duplicate key error in NDB references wrong key: Added new printout for duplicate key error when key is unknown 2006-10-16 12:14:38 +02:00
unknown
9438b98519 Fix for Bug #17544 "Cannot do atomic log rotate",
Bug #21785 "Server crashes after rename of the log table" and
Bug #21966 "Strange warnings on create like/repair of the log
            tables"

According to the patch, from now on, one should use RENAME to
perform a log table rotation (this should also be reflected in
the manual).

Here is a sample:

use mysql;
CREATE TABLE IF NOT EXISTS general_log2 LIKE general_log;
RENAME TABLE general_log TO general_log_backup, general_log2 TO general_log;

The rules for Rename of the log tables are following:
      IF   1. Log tables are enabled
      AND  2. Rename operates on the log table and nothing is being
              renamed to the log table.
      DO   3. Throw an error message.
      ELSE 4. Perform rename.
 
The very RENAME query will go the the old (backup) table. This is
consistent with the behavoiur we have with binlog ROTATE LOGS
statement.

Other problems, which are solved by the patch are:

1) Now REPAIR of the log table is exclusive operation (as it should be), this
   also eliminates lock-related warnings. and
2) CREATE LIKE TABLE now usese usual read lock on the source table rather
   then name lock, which is too restrictive. This way we get rid of another
   log table-related warning, which occured because of the above fact
   (as a side-effect, name lock resulted in a warning).


mysql-test/r/log_tables.result:
  update result file
mysql-test/t/log_tables.test:
  Add tests for the bugs
sql/handler.cc:
  update comment
sql/handler.h:
  update function to reflect changes in log tables
  locking logic.
sql/lock.cc:
  Now we allow locking of the log tables for "privileged" threads
  Privileged thread must explicitly close and lock log tables. This
  is required for admin operations such as REPAIR.
sql/log.cc:
  Changes to the file:
  1) Add checks for table schema. It's more important now,
     as we allow rename of the log tables. Since we should
     check for schema when writing to a log table.
     E.g. if one created a table with one-only comlumn and
     renamed it to general_log, the server should cope with
     it.
  2) refactor LOGGER::flush(), so that we can now use the same
     machinery as we use in FLUSH LOGS in other statements:
     whenever we have to perform  a serious operation on the log
     tables, we have to
     (a) lock logger, which blocks other concurrent statements (such 
     as selects) (b) close logs. Then perform an
     exclusive operation, c) reenable logs and d) unlock logger.
  3) Add a function to check if a given table is a log table.
  4) Add support for "privileged" thread
  5) merge is_[general/slow]_log_table_enabled() into one function.
  6) Add new function: reopen _log_tables, which reopens the tables,
     which were enabled (after temporary close, required for admin
     operation)
sql/log.h:
  1) add a new call close_n_lock_tables(). Now we use it instead of
     LOGGER::flush() in FLUSH LOGS implementation.
  2) add a prototype for the function to check if a given
     table is a log table;
  3) add privileged table flag to table logger
  4) merge is_[general/slow]_log_table_enabled()
     into one function.
sql/mysql_priv.h:
  move log table defines to log.h
sql/sql_delete.cc:
  use new function check_if_log_table() instead of direct strcmp
sql/sql_rename.cc:
  Traverse the list of tables in mysql_rename_tables
  to make sure that log tables are processed correctly
  (that is, according to the rules specified in the
  main CS comment)
sql/sql_table.cc:
  1) mysql_admin_table() should disable logs if it performs
     exclusive admin operation on a log table. This way we
     also eliminate warning on REPAIR of the log table.
  2) mysql_create_like_table should read-lock the source table
     instead getting name lock on it. Name lock is too restrictive
     in this case.
sql/share/errmsg.txt:
  Add a new error message for rename of the log tables
sql/table.cc:
  use new function instead of direct strcmp.
  change my_strcasecmp() -> strcmp(), when
  comparing system db and table names
storage/csv/ha_tina.cc:
  update function to reflect changes in log tables
  locking logic.
storage/myisam/ha_myisam.cc:
  update function to reflect changes in log tables
  locking logic.
2006-10-13 17:26:46 +04:00
unknown
deb36ce16a Panic was being called twice!
Both on its own and in the plugin shutdown.... not so good. The code is a bit simpler, and we could now technically remove the panic all entirely if we wanted to. 


sql/handler.cc:
  Handler was returning from a panic failure. Bad idea! This means that the rest of the shutdown is not carried outin the engine.
  Removed panic specific calls. 
  
  Panic should also be called regardless of "startup".
sql/mysqld.cc:
  Removed ha_panic call (since its called in plugin shutdown)
2006-10-11 18:02:12 -07:00
unknown
40bf7b0ae2 This patch updates to remove most global hton needs. Cleans up wrong message in partition.
mysql-test/r/partition.result:
  Updated results
sql/ha_ndbcluster.cc:
  Updated hton
sql/ha_partition.cc:
  Removed need for global internal hton.
sql/handler.cc:
  Removed need for global mrg
sql/mysql_priv.h:
  Updated needs for global variables.
sql/mysqld.cc:
  Removed needs around hton
sql/partition_info.cc:
  Removed bug.... aka what happens if tables are neither?
sql/share/errmsg.txt:
  Made error message more generic.
sql/sql_cache.cc:
  Removed specific hton reference
2006-09-30 18:31:13 -07:00
unknown
76b8386550 This patch adds handlerton passing to functions. NDB and Innodb still require a global hanlderton in the main code due to the nature of the sql_cache call back function (should be solveable... another patch).
Partitioning now has a flag to allow disabling of engines from being compatible with partitioning. Cleaned up heap naming convention on panic call. 


include/heap.h:
  Added new function
sql/ha_ndbcluster.cc:
  Updated hanlderton functions
sql/ha_ndbcluster_binlog.cc:
  Updated handlerton functions.
sql/handler.cc:
  Updated handlerton functions.
sql/handler.h:
  Updated hanlderton functions
sql/log.cc:
  Updated handlerton functions
sql/mysql_priv.h:
  Updated handlerton functions
sql/mysqld.cc:
  Added Legacy handlerton functions
sql/partition_info.cc:
  Added flag support for marking engines not compatible with partitioning
sql/sql_cursor.cc:
  Updated hanlderton functions
sql/sql_show.cc:
  Updated hanlderton functions
sql/sql_tablespace.cc:
  Update for handlerton functions
storage/archive/ha_archive.cc:
  Update for hanlderton functions
storage/archive/ha_archive.h:
  Update for handlerton functions
storage/blackhole/ha_blackhole.cc:
  Update for handlerton functions
storage/csv/ha_tina.cc:
  Update for handlerton functions
storage/csv/ha_tina.h:
  Update for handlerton functions
storage/federated/ha_federated.cc:
  Updated for handlerton functions
storage/federated/ha_federated.h:
  Updated for handlerton functions
storage/heap/ha_heap.cc:
  Update for handlerton functions
storage/heap/hp_panic.c:
  Update of function name
storage/heap/hp_test1.c:
  Update of function name
storage/heap/hp_test2.c:
  Update of function name.
storage/innobase/handler/ha_innodb.cc:
  Update of function name
storage/innobase/handler/ha_innodb.h:
  Update of function name
storage/myisam/ha_myisam.cc:
  Update of function name.
storage/myisammrg/ha_myisammrg.cc:
  Update of function name
2006-09-30 12:49:46 -07:00
unknown
48d5b3bd1f This removes the passing of global hton to engine instance.
sql/ha_ndbcluster.cc:
  Removed global hton
sql/ha_ndbcluster.h:
  Removed global hton need
sql/ha_partition.cc:
  Removed global hton
sql/ha_partition.h:
  Removed global hton
sql/handler.cc:
  Removed global hton
sql/handler.h:
  Removed global hton
storage/archive/ha_archive.cc:
  Removed global hton
storage/archive/ha_archive.h:
  Global hton removed
storage/blackhole/ha_blackhole.cc:
  Global removed hton
storage/blackhole/ha_blackhole.h:
  Global hton removal
storage/csv/ha_tina.cc:
  Global hton removal
storage/csv/ha_tina.h:
  Removed global removed
storage/example/ha_example.cc:
  Global removed hton
storage/example/ha_example.h:
  Global removed hton
storage/federated/ha_federated.cc:
  Global removed hton
storage/federated/ha_federated.h:
  Global removed hton
storage/heap/ha_heap.cc:
  Global removed hton
storage/heap/ha_heap.h:
  Global removed hton
storage/innobase/handler/ha_innodb.cc:
  Global removed hton
storage/innobase/handler/ha_innodb.h:
  Removed global hton
storage/myisam/ha_myisam.cc:
  Globally removed hton
storage/myisam/ha_myisam.h:
  Globally removed hton
storage/myisammrg/ha_myisammrg.cc:
  Globally removed hton
storage/myisammrg/ha_myisammrg.h:
  Globaly removed hton
2006-09-29 17:19:02 -07:00
unknown
3d4b52ef28 post merge fixes
BitKeeper/deleted/.del-strict_autoinc_4bdb.test:
  Delete: mysql-test/t/strict_autoinc_4bdb.test
mysql-test/r/strict_autoinc_1myisam.result:
  post merge fixes, error message was changed
mysql-test/r/strict_autoinc_2innodb.result:
  post merge fixes, error message was changed
mysql-test/r/strict_autoinc_3heap.result:
  post merge fixes, error message was changed
mysql-test/r/strict_autoinc_5ndb.result:
  post merge fixes, error message was changed
2006-09-18 15:52:16 -07:00
unknown
5d249a711c Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/engines-merge


BitKeeper/deleted/.del-ha_berkeley.cc:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/opt_range.cc:
  Auto merged
storage/heap/ha_heap.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/mi_packrec.c:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisammrg/ha_myisammrg.cc:
  Auto merged
include/my_base.h:
  manual merge
sql/ha_ndbcluster.cc:
  manual merge
sql/handler.cc:
  manual merge
sql/handler.h:
  manual merge
sql/share/errmsg.txt:
  manual merge
storage/innobase/handler/ha_innodb.cc:
  manual merge
2006-09-18 12:16:03 -07:00
unknown
ef466a2021 Merge april.(none):/home/svoj/devel/bk/mysql-5.1
into  april.(none):/home/svoj/devel/mysql/merge/mysql-5.1-engines


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
2006-09-18 19:43:33 +05:00
unknown
d79485a9be This changes the order of the universe, black is now the new white.
In practice this means that handlerton is now created by the server and is passed to the engine. Plugin startups can now also control how plugins are inited (and can optionally pass values). Bit more flexibility to those who want to write plugin interfaces to the database. 


include/mysql/plugin.h:
  Optional to pass parameter now to init and deinit functions
sql/ha_ndbcluster.cc:
  Cleanup, handlerton is now a pointer.
sql/ha_ndbcluster_binlog.cc:
  Cleanup (handlerton is now a pointer)
sql/ha_ndbcluster_binlog.h:
  Cleanup (handlerton is now a pointer)
sql/ha_partition.cc:
  Cleaned up handlerton change
sql/handler.cc:
  Cheanup of handlerton change
sql/item_sum.cc:
  Cleanedup of handlerton change
sql/log.cc:
  Cleanup of handlerton change
sql/mysql_priv.h:
  Reverted patch for variables (what would have happen previously if a have_ would have been called that was dynamically loaded? boom!)
sql/mysqld.cc:
  Cleanup of handlerton changes and reverted have variable patch
sql/partition_info.cc:
  Cleanup of handlerton (we need to clean this up a bit more).
sql/set_var.cc:
  Cleanup related to handlerton changes
sql/sql_cache.cc:
  Handlerton changes cleanup
sql/sql_insert.cc:
  Handlerton changes cleanup.
sql/sql_partition.cc:
  Handlerton cleanup changes
sql/sql_plugin.cc:
  Handlerton changes.
  
  init() can now be controlled by a plugin specific startup. 
  
  There was also an issue with how we deinited the status variables. It should have been occuring before we shut down the engines.
sql/sql_select.cc:
  Handlerton cleanup changes
sql/sql_show.cc:
  Handlerton cleanup changes
sql/sql_table.cc:
  Handlerton cleanup changes
sql/table.cc:
  Cleanup
storage/archive/ha_archive.cc:
  Cleanup
storage/archive/ha_archive.h:
  Cleanup
storage/blackhole/ha_blackhole.cc:
  Cleanup
storage/csv/ha_tina.cc:
  Cleanup
storage/example/ha_example.cc:
  Cleanup
storage/federated/ha_federated.cc:
  Cleanup
storage/heap/ha_heap.cc:
  Cleanup
storage/innobase/handler/ha_innodb.cc:
  Cleanup
storage/myisam/ha_myisam.cc:
  Cleanup
storage/myisammrg/ha_myisammrg.cc:
  Cleanup
2006-09-15 10:28:00 -07:00
unknown
2b4b44b9a7 Merge chilla.local:/home/mydev/mysql-5.1--main
into  chilla.local:/home/mydev/mysql-5.1-toteam


mysql-test/t/disabled.def:
  Auto merged
BitKeeper/deleted/.del-index_merge_innodb.result:
  Auto merged
mysql-test/include/index_merge2.inc:
  Auto merged
mysql-test/include/mix1.inc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/opt_range.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
storage/myisam/ha_myisam.h:
  Auto merged
mysql-test/include/handler.inc:
  Manual merge 5.1 -> 5.1-engines
mysql-test/r/innodb_mysql.result:
  Manual merge 5.1 -> 5.1-engines
2006-09-14 21:44:17 +02:00
unknown
fdf5e5833d After merge fix. 2006-09-12 21:38:57 +05:00
unknown
8ee5d2f684 Merge april.(none):/home/svoj/devel/bk/mysql-5.0-engines
into  april.(none):/home/svoj/devel/mysql/BUG20256/mysql-5.0-push


sql/ha_myisam.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
2006-09-12 18:53:51 +05:00
unknown
f74f377693 Merge april.(none):/home/svoj/devel/mysql/BUG20256/mysql-5.0-engines
into  april.(none):/home/svoj/devel/mysql/BUG20256/mysql-5.1-engines


sql/ha_myisam.cc:
  Auto merged
sql/ha_myisam.h:
  Auto merged
sql/handler.cc:
  Auto merged
BitKeeper/deleted/.del-index_merge.result:
  Auto merged
mysql-test/include/index_merge1.inc:
  Manual merge.
sql/handler.h:
  Manual merge.
sql/opt_range.cc:
  Manual merge.
2006-09-12 18:42:10 +05:00
unknown
fa1436bf1f BUG#20256 - LOCK WRITE - MyISAM
Only MyISAM tables locked with LOCK TABLES ... WRITE were affected.

A query that is optimized with index_merge doesn't reflect rows
inserted within LOCK TABLES.

MyISAM doesn't flush a state within LOCK TABLES. index_merge
optimization creates a copy of the handler, which thus gets
outdated MyISAM state.

New handler->clone() method is introduced to fix this problem.
For non-MyISAM storage engines it allocates a handler and opens
it with ha_open(). For MyISAM it additionally copies MyISAM state
pointer to cloned handler.


mysql-test/r/index_merge.result:
  A test case for bug#20256.
mysql-test/t/index_merge.test:
  A test case for bug#20256.
sql/ha_myisam.cc:
  clone method added to handler class.
sql/ha_myisam.h:
  clone method added to handler class.
sql/handler.cc:
  clone method added to handler class.
sql/handler.h:
  clone method added to handler class.
sql/opt_range.cc:
  Use handler clone method.
2006-09-12 18:25:35 +05:00
unknown
d0a978e9c8 Merge shellback.(none):/home/msvensson/mysql/mysql-5.1
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-new-maint


sql/ha_innodb.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
mysql-test/mysql-test-run.pl:
  Merge
2006-09-08 16:01:51 +02:00
unknown
cf747aa3f7 Merge bk-internal:/home/bk/mysql-5.1-new-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.1-new-maint


mysql-test/mysql-test-run.pl:
  Auto merged
sql/handler.cc:
  Auto merged
2006-08-31 10:33:35 +02:00
unknown
2233201ba7 Bug#20573
"strict mode: inserts autogenerated auto_increment value bigger than max"
  Strict mode should fail if autoincrement value is out of range


include/my_base.h:
  Add new handler error codes
sql/ha_berkeley.cc:
  handle error in update_auto_increment()
sql/ha_heap.cc:
  handle error in update_auto_increment()
sql/ha_innodb.cc:
  handle error in update_auto_increment()
sql/ha_myisam.cc:
  handle error in update_auto_increment()
sql/ha_myisammrg.cc:
  handle error in update_auto_increment()
sql/ha_ndbcluster.cc:
  handle error in update_auto_increment()
sql/handler.cc:
  return error from handler::update_auto_increment()
sql/handler.h:
  change return type of handler::update_auto_increment() to int
sql/share/errmsg.txt:
  new error message for auto-increment
mysql-test/include/strict_autoinc.inc:
  New BitKeeper file ``mysql-test/include/strict_autoinc.inc''
mysql-test/r/strict_autoinc_1myisam.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_1myisam.result''
mysql-test/r/strict_autoinc_2innodb.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_2innodb.result''
mysql-test/r/strict_autoinc_3heap.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_3heap.result''
mysql-test/r/strict_autoinc_4bdb.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_4bdb.result''
mysql-test/r/strict_autoinc_5ndb.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_5ndb.result''
mysql-test/t/strict_autoinc_1myisam.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_1myisam.test''
mysql-test/t/strict_autoinc_2innodb.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_2innodb.test''
mysql-test/t/strict_autoinc_3heap.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_3heap.test''
mysql-test/t/strict_autoinc_4bdb.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_4bdb.test''
mysql-test/t/strict_autoinc_5ndb.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_5ndb.test''
2006-08-30 13:20:39 -07:00
unknown
d7de5c349b This pulls two function calls which should have been handlerton calls out of handler.cc.
sql/ha_ndbcluster.cc:
  Adding in new handlerton calls.
sql/handler.cc:
  Calls directly made to NDB have been removed.
sql/handler.h:
  Two additional handlerton structure functions.
2006-08-30 12:28:25 -07:00
unknown
2f8849e2aa Re'ordering of startup. Fixed Execution path issues. Added function for de'initing everything. This includes Antony's suggestions (bk collapse uber alles!)
sql/handler.cc:
  Removed temp work needed for making status variables work with plugins.
sql/mysqld.cc:
  Removed call to plugin_load()  (not needed any longer).
sql/sql_plugin.cc:
  Status vars are now located in only one location (while this fixed execution path problems, we will need to now fix "the name" issues). Monty and I have a solution to this :)
  Added function for deiniting engines (before the logic was scattered about).
  Added step by step processing for startup of plugins. MyISAM is now loaded first (we will address this long term in a different manner).
sql/sql_plugin.h:
  Removed calls that did not need to be extern.
2006-08-29 11:58:12 -07:00
unknown
e454fb0c9d Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1
into  zim.(none):/home/brian/mysql/arch-5.1


BUILD/compile-alpha-cxx:
  Auto merged
BUILD/compile-alpha-debug:
  Auto merged
BUILD/compile-dist:
  Auto merged
BUILD/compile-ia64-debug-max:
  Auto merged
CMakeLists.txt:
  Auto merged
client/mysql.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_plugin.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
BUILD/FINISH.sh:
  Innodbase config still needed.
2006-08-25 14:07:30 -07:00
unknown
9f9c3364cb Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/arch-5.1


sql/handler.cc:
  Auto merged
2006-08-25 13:32:06 -07:00
unknown
ac11ba6c68 Cleanup of unused variables.
Fixed "discover" in the handler API.

Fixed problem where handlerton was not zero'ed. I need to look around, I suspect this problem is more widespread. 


sql/ha_innodb.h:
  Unused variable
sql/ha_ndbcluster.cc:
  Added "discover" to handlerton.
sql/handler.cc:
  Added plugin loop and correctly now use handler API.
sql/handler.h:
  Removed unused variable. Added discover to handler API
sql/mysqld.cc:
  Removed unused variables.
sql/sql_plugin.cc:
  Fixed DBUG Enter comment (obvious cut paste mistake)
storage/csv/ha_tina.cc:
  Found that if we don't bzero handlerton, that things can go boom!
  
  This probably needs to be fixed for all handlers
2006-08-25 13:31:15 -07:00
unknown
cf9d738b62 fix for windows build
CMakeLists.txt:
  add for federated
libmysqld/CMakeLists.txt:
  ha_heap.cc and ha_myisam.cc are removed
  add for federated
sql/CMakeLists.txt:
  add for federated
sql/handler.cc:
  fix for fussy compilers
storage/heap/CMakeLists.txt:
  add ha_heap.cc
storage/myisammrg/CMakeLists.txt:
  add ha_myisammrg.cc
2006-08-24 22:10:55 -07:00
unknown
97fb42a06e Fix VC 2005 compile problem
sql/handler.cc:
  Cast to "byte*" on both sides of equal sign
  Fix spelling error
2006-08-23 15:41:52 +02:00
unknown
118677a293 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/cps/mysql/trees/mysql-5.1-virgin


sql/mysql_priv.h:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/handler.cc:
  manual merge
2006-08-23 16:48:39 +04:00
unknown
977cd20a70 This changest:
Plugins now when compiled or not compiled work correctly with status variables. 
Status variables from plugins now set their own names (removed bit where plugin name was pre-appended this broke Innodb and Cluster)
A few Makefile cleanups. 


sql/ha_innodb.cc:
  Cleanup to make status variables directly in engine
sql/ha_ndbcluster.cc:
  Engine interface now has variables for status
sql/handler.cc:
  handler now makes sure to init status variables
sql/mysqld.cc:
  Removed status variable hacks
sql/sql_delete.cc:
  Removed include file that was not required
storage/myisam/Makefile.am:
  Cleaned up line lengths and addded additional include to not install.
storage/myisam/ha_myisam.cc:
  Removed double plugin include
2006-08-22 16:24:12 -07:00
unknown
cfafd45807 This changeset moves the ha_myisam files to their storage directories. It also includes updates for all engines include patch for windows builds.
storage/myisam/ha_myisam.h:
  Rename: sql/ha_myisam.h -> storage/myisam/ha_myisam.h
libmysqld/Makefile.am:
  Removing myisam
sql/CMakeLists.txt:
  removing myisam reference
sql/Makefile.am:
  Removing myisam reference.
sql/handler.cc:
  Removing unneeded include reference
sql/mysqld.cc:
  updating include reference
storage/archive/CMakeLists.txt:
  Update windows include
storage/blackhole/CMakeLists.txt:
  Update windows include
storage/csv/CMakeLists.txt:
  Update Windows include
storage/example/CMakeLists.txt:
  Update windows include
storage/federated/CMakeLists.txt:
  Update windows include
storage/heap/CMakeLists.txt:
  
  Update windows include
storage/myisam/CMakeLists.txt:
  Adding ha_myisam reference
storage/myisam/Makefile.am:
  Updatinng Makefile.am
storage/myisam/ha_myisam.cc:
  Updating include reference
storage/myisammrg/CMakeLists.txt:
  Update windows include
2006-08-19 17:38:42 -07:00
unknown
d1c1dac819 Update to push all of merge into the merge storage directory.
storage/myisammrg/ha_myisammrg.h:
  Rename: sql/ha_myisammrg.h -> storage/myisammrg/ha_myisammrg.h
storage/federated/CMakeLists.txt:
  BitKeeper file /home/brian/mysql/arch-5.1/storage/federated/CMakeLists.txt
libmysqld/Makefile.am:
  Removed mrg
sql/CMakeLists.txt:
  Removed mrg
sql/Makefile.am:
  Removed mrg
sql/handler.cc:
  Removed mrg include (no longer needed)
sql/sql_cache.cc:
  Updated include files
storage/heap/Makefile.am:
  
  Formatting
storage/myisammrg/Makefile.am:
  Updated makefile for mrg
storage/myisammrg/ha_myisammrg.cc:
  Updated Makefile
2006-08-19 10:23:22 -07:00
unknown
39f1d9f411 Moved heap into its own directory.
storage/heap/ha_heap.h:
  Rename: sql/ha_heap.h -> storage/heap/ha_heap.h
libmysqld/Makefile.am:
  Heap changes
sql/CMakeLists.txt:
  Removed ha_heap
sql/Makefile.am:
  Removed heap
sql/handler.cc:
  Removed unneeded include call
storage/heap/Makefile.am:
  Adjusted heap Makefile.am to include ha_heap.cc
storage/heap/ha_heap.cc:
  Added plugin header
2006-08-19 08:02:52 -07:00
unknown
728a924c66 Cleanup patch.
There is an existing macros for initializing LEX_STRINGs
with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
(char *) STRING_WITH_LEN -> C_STRING_WITH_LEN


sql/handler.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/item.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/mysql_priv.h:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_acl.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_error.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_error.h:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_lex.h:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_parse.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_partition.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_plugin.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_show.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_trigger.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/sql_view.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
sql/tztime.cc:
  There is an existing macros for initializing LEX_STRINGs
  with constant strings -> C_STRING_WITH_LEN. Change existing code to use it.
  (char *) STRING_WITH_LEN -> C_STRING_WITH_LEN
2006-08-17 18:13:45 +02:00
unknown
189b8bc531 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  zim.(none):/home/brian/mysql/remove-bdb-5.1


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/handler.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-08-10 13:44:04 -07:00
unknown
04d2b020a4 This is the second patch for bdb removeal. This takes care of all options and variables that rely on bdb.
BitKeeper/deleted/.del-ha_berkeley.cc:
  Delete: sql/ha_berkeley.cc
BitKeeper/deleted/.del-ha_berkeley.h:
  Delete: sql/ha_berkeley.h
mysql-test/install_test_db.sh:
  Removed skip option
mysql-test/mysql-test-run.pl:
  Remove bdb option
mysql-test/mysql-test-run.sh:
  Remove bdb option
sql/Makefile.am:
  Remove bdb option
sql/handler.cc:
  Remove references to bdb
sql/lex.h:
  Removed lex for bdb
sql/mysql_priv.h:
  Removed bdb privs
sql/mysqld.cc:
  Removed all options for bdb
sql/set_var.cc:
  Removed variables for bdb
sql/sql_yacc.yy:
  Removed yacc for bdb
2006-08-10 01:50:37 -07:00
unknown
29701579b3 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-merge
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-rt-merge


sql/handler.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2006-08-09 16:42:21 +04:00
unknown
f1af1a5d7e Merge govinda.patg.net:/home/patg/mysql-build/mysql-5.0-holyfoot
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.1-5.0-merge2

Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:

bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge


BitKeeper/deleted/.del-libmysqld.dsp~78dc6a589e5a4149:
  Auto merged
configure.in:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/r/merge.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
BitKeeper/deleted/.del-libmysqld.vcproj~a75d5b9a5967dea0:
  Auto merged
BitKeeper/deleted/.del-libmysqld_ia64.dsp~578ab58d5f281d2a:
  Auto merged
BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
  Auto merged
BitKeeper/deleted/.del-mysqld.vcproj~6aa7b3f9c3e28fcb:
  Auto merged
BitKeeper/deleted/.del-mysqld_ia64.dsp~7f8cf84d81ee04e2:
  Auto merged
BitKeeper/deleted/.del-mysqldemb.dsp~1baf8c0e59ee9f7e:
  Auto merged
BitKeeper/deleted/.del-mysqldemb.vcproj~54c64d55ccc51a7c:
  Auto merged
BitKeeper/deleted/.del-mysqldemb_ia64.dsp~c7f7d75d542393cd:
  Auto merged
BitKeeper/deleted/.del-mysqldmax.dsp~5d213fe1c204142e:
  Auto merged
BitKeeper/deleted/.del-mysqldmax_ia64.dsp~25006b7cc0725ad1:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
include/my_base.h:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
mysql-test/r/federated.result:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
mysql-test/t/federated.test:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
sql/field.cc:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
sql/ha_federated.cc:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
sql/handler.cc:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
tests/mysql_client_test.c:
  Hand merge of conflicts (5.0-5.1 merge), second try 
  
  Push by holyfoot@production.mysql.com on Tue Jul 25 13:41:40 2006:
  
  bk clone -l -r'holyfoot/hf@mysql.com/deer.(none)|ChangeSet|20060725085017|41021' mysql-5.0 tmp_merge
2006-08-08 09:01:32 -07:00
unknown
157c42de97 Fix Bug #18559 "log tables cannot change engine, and
gets deadlocked when dropping w/ log on"

Log tables rely on concurrent insert machinery to add data.
This means that log tables are always opened and locked by
special (artificial) logger threads. Because of this, the thread
which tries to drop a log table starts to wait for the table
to be unlocked. Which will happen only if the log table is disabled.
Alike situation happens if one tries to alter a log table.
However in addition to the problem above, alter table calls
check_if_locking_is_allowed() routine for the engine. The
routine does not allow alter for the log tables. So, alter
doesn't start waiting forever for logs to be disabled, but 
returns with an error.
Another problem is that not all engines could be used for
the log tables. That's because they need concurrent insert.

In this patch we:
(1) Explicitly disallow to drop/alter a log table if it
    is currently used by the logger.
(2) Update MyISAM to support log tables
(3) Allow to drop log tables/alter log tables if log is
    disabled
At the same time we (4) Disallow to alter log tables to
unsupported engine (after this patch CSV and MyISAM are 
alowed)
Recommit with review fixes.


mysql-test/r/log_tables.result:
  Update result file.
  Note: there are warnings in result file. This is because of CSV
  bug (Bug #21328). They should go away after it is fixed.
mysql-test/t/log_tables.test:
  Add a test for the bug
sql/ha_myisam.cc:
  Add log table handling to myisam: as log tables
  use concurrent insert, they are typically
  locked with TL_CONCURRERENT_INSERT lock. So,
  disallow other threads to attempt locking of
  the log tables in incompatible modes. Because
  otherwise the threads will wait for the tables
  to be unlocked forever.
sql/handler.cc:
  Add a function to check if a table we're going to lock
  is a log table and if the lock mode we want allowed
sql/handler.h:
  Add a new function to check compatibility of the locking
sql/log.cc:
  we shouldn't close the log table if and only
  if this particular table is already closed
sql/log.h:
  add new functions to check if a log is enabled
sql/share/errmsg.txt:
  add new error messages
sql/sql_table.cc:
  DROP and ALTER TABLE should not work on log
  tables if the log tables are enabled
storage/csv/ha_tina.cc:
  move function to check if the locking for the log
  tables allowed to handler class, so that we can
  reuse it in other engines.
storage/myisam/mi_extra.c:
  add new ::extra() flag processing to myisam
storage/myisam/mi_open.c:
  init log table flag
storage/myisam/mi_write.c:
  update status after each write if it's a log table
storage/myisam/myisamdef.h:
  Add new log table flag to myisam share.
  We need it to distinguish between usual
  and log tables, as for the log tables we
  should provide concurrent insert in a
  different way than for usual tables: we
  want new rows to be immediately visible
  to other threads.
2006-08-03 21:28:15 +04:00