An error occurred fetching the project authors.
- 01 Feb, 2006 1 commit
-
-
unknown authored
-
- 31 Jan, 2006 2 commits
- 27 Jan, 2006 1 commit
-
-
unknown authored
Added possibillity to check what fields will get added indexes (ndb does currently not support indexes on disk stored fields), WL#1892
-
- 25 Jan, 2006 1 commit
-
-
unknown authored
mysql-test/t/disabled.def: rbr blobs: write data + dict cache workarounds sql/ha_ndbcluster.cc: rbr blobs: write data + dict cache workarounds sql/ha_ndbcluster.h: rbr blobs: write data + dict cache workarounds sql/ha_ndbcluster_binlog.cc: rbr blobs: write data + dict cache workarounds storage/ndb/include/ndbapi/NdbDictionary.hpp: rbr blobs: write data + dict cache workarounds storage/ndb/src/ndbapi/NdbBlob.cpp: rbr blobs: write data + dict cache workarounds storage/ndb/src/ndbapi/NdbDictionary.cpp: rbr blobs: write data + dict cache workarounds storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: rbr blobs: write data + dict cache workarounds storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp: rbr blobs: write data + dict cache workarounds
-
- 17 Jan, 2006 3 commits
-
-
unknown authored
sql/ha_ndbcluster.cc: Additional fixes for WL#1892, disable autodiscover during add/drop index sql/ha_ndbcluster.h: Additional fixes for WL#1892, disable autodiscover during add/drop index sql/sql_table.cc: Additional fixes for WL#1892, removed double commit + added call to create_handler_files after create/drop index mysql-test/r/ndb_alter_table_row.result: Additional fixes for WL#1892, changed test case mysql-test/t/ndb_alter_table_row.test: Additional fixes for WL#1892, changed test case
-
unknown authored
Optimised version of ADD/DROP/REORGANIZE partitions for non-NDB storage engines. New syntax to handle REBUILD/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions Quite a few bug fixes include/thr_lock.h: New method to downgrade locks from TL_WRITE_ONLY Possibility to upgrade lock while aborting locks mysql-test/r/ndb_autodiscover.result: Fix for lowercase and that all NDB tables are now partitioned mysql-test/r/ndb_bitfield.result: Fix for lowercase and that all NDB tables are now partitioned mysql-test/r/ndb_gis.result: Fix for lowercase and that all NDB tables are now partitioned mysql-test/r/ndb_partition_key.result: New test case mysql-test/r/partition.result: New test case mysql-test/r/partition_error.result: New test case mysql-test/r/partition_mgm_err.result: Fix of test case results mysql-test/t/disabled.def: partition_03ndb still has bug mysql-test/t/ndb_partition_key.test: New test cases for new functionality and bugs mysql-test/t/partition.test: New test cases for new functionality and bugs mysql-test/t/partition_error.test: New test cases for new functionality and bugs mysql-test/t/partition_mgm_err.test: New test cases for new functionality and bugs mysys/thr_lock.c: New method to downgrade TL_WRITE_ONLY locks Possibility to specify if locks are to be upgraded at abort locks sql/ha_archive.cc: New handlerton methods sql/ha_berkeley.cc: New handlerton methods sql/ha_blackhole.cc: New handlerton methods sql/ha_federated.cc: New handlerton methods sql/ha_heap.cc: New handlerton methods sql/ha_innodb.cc: New handlerton methods sql/ha_myisam.cc: New handlerton methods sql/ha_myisammrg.cc: New handlerton methods sql/ha_ndbcluster.cc: New handlerton methods Moved out packfrm and unpackfrm methods Adapted many parts to use table_share instead of table->s Ensured that .ndb file uses filename and not tablename according to new encoding of names (WL 1324) All NDB tables are partitioned and set up partition info Fixed such that tablenames use tablenames and not filenames in NDB NDB uses auto partitioning for ENGINE=NDB tables Warning for very large tables Set RANGE data Set LIST data New method to set-up partition info Set Default number of partitions flag Set linear hash flag Set node group array Set number of fragments Set max rows Set tablespace names New method to get number of partitions of table to use at open table sql/ha_ndbcluster.h: Removed partition_flags and alter_table_flags from handler class A couple of new and changed method headers sql/ha_ndbcluster_binlog.cc: Use new method headers sql/ha_partition.cc: New handlerton methods Lots of new function headers Use #P# as separator between table name and partition name and #SP# as separator between partition name and subpartition name Use filename encoding for files both of table name part and of partition name parts New method to drop partitions based on partition state New method to rename partitions based on partition state New methods to optimize, analyze, check and repair partitions New methods to optimize, analyze, check and repair table Helper method to create new partition, open it and external lock it, not needed to lock it internally since no one else knows about it yet. Cleanup method at error for new partitions New methods to perform bulk of work at ADD/REORGANIZE partitions (change_partitions, copy_partitions) sql/ha_partition.h: New methods and variables A few dropped ones and a few changed ones sql/handler.cc: Handlerton interface changes New flag to open_table_from_share sql/handler.h: New alter_table_flags New partition flags New partition states More states for default handling Lots of new, dropped and changed interfaces sql/lex.h: Added REBUILD and changed name of REORGANISE to REORGANIZE sql/lock.cc: Method to downgrade locks Able to specify if locks upgraded on abort locks sql/log.cc: New handlerton methods sql/mysql_priv.h: Lots of new interfaces sql/share/errmsg.txt: Lots of new, dropped and changed error messages sql/sql_base.cc: Adapted to new method headers New method to abort and upgrade lock New method to close open tables and downgrade lock New method to wait for completed table sql/sql_lex.h: New flags sql/sql_partition.cc: Return int instead of bool in get_partition_id More defaults handling Make use of new mem_alloc_error method More work on function headers Changes to generate partition syntax to cater for intermediate partition states Lots of new code with large comments describing new features for Partition Management: ADD/DROP/REORGANIZE/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions sql/sql_show.cc: Minors sql/sql_table.cc: Moved a couple of methods New methods to copy create lists and key lists for use with mysql_prepare_table New method to write frm file New handling of handlers with auto partitioning Fix CREATE TABLE LIKE Moved code for ADD/DROP/REORGANIZE partitions Use handlerton method for alter_table_flags sql/sql_yacc.yy: More memory alloc error checks New syntax for REBUILD, ANALYZE, CHECK, OPTIMIZE, REPAIR partitions sql/table.cc: Fix length of extra part to be 4 bytes Partition state introduced in frm file sql/table.h: Partition state introduced sql/unireg.cc: Partition state introduced Default partition storage/csv/ha_tina.cc: New handlerton methods storage/example/ha_example.cc: New handlerton methods storage/ndb/include/kernel/ndb_limits.h: RANGE DATA storage/ndb/include/kernel/signaldata/AlterTable.hpp: New interfaces in ALTER TABLE towards NDB kernel storage/ndb/include/kernel/signaldata/DiAddTab.hpp: New section storage/ndb/include/kernel/signaldata/DictTabInfo.hpp: Lots of new parts of table description storage/ndb/include/kernel/signaldata/LqhFrag.hpp: tablespace id specified in LQHFRAGREQ storage/ndb/include/ndbapi/NdbDictionary.hpp: Lots of new methods in NDB dictionary storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp: Lots of new variables in table description storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: Lots of new variables in table description storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: Lots of new variables in table description storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: New error insertion storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp: a few extra jam's storage/ndb/src/ndbapi/NdbBlob.cpp: Changes to definition of blob tables storage/ndb/src/ndbapi/NdbDictionary.cpp: Lots of new stuff in NDB dictionary storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: Lots of new stuff in NDB dictionary storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp: Lots of new stuff in NDB dictionary storage/ndb/test/ndbapi/test_event.cpp: removed use of methods no longer in existence storage/ndb/tools/restore/Restore.cpp: Renamed variable
-
unknown authored
+ corrected the bugs in this resuling from mysql-test-run +removed some debug printouts sql/ha_ndbcluster.cc: added assert for when ndb share is not released as it should + corrected the bugs in this resuling from mysql-test-run sql/ha_ndbcluster.h: added assert for when ndb share is not released as it should + corrected the bugs in this resuling from mysql-test-run sql/ha_ndbcluster_binlog.cc: added assert for when ndb share is not released as it should + corrected the bugs in this resuling from mysql-test-run storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp: removed some debug printouts
-
- 13 Jan, 2006 1 commit
-
-
unknown authored
-
- 12 Jan, 2006 1 commit
-
-
unknown authored
mysql-test/include/have_ndb_extra.inc: New BitKeeper file ``mysql-test/include/have_ndb_extra.inc'' mysql-test/include/not_ndb.inc: New BitKeeper file ``mysql-test/include/not_ndb.inc'' mysql-test/r/have_ndb_extra.require: New BitKeeper file ``mysql-test/r/have_ndb_extra.require'' mysql-test/r/ndb_alter_table_row.result: New BitKeeper file ``mysql-test/r/ndb_alter_table_row.result'' mysql-test/r/ndb_alter_table_stm.result: New BitKeeper file ``mysql-test/r/ndb_alter_table_stm.result'' mysql-test/r/ndb_binlog_basic.result: New BitKeeper file ``mysql-test/r/ndb_binlog_basic.result'' mysql-test/r/ndb_binlog_multi.result: New BitKeeper file ``mysql-test/r/ndb_binlog_multi.result'' mysql-test/r/ndb_multi_row.result: New BitKeeper file ``mysql-test/r/ndb_multi_row.result'' mysql-test/r/not_ndb.require: New BitKeeper file ``mysql-test/r/not_ndb.require'' mysql-test/r/rpl_ndb_bank.result: New BitKeeper file ``mysql-test/r/rpl_ndb_bank.result'' mysql-test/r/rpl_ndb_basic.result: New BitKeeper file ``mysql-test/r/rpl_ndb_basic.result'' mysql-test/r/rpl_ndb_disk.result: New BitKeeper file ``mysql-test/r/rpl_ndb_disk.result'' mysql-test/r/rpl_ndb_idempotent.result: New BitKeeper file ``mysql-test/r/rpl_ndb_idempotent.result'' mysql-test/r/rpl_ndb_load.result: New BitKeeper file ``mysql-test/r/rpl_ndb_load.result'' mysql-test/r/rpl_ndb_multi.result: New BitKeeper file ``mysql-test/r/rpl_ndb_multi.result'' mysql-test/r/rpl_ndb_sync.result: New BitKeeper file ``mysql-test/r/rpl_ndb_sync.result'' mysql-test/r/rpl_row_basic_7ndb.result: New BitKeeper file ``mysql-test/r/rpl_row_basic_7ndb.result'' mysql-test/t/ndb_alter_table_row.test: New BitKeeper file ``mysql-test/t/ndb_alter_table_row.test'' mysql-test/t/ndb_alter_table_stm.test: New BitKeeper file ``mysql-test/t/ndb_alter_table_stm.test'' mysql-test/t/ndb_binlog_basic.test: New BitKeeper file ``mysql-test/t/ndb_binlog_basic.test'' mysql-test/t/ndb_binlog_multi.test: New BitKeeper file ``mysql-test/t/ndb_binlog_multi.test'' mysql-test/t/ndb_multi_row.test: New BitKeeper file ``mysql-test/t/ndb_multi_row.test'' mysql-test/t/rpl_ndb_bank.test: New BitKeeper file ``mysql-test/t/rpl_ndb_bank.test'' mysql-test/t/rpl_ndb_basic.test: New BitKeeper file ``mysql-test/t/rpl_ndb_basic.test'' mysql-test/t/rpl_ndb_disk.test: New BitKeeper file ``mysql-test/t/rpl_ndb_disk.test'' mysql-test/t/rpl_ndb_idempotent.test: New BitKeeper file ``mysql-test/t/rpl_ndb_idempotent.test'' mysql-test/t/rpl_ndb_load.test: New BitKeeper file ``mysql-test/t/rpl_ndb_load.test'' mysql-test/t/rpl_ndb_multi.test: New BitKeeper file ``mysql-test/t/rpl_ndb_multi.test'' mysql-test/t/rpl_ndb_sync.test: New BitKeeper file ``mysql-test/t/rpl_ndb_sync.test'' mysql-test/t/rpl_row_basic_7ndb.test: New BitKeeper file ``mysql-test/t/rpl_row_basic_7ndb.test'' sql/ha_ndbcluster_binlog.cc: New BitKeeper file ``sql/ha_ndbcluster_binlog.cc'' sql/ha_ndbcluster_binlog.h: New BitKeeper file ``sql/ha_ndbcluster_binlog.h'' sql/ha_ndbcluster_tables.h: New BitKeeper file ``sql/ha_ndbcluster_tables.h'' sql/rpl_injector.cc: New BitKeeper file ``sql/rpl_injector.cc'' sql/rpl_injector.h: New BitKeeper file ``sql/rpl_injector.h'' storage/ndb/include/kernel/signaldata/DihFragCount.hpp: New BitKeeper file ``storage/ndb/include/kernel/signaldata/DihFragCount.hpp''
-
- 11 Jan, 2006 3 commits
-
-
unknown authored
-
unknown authored
-
unknown authored
mysql-test/t/rpl_multi_engine.test: merge fix libmysqld/sql_tablespace.cc: New BitKeeper file ``libmysqld/sql_tablespace.cc'' mysql-test/r/ndb_basic_disk.result: New BitKeeper file ``mysql-test/r/ndb_basic_disk.result'' mysql-test/t/ndb_basic_disk.test: New BitKeeper file ``mysql-test/t/ndb_basic_disk.test'' sql/sql_tablespace.cc: New BitKeeper file ``sql/sql_tablespace.cc'' storage/ndb/src/kernel/blocks/OptNR.txt: New BitKeeper file ``storage/ndb/src/kernel/blocks/OptNR.txt'' storage/ndb/src/kernel/vm/mem.txt: New BitKeeper file ``storage/ndb/src/kernel/vm/mem.txt'' storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp: New BitKeeper file ``storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp'' storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp: New BitKeeper file ``storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp'' storage/ndb/tools/ndb_error_reporter: New BitKeeper file ``storage/ndb/tools/ndb_error_reporter''
-
- 10 Jan, 2006 1 commit
-
-
unknown authored
added I_S 'PARTITIONS' table
-
- 07 Jan, 2006 1 commit
-
-
unknown authored
-
- 25 Nov, 2005 1 commit
-
-
unknown authored
The previous variant where it was a specific ha_partition method only worked for the partition handler. It was unfortunately called also for the NDB handler and in this case it called a random method in the NDB handler with random input. sql/ha_ndbcluster.cc: Moved initialisation of some handler variables to set_part_info method called earlly in the open process sql/ha_ndbcluster.h: Moved initialisation of some handler variables to set_part_info method called earlly in the open process sql/ha_partition.h: Made set_part_info a handler method and not a ha_partition method only sql/handler.h: Made set_part_info a handler method and not a ha_partition method only sql/sql_partition.cc: Made set_part_info a handler method and not a ha_partition method only
-
- 23 Nov, 2005 1 commit
-
-
unknown authored
The table opening process now works the following way: - Create common TABLE_SHARE object - Read the .frm file and unpack it into the TABLE_SHARE object - Create a TABLE object based on the information in the TABLE_SHARE object and open a handler to the table object Other noteworthy changes: - In TABLE_SHARE the most common strings are now LEX_STRING's - Better error message when table is not found - Variable table_cache is now renamed 'table_open_cache' - New variable 'table_definition_cache' that is the number of table defintions that will be cached - strxnmov() calls are now fixed to avoid overflows - strxnmov() will now always add one end \0 to result - engine objects are now created with a TABLE_SHARE object instead of a TABLE object. - After creating a field object one must call field->init(table) before using it - For a busy system this change will give you: - Less memory usage for table object - Faster opening of tables (if it's has been in use or is in table definition cache) - Allow you to cache many table definitions objects - Faster drop of table mysql-test/mysql-test-run.sh: Fixed some problems with --gdb option Test both with socket and tcp/ip port that all old servers are killed mysql-test/r/flush_table.result: More tests with lock table with 2 threads + flush table mysql-test/r/information_schema.result: Removed old (now wrong) result mysql-test/r/innodb.result: Better error messages (thanks to TDC patch) mysql-test/r/merge.result: Extra flush table test mysql-test/r/ndb_bitfield.result: Better error messages (thanks to TDC patch) mysql-test/r/ndb_partition_error.result: Better error messages (thanks to TDC patch) mysql-test/r/query_cache.result: Remove tables left from old tests mysql-test/r/temp_table.result: Test truncate with temporary tables mysql-test/r/variables.result: Table_cache -> Table_open_cache mysql-test/t/flush_table.test: More tests with lock table with 2 threads + flush table mysql-test/t/merge.test: Extra flush table test mysql-test/t/multi_update.test: Added 'sleep' to make test predictable mysql-test/t/query_cache.test: Remove tables left from old tests mysql-test/t/temp_table.test: Test truncate with temporary tables mysql-test/t/variables.test: Table_cache -> Table_open_cache mysql-test/valgrind.supp: Remove warning that may happens becasue threads dies in different order mysys/hash.c: Fixed wrong DBUG_PRINT mysys/mf_dirname.c: More DBUG mysys/mf_pack.c: Better comment mysys/mf_tempdir.c: More DBUG Ensure that we call cleanup_dirname() on all temporary directory paths. If we don't do this, we will get a failure when comparing temporary table names as in some cases the temporary table name is run through convert_dirname()) mysys/my_alloc.c: Indentation fix sql/examples/ha_example.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/examples/ha_example.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/examples/ha_tina.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/examples/ha_tina.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/field.cc: Update for table definition cache: - Field creation now takes TABLE_SHARE instead of TABLE as argument (This is becasue field definitions are now cached in TABLE_SHARE) When a field is created, one now must call field->init(TABLE) before using it - Use s->db instead of s->table_cache_key - Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE - make_field() takes TABLE_SHARE as argument instead of TABLE - move_field() -> move_field_offset() sql/field.h: Update for table definition cache: - Field creation now takes TABLE_SHARE instead of TABLE as argument (This is becasue field definitions are now cached in TABLE_SHARE) When a field is created, one now must call field->init(TABLE) before using it - Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE - make_field() takes TABLE_SHARE as argument instead of TABLE - move_field() -> move_field_offset() sql/ha_archive.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_archive.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_berkeley.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers Changed name of argument create() to not hide internal 'table' variable. table->s -> table_share sql/ha_berkeley.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_blackhole.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_blackhole.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_federated.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers Fixed comments Remove index variable and replace with pointers (simple optimization) move_field() -> move_field_offset() Removed some strlen() calls sql/ha_federated.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_heap.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers Simplify delete_table() and create() as the given file names are now without extension sql/ha_heap.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_innodb.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_innodb.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_myisam.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers Remove not needed fn_format() Fixed for new table->s structure sql/ha_myisam.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_myisammrg.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers Don't set 'is_view' for MERGE tables Use new interface to find_temporary_table() sql/ha_myisammrg.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers Added flag HA_NO_COPY_ON_ALTER sql/ha_ndbcluster.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers Fixed wrong calls to strxnmov() Give error HA_ERR_TABLE_DEF_CHANGED if table definition has changed drop_table -> intern_drop_table() table->s -> table_share Move part_info to TABLE Fixed comments & DBUG print's New arguments to print_error() sql/ha_ndbcluster.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers sql/ha_partition.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers We can't set up or use part_info when creating handler as there is not yet any table object New ha_intialise() to work with TDC (Done by Mikael) sql/ha_partition.h: We new use TABLE_SHARE instead of TABLE when creating engine handlers Got set_part_info() from Mikael sql/handler.cc: We new use TABLE_SHARE instead of TABLE when creating engine handlers ha_delete_table() now also takes database as an argument handler::ha_open() now takes TABLE as argument ha_open() now calls ha_allocate_read_write_set() Simplify ha_allocate_read_write_set() Remove ha_deallocate_read_write_set() Use table_share (Cached by table definition cache) sql/handler.h: New table flag: HA_NO_COPY_ON_ALTER (used by merge tables) Remove ha_deallocate_read_write_set() get_new_handler() now takes TABLE_SHARE as argument ha_delete_table() now gets database as argument sql/item.cc: table_name and db are now LEX_STRING objects When creating fields, we have now have to call field->init(table) move_field -> move_field_offset() sql/item.h: tmp_table_field_from_field_type() now takes an extra paramenter 'fixed_length' to allow one to force usage of CHAR instead of BLOB sql/item_cmpfunc.cc: Fixed call to tmp_table_field_from_field_type() sql/item_create.cc: Assert if new not handled cast type sql/item_func.cc: When creating fields, we have now have to call field->init(table) dummy_table used by 'sp' now needs a TABLE_SHARE object sql/item_subselect.cc: Trivial code cleanups sql/item_sum.cc: When creating fields, we have now have to call field->init(table) sql/item_timefunc.cc: Item_func_str_to_date::tmp_table_field() now replaced by call to tmp_table_field_from_field_type() (see item_timefunc.h) sql/item_timefunc.h: Simply tmp_table_field() sql/item_uniq.cc: When creating fields, we have now have to call field->init(table) sql/key.cc: Added 'KEY' argument to 'find_ref_key' to simplify code sql/lock.cc: More debugging Use create_table_def_key() to create key for table cache Allocate TABLE_SHARE properly when creating name lock Fix that locked_table_name doesn't test same table twice sql/mysql_priv.h: New functions for table definition cache New interfaces to a lot of functions. New faster interface to find_temporary_table() and close_temporary_table() sql/mysqld.cc: Added support for table definition cache of size 'table_def_size' Fixed som calls to strnmov() Changed name of 'table_cache' to 'table_open_cache' sql/opt_range.cc: Use new interfaces Fixed warnings from valgrind sql/parse_file.cc: Safer calls to strxnmov() Fixed typo sql/set_var.cc: Added variable 'table_definition_cache' Variable table_cache renamed to 'table_open_cache' sql/slave.cc: Use new interface sql/sp.cc: Proper use of TABLE_SHARE sql/sp_head.cc: Remove compiler warnings We have now to call field->init(table) sql/sp_head.h: Pointers to parsed strings are now const sql/sql_acl.cc: table_name is now a LEX_STRING sql/sql_base.cc: Main implementation of table definition cache (The #ifdef's are there for the future when table definition cache will replace open table cache) Now table definitions are cached indepndent of open tables, which will speed up things when a table is in use at once from several places Views are not yet cached; For the moment we only cache if a table is a view or not. Faster implementation of find_temorary_table() Replace 'wait_for_refresh()' with the more general function 'wait_for_condition()' Drop table is slightly faster as we can use the table definition cache to know the type of the table sql/sql_cache.cc: table_cache_key and table_name are now LEX_STRING 'sDBUG print fixes sql/sql_class.cc: table_cache_key is now a LEX_STRING safer strxnmov() sql/sql_class.h: Added number of open table shares (table definitions) sql/sql_db.cc: safer strxnmov() sql/sql_delete.cc: Use new interface to find_temporary_table() sql/sql_derived.cc: table_name is now a LEX_STRING sql/sql_handler.cc: TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's sql/sql_insert.cc: TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's sql/sql_lex.cc: Make parsed string a const (to quickly find out if anything is trying to change the query string) sql/sql_lex.h: Make parsed string a const (to quickly find out if anything is trying to change the query string) sql/sql_load.cc: Safer strxnmov() sql/sql_parse.cc: Better error if wrong DB name sql/sql_partition.cc: part_info moved to TABLE from TABLE_SHARE Indentation changes sql/sql_select.cc: Indentation fixes Call field->init(TABLE) for new created fields Update create_tmp_table() to use TABLE_SHARE properly sql/sql_select.h: Call field->init(TABLE) for new created fields sql/sql_show.cc: table_name is now a LEX_STRING part_info moved to TABLE sql/sql_table.cc: Use table definition cache to speed up delete of tables Fixed calls to functions with new interfaces Don't use 'share_not_to_be_used' Instead of doing openfrm() when doing repair, we now have to call get_table_share() followed by open_table_from_share(). Replace some fn_format() with faster unpack_filename(). Safer strxnmov() part_info is now in TABLE Added Mikaels patch for partition and ALTER TABLE Instead of using 'TABLE_SHARE->is_view' use 'table_flags() & HA_NO_COPY_ON_ALTER sql/sql_test.cc: table_name and table_cache_key are now LEX_STRING's sql/sql_trigger.cc: TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's safer strxnmov() Removed compiler warnings sql/sql_update.cc: Call field->init(TABLE) after field is created sql/sql_view.cc: safer strxnmov() Create common TABLE_SHARE object for views to allow us to cache if table is a view sql/structs.h: Added SHOW_TABLE_DEFINITIONS sql/table.cc: Creation and destruct of TABLE_SHARE objects that are common for many TABLE objects The table opening process now works the following way: - Create common TABLE_SHARE object - Read the .frm file and unpack it into the TABLE_SHARE object - Create a TABLE object based on the information in the TABLE_SHARE object and open a handler to the table object open_table_def() is written in such a way that it should be trival to add parsing of the .frm files in new formats sql/table.h: TABLE objects for the same database table now share a common TABLE_SHARE object In TABLE_SHARE the most common strings are now LEX_STRING's sql/unireg.cc: Changed arguments to rea_create_table() to have same order as other functions Call field->init(table) for new created fields sql/unireg.h: Added OPEN_VIEW strings/strxnmov.c: Change strxnmov() to always add end \0 This makes usage of strxnmov() safer as most of MySQL code assumes that strxnmov() will create a null terminated string
-
- 07 Nov, 2005 1 commit
-
-
unknown authored
Makefile.am: Changes to autoconf subst config/ac-macros/ha_berkeley.m4: simplify config/ac-macros/ha_ndbcluster.m4: simplify config/ac-macros/ha_partition.m4: simplify configure.in: strip configure of storage engine specific cruft and simplify extra/Makefile.am: changes to autoconf/automake subst libmysqld/Makefile.am: only compile storage engines if required. make find object file a little smarter libmysqld/examples/Makefile.am: changes to autoconf subst mysql-test/Makefile.am: remove storage engine specific cruft mysql-test/r/ps_1general.result: cannot gaurantee order of results from 'show storage engines' mysql-test/r/show_check.result: fix test - frm file fails to be deleted if it is invalid mysql-test/r/sql_mode.result: isam does not exist, test may need to be redone/fixed in 5.0 mysql-test/r/warnings.result: isam no longer exists mysql-test/t/ps_1general.test: cannot gaurantee order of results from 'show storage engines' mysql-test/t/show_check.test: fix test - frm file fails to be deleted if it is invalid mysql-test/t/sql_mode.test: isam does not exist, test may need to be redone/fixed in 5.0 mysql-test/t/system_mysql_db_fix.test: change isam to myisam mysql-test/t/view.test: change isam to myisam mysql-test/t/warnings.test: isam no longer exists sql/Makefile.am: Make storage engines "pluggable" stage 1 only compile storage engines if included sql/examples/ha_example.cc: handlerton work sql/examples/ha_example.h: handlerton work sql/examples/ha_tina.cc: handlerton work sql/examples/ha_tina.h: handlerton work sql/ha_archive.cc: handlerton work sql/ha_archive.h: handlerton work sql/ha_berkeley.cc: handlerton work sql/ha_berkeley.h: handlerton work sql/ha_blackhole.cc: handlerton work sql/ha_federated.cc: handlerton work sql/ha_federated.h: handlerton work sql/ha_heap.cc: handlerton work sql/ha_innodb.cc: handlerton work sql/ha_innodb.h: handlerton work sql/ha_myisam.cc: handlerton work sql/ha_myisammrg.cc: handlerton work sql/ha_ndbcluster.cc: handlerton work sql/ha_ndbcluster.h: handlerton work sql/ha_partition.cc: handlerton work sql/handler.cc: start removing storage engine specific cruft sql/handler.h: start removing storage engine specific cruft db_type for binlog handlerton handlerton flag for not-user-selectable storage engines sql/lex.h: start removing storage engine specific cruft sql/log.cc: handlerton work give binlog handlerton a 'real' db_type sql/mysql_priv.h: start removing storage engine specific cruft sql/mysqld.cc: start removing storage engine specific cruft sql/set_var.cc: start removing storage engine specific cruft sql/sp_head.cc: start removing storage engine specific cruft sql/sql_class.cc: start removing storage engine specific cruft sql/sql_class.h: start removing storage engine specific cruft sql/sql_lex.h: start removing storage engine specific cruft sql/sql_manager.cc: start removing storage engine specific cruft sql/sql_manager.h: start removing storage engine specific cruft sql/sql_parse.cc: start removing storage engine specific cruft sql/sql_partition.cc: start removing storage engine specific cruft sql/sql_prepare.cc: start removing storage engine specific cruft sql/sql_show.cc: start removing storage engine specific cruft sql/sql_table.cc: changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE start removing storage engine specific cruft sql/sql_update.cc: changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE sql/sql_yacc.yy: start removing storage engine specific cruft test if we should throw error sql/table.cc: changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE sql/table.h: changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE sql/unireg.cc: changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE storage/ndb/include/kernel/kernel_types.h: added my_config.h storage/ndb/include/ndb_global.h.in: added my_config.h storage/ndb/include/ndb_types.h.in: added my_config.h config/ac-macros/storage.m4: New BitKeeper file ``config/ac-macros/storage.m4'' sql/handlerton.cc.in: New BitKeeper file ``sql/handlerton.cc.in''
-
- 05 Nov, 2005 1 commit
-
-
unknown authored
- removed some returns on ndb internal error codes, return ndb cause in warnings - moved all errorcode mapping mysqld-ndb to ndberror.c - ndb util thread to discover all ndb tables at startup - ndb util thread to wait for mysqld startup
-
- 03 Oct, 2005 1 commit
-
-
unknown authored
Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail. sql/examples/ha_archive.cc: Modifications for new ha_init code. The init method now checks for errors and will not start up if the errors occur. sql/examples/ha_archive.h: Change for new init method. sql/examples/ha_example.cc: New handlerton pieces. sql/examples/ha_tina.cc: New handlerton pieces. sql/ha_berkeley.cc: New handlerton pieces, plus changes for ha_init changes. I'm not happy with our current "skip" setup. sql/ha_berkeley.h: Change in init return. sql/ha_blackhole.cc: Changes for new handlerton pieces. sql/ha_federated.cc: Changes for new handlerton and true cleanup code. sql/ha_heap.cc: Changes for new handlerton returns. sql/ha_innodb.cc: Changes for handlerton code. sql/ha_innodb.h: Change in init. sql/ha_myisam.cc: Changes for additional handlerton bits. sql/ha_myisammrg.cc: Changes for new handlerton bits. sql/ha_ndbcluster.cc: Changes for new handlerton bits. sql/ha_ndbcluster.h: Changes for handlerton bits. sql/handler.cc: Changes for ditching show_table_type_st types, and collapsing it into a handlerton array. The ha_init now just loops through all handlers to init (much cleaner...). handlertons and sys_table_types should be merged next. sql/handler.h: Additions for sys_table_types sql/log.cc: Clean up of binlog for changes in handlerton sql/mysql_priv.h: Removed unneeded define for binlog_init sql/sql_show.cc: Changes for change in handlerton to sys_table_types
-
- 30 Sep, 2005 1 commit
-
-
unknown authored
"SELECT ... FOR UPDATE executed as consistent read inside LOCK TABLES" Do not discard lock_type information as handler::start_stmt() may require knowledge. (fixed by Antony)
-
- 19 Sep, 2005 1 commit
-
-
unknown authored
that dump free list allocation per connection sql/ha_ndbcluster.cc: imlp. show engine ndb status; that dump free list allocation per connection sql/ha_ndbcluster.h: imlp. show engine ndb status; that dump free list allocation per connection sql/mysqld.cc: imlp. show engine ndb status; that dump free list allocation per connection sql/sql_lex.h: imlp. show engine ndb status; that dump free list allocation per connection sql/sql_parse.cc: imlp. show engine ndb status; that dump free list allocation per connection sql/sql_yacc.yy: imlp. show engine ndb status; that dump free list allocation per connection
-
- 15 Sep, 2005 1 commit
-
-
unknown authored
mysql-test/r/ndb_basic.result: wl#2624 re-commit due to bk problem mysql-test/r/ndb_blob.result: wl#2624 re-commit due to bk problem mysql-test/r/ndb_charset.result: wl#2624 re-commit due to bk problem mysql-test/r/ndb_condition_pushdown.result: wl#2624 re-commit due to bk problem mysql-test/r/ndb_index_ordered.result: wl#2624 re-commit due to bk problem mysql-test/t/ndb_index_ordered.test: wl#2624 re-commit due to bk problem sql/ha_ndbcluster.cc: wl#2624 re-commit due to bk problem sql/ha_ndbcluster.h: wl#2624 re-commit due to bk problem sql/mysqld.cc: wl#2624 re-commit due to bk problem sql/set_var.cc: wl#2624 re-commit due to bk problem sql/sql_class.h: wl#2624 re-commit due to bk problem storage/ndb/include/kernel/AttributeHeader.hpp: wl#2624 re-commit due to bk problem storage/ndb/include/ndbapi/NdbDictionary.hpp: wl#2624 re-commit due to bk problem storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp: wl#2624 re-commit due to bk problem storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: wl#2624 re-commit due to bk problem storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp: wl#2624 re-commit due to bk problem storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp: wl#2624 re-commit due to bk problem storage/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp: wl#2624 re-commit due to bk problem storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp: wl#2624 re-commit due to bk problem storage/ndb/src/kernel/blocks/dbtux/Makefile.am: wl#2624 re-commit due to bk problem storage/ndb/src/ndbapi/Makefile.am: wl#2624 re-commit due to bk problem storage/ndb/src/ndbapi/NdbDictionary.cpp: wl#2624 re-commit due to bk problem storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: wl#2624 re-commit due to bk problem storage/ndb/src/ndbapi/NdbScanOperation.cpp: wl#2624 re-commit due to bk problem
-
- 22 Aug, 2005 1 commit
-
-
unknown authored
-
- 18 Aug, 2005 1 commit
-
-
unknown authored
corrected compile error sql/ha_innodb.h: corrected compile error sql/ha_ndbcluster.h: corrected compile error
-
- 01 Aug, 2005 1 commit
-
-
unknown authored
-
- 29 Jul, 2005 1 commit
-
-
unknown authored
-
- 26 Jul, 2005 1 commit
-
-
unknown authored
fix length of NDB$PK in unique index table storage/ndb/tools/config.cpp: Rename: ndb/tools/config.cpp -> storage/ndb/tools/config.cpp sql/ha_innodb.h: fix g++ compile error sql/ha_ndbcluster.h: fix g++ compile error storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp: fix length of NDB$PK in index table
-
- 22 Jul, 2005 1 commit
-
-
unknown authored
mysql-test/r/alter_table.result: Added some additional tests for new alter table code. mysql-test/t/alter_table.test: Added some additional tests for new alter table code. sql/field.cc: Functions to check whether new field is equal with old field. Classes for different types. sql/field.h: Functions to check whether new field is equal with old field. Classes for different types. sql/ha_berkeley.cc: check_if_incompatible_data() for BDB. sql/ha_berkeley.h: check_if_incompatible_data() for BDB. sql/ha_heap.cc: check_if_incompatible_data() for HEAP. sql/ha_heap.h: check_if_incompatible_data() for HEAP. sql/ha_innodb.cc: check_if_incompatible_data() for InnoDB. sql/ha_innodb.h: check_if_incompatible_data() for InnoBD. sql/ha_myisam.cc: check_if_incompatible_data() for MyISAM. sql/ha_myisam.h: check_if_incompatible_data() for MyISAM. sql/ha_myisammrg.cc: check_if_incompatible_data() for Merge tables. sql/ha_myisammrg.h: check_if_incompatible_data() for Merge tables. sql/ha_ndbcluster.cc: check_if_incompatible_data() for NDB. sql/ha_ndbcluster.h: check_if_incompatible_data() for NDB. sql/handler.h: Defines for COMPATIBLE_DATA (yes and no) and the default function for check_if_incompatible_data(). sql/mysql_priv.h: Defines for IS_EQUAL_* sql/mysqld.cc: Added option --old-alter-table to disable new alter table code. sql/set_var.cc: Added option --old-alter-table to disable new alter table code. sql/set_var.h: Added option --old-alter-table to disable new alter table code. sql/sql_class.h: Added option --old-alter-table to disable new alter table code. sql/sql_lex.h: Added a flag for forcing recreation of a table (needed for optimize table mapped to alter table) sql/sql_table.cc: Made a function of setting table default charset, used now in two places. Added defines for ALTER_TABLE_* possible changes. Currently just overall data and index. Added function compare_tables, which checks fields compatibility in old and new tables. BitKeeper/etc/config: Disabled logging
-
- 18 Jul, 2005 1 commit
-
-
unknown authored
-
- 06 Jul, 2005 1 commit
-
-
unknown authored
-
- 29 Jun, 2005 1 commit
-
-
unknown authored
-
- 08 Jun, 2005 1 commit
-
-
unknown authored
- Added better error messages when trying to open a table that can't be discovered or unpacked. The most likely cause of this is that it does not have any frm data, probably since it has been created from NdbApi or is a NDB system table. - Separated functionality that was in ha_create_table_from_engine into two functions. One that checks if the table exists and another one that tries to create the table from the engine. mysql-test/r/ndb_autodiscover.result: Add tests for reading from a table that can't be discovered(SYSTAB_0) Discovery is not performed during create table anymore. mysql-test/t/ndb_autodiscover.test: Add tests for reading from a table that can't be discovered(SYSTAB_0) Discovery is not performed during create table anymore. ndb/test/ndbapi/create_tab.cpp: Set connectstring before creating Ndb object. sql/ha_ndbcluster.cc: Rename and use the function ndbcluster_table_exists_in_engine. Correct return valu from ndbcluster_discover Remove old code "ndb_discover_tables" sql/ha_ndbcluster.h: Rename function ndbcluster_table_exists to ndb ndbcluster_table_exists_in_engine sql/handler.cc: Update comment of ha_create_table_from_engine Remove parameter create_if_found from ha_create_table_from_engine, the function ha_table_exists_in_engine is now used toi check if table is found in engine. Cleanup return codes from ha_create_table_from_engine. Change name of ha_table_exists to ha_table_exists_in_engine, update comment and returne codes. sql/handler.h: Remove paramter create_if_cound from ha_create_table_from_engine Rename ha_table_exists to ha_table_exists_in_engine sql/sql_base.cc: Use the function ha_table_exists_in_engine to detect if table exists in enegine. If it exists, call function ha_create_table_from_engine to try and create it. If create of table fails, set correct error message. sql/sql_table.cc: Add comments, remove parameter create_if_found to ha_create_table_from_engine. When dropping a table, try to discover it from engine. If discover fails, use same error message as if the table didn't exists. Maybe another message should be displayed here, ex: "Table could not be dropped, unpack failed" When creating a new table, use ha_table_exists_in_engine to check if a table with the given name already exists.
-
- 18 May, 2005 1 commit
-
-
unknown authored
Added support for BETWEEN and IN in condition pushdown to ndbcluster by rewriting them as AND and OR expressions
-
- 04 May, 2005 1 commit
-
-
unknown authored
- Introduce ifdefs so we can control when to use #pragma interface on cygwin include/my_global.h: Turn on use of #pragma implementation and #pragma interface if compiled with GCC and platform != Cygwin include/raid.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/examples/ha_archive.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/examples/ha_example.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/field.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_berkeley.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_blackhole.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_heap.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_innodb.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_isam.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_isammrg.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_myisam.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_myisammrg.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/ha_ndbcluster.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/handler.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_cmpfunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_func.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_geofunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_strfunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_subselect.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_sum.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/item_timefunc.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/opt_range.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/procedure.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/protocol.h: replace __GNUC__ with USE_PRAGMA_IMPLEMENTATION sql/set_var.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_class.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_list.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_select.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_string.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/sql_udf.h: replace __GNUC__ with USE_PRAGMA_INTERFACE sql/tztime.h: replace __GNUC__ with USE_PRAGMA_INTERFACE
-
- 28 Apr, 2005 1 commit
-
-
unknown authored
to read and write Changed Server code, added new interface to handler and changed the NDB handler, InnoDB handler and Federated handler that previously used query_id Bug#10202 fix (one-liner fix for memory leak) mysys/my_bitmap.c: Debug code sql/field.cc: Initialise fieldnr to 0 if not set anywhere else sql/field.h: Introduce a fieldnr (first field = 1 and last = table->s->fields in field object to be able to quickly set appropriate bit in read/write set sql/ha_federated.cc: Changed federated handler to use write set instead of query_id sql/ha_innodb.cc: Changed InnoDB handler to use write set instead of query_id sql/ha_ndbcluster.cc: Changed NDB handler to use write set instead of query_id sql/ha_ndbcluster.h: Changed NDB handler to use write set instead of query_id sql/handler.cc: Allocate read_set and write_set either in get_new_handler or in special routine Routines used at destruction of handler object plus routine to set all primary key fields in read_set sql/handler.h: bool to keep track if read/write set allocated or not in handler Deallocate read/write set at delete of handler object New bitmap's for read/write set sql/item.cc: Set bits in read or write set (set_query_id = 2 => write_set set_query_id = 1 => read_set sql/lock.cc: Clear bit set when starting a new statement in external lock sql/mysql_priv.h: changed set_query_id from bool to ulong sql/opt_range.cc: Set primary key read set in all places where HA_EXTRA_RETRIEVE_PRIMARY_KEY is used sql/sql_acl.cc: set all bits in read set all places where HA_EXTRA_RETRIEVE_ALL_COLS are used sql/sql_base.cc: Clear all bits before start new statement when table locked already Set bit in read/write set dependent on set_query_id and fieldnr bool -> ulong for set_query_id set all bits in read set for SELECT * queries where table is not view sql/sql_class.h: Added comments + changed type of set_query_id sql/sql_insert.cc: Use 2 when setup_fields called for fields to updated in UPDATE and INSERT statements set primary key fields when EXTRA param used sql/sql_load.cc: Set all bits in write set if no fields specified in LOAD DATA FROM INFILE Otherwise use 2 to set specific fields to be updated by LOAD DATA... sql/sql_select.cc: Set primary key read set when EXTRA param specified Set fieldnr for temporary tables Set number of fields before calling get_new_handler and only set all bits if there at least one field in table sql/sql_table.cc: Set all bits in read set for old table and all bits in write set for new table for ALTER TABLE copy method Set all bits in read set when EXTRA param used sql/sql_udf.cc: Set all bits in read set when EXTRA param used sql/sql_update.cc: Set fields to UPDATE to use 2 for set_query_id Set all bits in read set when EXTRA param used sql/table.cc: Set fieldnr in openfrm Reallocate read/write set in openfrm since table->s->fields==0 at call to get_new_handler sql/unireg.cc: Fix Bug #10202
-
- 27 Apr, 2005 1 commit
-
-
unknown authored
-
- 22 Apr, 2005 1 commit
-
-
unknown authored
-
- 22 Mar, 2005 1 commit
-
-
unknown authored
Extra fix for perceived problem with fix for Bug #8753 Invalid schema object version after dropping index
-
- 15 Mar, 2005 1 commit
-
-
unknown authored
-This is mostly fixes for correct behaviour when using query cache + transactions + the thread that fetches commit count from NDB at regular intervals. The major fix is to add a list in thd_ndb, that keeps a list of NDB_SHARE's that were modified by transaction and then "clearing" them in ndbcluster_commit. mysql-test/r/ndb_cache2.result: Updated test cases for the ndb_util thread, more simultaneous tables and more tesst mysql-test/t/ndb_cache2.test: Updated test cases for the ndb_util thread, more simultaneous tables and more advanced tesst sql/ha_ndbcluster.cc: Add table changed during transaction to list of changed tables in Thd_ndb, this list is then used in ndbcluster_commit to invalidate the cached commit_count in share Fix so that ndb_util_thread uses milliseconds "sleeps" Changed so that ndb_commit_count uses the commit_count from share if available sql/ha_ndbcluster.h: Add commit_count_lock to NBD_SHARE, use for detecting simultaneous attempts to update commit_count Add list of tables changed by transaction to Thd_ndb Change check_ndb_connection to take thd as argument, use current_thd as default Added m_rows_changed variable to keep track of if this handler has modified any records within the transaction sql/set_var.cc: Change format of code Sort sys__ variables in aplha order
-