Commit graph

15100 commits

Author SHA1 Message Date
unknown
697cb7b106 BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
BUG#4335 - one name can be handler open'ed many times.
Reworked the HANDLER functions and interface.
Using a HASH to store information on open tables that
survives FLUSH TABLE.
HANDLER tables alias names must now be unique, though it
is allowed in 4.0 to qualify them with the database name
of the base table.


mysql-test/r/flush_table.result:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Moved pure handler test results to handler.result.
  Added the new test results.
mysql-test/r/handler.result:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Moved pure handler test results from flush_table.result to here.
mysql-test/t/flush_table.test:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Moved pure handler tests to handler.test.
  Added new tests.
mysql-test/t/handler.test:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Moved pure handler tests from flush_table.test to here.
sql/mysql_priv.h:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Reworked the handler interface.
sql/sql_base.cc:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Replaced mysql_ha_close_list() by the better named
  function mysql_ha_flush() with readable options.
sql/sql_class.cc:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Added initialization for the handler tables hash.
  Changed the handler tables clean-up code.
  Unreleted to bug: Changed the order of THD initialization
  to avoid warning messages on Linux with gcc.
sql/sql_class.h:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Added the handler tables HASH to THD.
sql/sql_handler.cc:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  Completely reworked the handler functions.
  Added an introducing comment, describing the new functionality.
sql/sql_table.cc:
  BUG#4286 - HANDLER tables are closed by FLUSH TABLE(S).
  BUG#4335 - one name can be handler open'ed many times.
  replaced mysql_ha_close() by the better named
  function mysql_ha_flush() with readable options.
2004-09-24 18:39:25 +02:00
unknown
c0bb6a3882 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.5532
2004-09-24 19:52:13 +05:00
unknown
4688e282b3 Merging 2004-09-24 19:45:27 +05:00
unknown
5ef32b5826 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb-merge
2004-09-24 13:46:46 +00:00
unknown
7e1f439181 Merging 2004-09-24 18:35:39 +05:00
unknown
f90828cb41 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb-merge
2004-09-24 13:13:19 +00:00
unknown
99a020db02 Extra jam broken if 2004-09-24 13:40:38 +02:00
unknown
6876d28c42 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb-merge


BitKeeper/etc/logging_ok:
  auto-union
configure.in:
  Auto merged
2004-09-24 11:07:55 +00:00
unknown
2917d9fdbb Dbdict
- set table state in releaseTableObject
- make handleTabInfoInit release object if parsing fails
- make sure table is not accessed is parsing fails
2004-09-24 12:38:38 +02:00
unknown
c868213373 Fix for BUG#3248 "Doc says MyISAM warns if disk full but it does not":
we force the message to the error log, and we make it more informative;
we treat EDQUOT like ENOSPC.


mysys/errors.c:
  more informative message
mysys/my_fstream.c:
  Treat EDQUOT like ENOSPC.
mysys/my_pread.c:
  Treat EDQUOT like ENOSPC.
mysys/my_write.c:
  Treat EDQUOT like ENOSPC.
mysys/mysys_priv.h:
  Define EDQUOT when it does not exist. Finally decided to put it here after discussion with Monty:
  as this constant is used only in 3 files only in mysys/, I don't make it visible everywhere
  (there currently is no file of choice for such defines; my_base.h does not contain any).
  Using a value which never happens avoids collisions.
sql/mysqld.cc:
  If ME_NOREFRESH, we write message to error log, even if it has been saved for client (because if operation
  is hanging, the message does not get to client now; example is MyISAM waiting for free disk space).
2004-09-24 11:54:37 +02:00
unknown
bee02a1f04 Fix alignment. 2004-09-24 13:50:53 +04:00
unknown
a366d6eefc bug, releaseTableObject called twice
bug, whole bucket removed if delete first element in bucket


ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  bug, releaseTableObject called twice
ndb/src/ndbapi/NdbLinHash.hpp:
  bug, whole bucket removed if delete first element in bucket
2004-09-24 08:47:46 +00:00
unknown
c9a03e1781 logging_ok:
Logging to logging@openlogging.org accepted
sql_show.cc, type_enum.test, type_enum.result:
  Bug #5628 German characters in field-defs will be '?' with some table definitions


mysql-test/r/type_enum.result:
  Bug #5628 German characters in field-defs will be '?' with some table definitions
mysql-test/t/type_enum.test:
  Bug #5628 German characters in field-defs will be '?' with some table definitions
sql/sql_show.cc:
  Bug #5628 German characters in field-defs will be '?' with some table definitions
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-09-24 13:14:44 +05:00
unknown
ecd3172b00 Bug #5539 SHOW DATABASES LIKE and symlinks
sql_show.cc:
  Added wild card check to symdir block in mysql_find_files


sql/sql_show.cc:
  Added wild card check to symdir block in mysql_find_files
2004-09-24 09:00:14 +02:00
unknown
f2821fa13c fix client_test to be a bit faster under valgrind. 2004-09-23 20:38:18 +04:00
unknown
9860a95a3f Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-09-23 17:56:21 +02:00
unknown
b2307545cb os0file.c:
Added #ifdef around is_set in os_aio_print


innobase/os/os0file.c:
  Added #ifdef around is_set in os_aio_print
2004-09-23 17:53:46 +02:00
unknown
edcccfbc4b A fix and test case for bug#5688 "Upgraded 4.1.5 Server seg faults"
mysql-test/r/ps.result:
  Test results fixed: the test case for bug#5688 "Upgraded 4.1.5 Server 
  seg faults"
mysql-test/t/ps.test:
  Test case for bug#5688 "Upgraded 4.1.5 Server seg faults"
sql/item_cmpfunc.cc:
  A fix for bug#5688 "Upgraded 4.1.5 Server seg faults":
  fix just another place where we use wrong memory root for an Item
  in statement prepare.
  In addition, make the check for charsets in Item_bool_func2
  more generic (fixes the test case when we use LIKE to compare BLOBs
  with TEXT data).
2004-09-23 18:01:55 +04:00
unknown
098fc6ac58 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.0
into ltantony.rdg.cyberkinetica.homeunix.net:/usr/home/antony/work/bug5655
2004-09-23 14:36:53 +01:00
unknown
0e6975f33b Fix for BUG#5711 "replication SQL thread does not abort on SQL syntax error":
in net_printf(), we fill net->last_* variables for the slave SQL thread to know the error.


sql/net_pkg.cc:
  in net_printf(), store the error in net->last_*, so that slave SQL thread can be aware there was an error reported by net_printf()
  (which is what yacc uses for "you have an error in your syntax").
2004-09-23 14:43:31 +02:00
unknown
3f76fd69a4 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-memroot
2004-09-23 16:41:35 +04:00
unknown
fd5e254d7c Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.5371
2004-09-23 17:01:30 +05:00
unknown
b76d3b4f70 Fix for BUG#5705: "SET CHARATER_SET_SERVERetc will be lost if STOP SLAVE before following query":
we do not increment rli->group_master_log_pos if we are just after a SET ONE_SHOT (it's not a standalone event)


mysql-test/r/rpl_charset.result:
  testing interruption of slave SQL thread between SET CHARACTER_SET_SERVER... and the companion INSERT.
mysql-test/t/rpl_charset.test:
  testing interruption of slave SQL thread between SET CHARACTER_SET_SERVER... and the companion INSERT.
sql/log_event.cc:
  we do not increment rli->group_master_log_pos if we are just after a SET
  ONE_SHOT, because SET ONE_SHOT should not be separated from its following
  updating query.
2004-09-23 12:16:56 +02:00
unknown
abe4cd0e92 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.5371
2004-09-23 15:12:32 +05:00
unknown
412a052a7d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-memroot


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2004-09-23 13:52:00 +04:00
unknown
7ba5d931eb Implementation of Monty's idea about clear_alloc_root() optimization and cleanup of work
with memory roots in THD/Statement/Item_arena.
Added assertions preventing memory allocation on bzero'ed MEM_ROOT since it is worked by 
pure luck and was very ineffective.


include/my_sys.h:
  Reimplementation of Monty's optimization of clear_alloc_root().
  Now clear_alloc_root() can be used only for detaching memory associated with MEM_ROOT
  (e.g. to avoid its freeing). It can not be used for MEM_ROOT initialization any longer 
  (it was bad idea anyway since memory allocation on such MEM_ROOT was very ineffective 
  and worked by pure luck).
  Introduced ALLOC_ROOT_MIN_BLOCK_SIZE constant.
mysys/my_alloc.c:
  Added description of init_alloc_root().
  Added assertions to alloc_root() and reset_root_defaults() so now they can only be used
  on previosly initialized MEM_ROOT. (It worked for bzeroed MEM_ROOT before but 
  by pure luck and very inefficiently). Calling free_root() on bzero'ed MEM_ROOT
  is still ok (we can't remove this easily because of static MEM_ROOTs).
  Also now using ALLOC_ROOT_MIN_BLOCK_SIZE constant inside these functions.
sql/opt_range.cc:
  Fixed get_quick_select_for_ref() function to not use bzero'ed MEM_ROOT for allocation.
  Also QUICK_RANGEs created in this function should be created in memory root of QUICK_SELECT.
sql/sql_class.cc:
  Implementation of Monty's idea about clear_alloc_root() optimization and cleanup of work 
  with memory roots in THD/Statement/Item_arena.
  Now we are always initing THD::transaction.mem_root and THD::mem_root in THD constructor 
  (without memory allocation and with minimal block size) and then later change their
  parameters in THD::init_for_queries() (this is partially because we can't allocate anything
  on bzero'ed memory roots anymore).
  Item_arena() constructor is now trivial and is used only then Item_arena is created as backup
  storage for other Item_arena (we use Item_arena(bool) now if it is part of Statement).
  Both trivial Item_arena constructor and destructor are now inline.
  Removed unneeded clear_alloc_root from Item_arena::restore_backup_item_arena().
sql/sql_class.h:
  Both trivial Item_arena constructor and destructor are now inline.
  Commented various Item_arena constructors.
2004-09-23 13:48:17 +04:00
unknown
8090516c52 bug#5702
Check index version already in master
to prevent "non-atmoic" failing drop index


ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Check index version already in master
  to prevent "non-atmoic" failing drop index
2004-09-23 09:25:05 +02:00
unknown
3ddb80a7fa Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-09-23 10:11:28 +03:00
unknown
99e809cbd9 debug printout 2004-09-22 18:27:03 +00:00
unknown
126ea49d08 Additional fix for bug #5136 (Geometry object is corrupted when queried)
CREATE TABLE t1 SELECT POINT(1,2); fixed


mysql-test/r/gis.result:
  Appropriate test result
mysql-test/t/gis.test:
  test case
sql/item_geofunc.cc:
  Item_geometry_func::fix_lengths_and_dec implementation
  several fix_length_and_dec's not needed now
sql/item_geofunc.h:
  Item_geometry_func class presented
2004-09-22 22:36:53 +05:00
unknown
5b9edfa1ee Merge mskold@build.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
2004-09-22 17:30:51 +02:00
unknown
4fb031af11 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into mysql.com:/home/jonas/src/mysql-4.1-ndb
2004-09-22 17:29:50 +02:00
unknown
c2a77aa181 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/mnt/tmp/mysql-4.0-bug-myisampack
2004-09-22 16:42:06 +04:00
unknown
4063fd2c72 Fix for BUG#4785:
* myisampack leaves key_file_length value from original table
 * myisamchk uses this value when calculating key file pointer length
2004-09-22 16:29:15 +04:00
unknown
ccf52b4fd5 A fix and test case for Bug#5315 "mysql_change_user() doesn't free
prepared statements."


include/hash.h:
  New declaration for hash_reset() function. The old version was not used.
libmysql/client_settings.h:
  Declaration for mysql_detach_stmt_list().
libmysql/libmysql.c:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  add call to mysql_detach_stmt_list(prepared statements) to
  mysql_change_user(): all statements are freed by server, so client
  counterparts need to be marked as not usable.
mysys/hash.c:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  implementation of hash_reset(), which frees all hash elements
  and prepares the hash for reuse.
sql-common/client.c:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  implementation of mysql_detach_stmt_list(): zero connection pointer
  in given statement list, thus marking given statements as not usable.
sql/sql_class.cc:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  reset prepared statements map in THD::change_user().
sql/sql_class.h:
  Fix for bug#5315 "mysql_change_user() doesn't free prepared statements":
  implementation of Statement_map::reset().
  A little cleanup of ~Statement_map(): first empty names_hash, as st_hash
  has a free function, which will delete statements.
tests/client_test.c:
  A test case for bug #5315 "mysql_change_user() doesn't free prepared
  statements".
2004-09-22 15:50:07 +04:00
unknown
9427b26e82 Bug#5655 - mysqldump fields-escaped-by behaviour
Fix initialization


client/mysqldump.c:
  Bug#5655 - mysqldump fields-escaped-by behaviour
    Fix for parameter
2004-09-22 11:28:37 +01:00
unknown
22db858b50 Fix so that testBackup wait until start has finished before
starting to restore
2004-09-22 09:27:34 +02:00
unknown
71ead01316 testScan - ReadWithLocksAndInserts
testBasic LocksAndInserts


ndb/test/src/HugoTransactions.cpp:
  Fix HugoTransaction::load so that transaction is closed and started if
  error is found
2004-09-22 09:13:13 +02:00
unknown
aa55c00558 misspelled testcase name 2004-09-22 05:48:52 +02:00
unknown
9d35b07f2c Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb-merge
2004-09-21 17:31:34 +00:00
unknown
0094f7e4ec config parameter changed 2004-09-21 17:31:01 +00:00
unknown
d594d40d11 Merge lgrimmer@build.mysql.com:/home/bk/mysql-4.1
into mysql.com:/space/my/mysql-4.1
2004-09-21 17:51:21 +02:00
unknown
63a9448843 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into mysql.com:/home/jonas/src/mysql-4.1-ndb
2004-09-21 15:33:01 +02:00
unknown
b61bfd8c97 Make operation list on fragment fifo so that uncommitted operations
are undo-logged in correct order

Add bunch of testcases to autotest


ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Send fragrecord ptr to initOpConnection so that is does not
  have to look it up every time (if needed)
  
  Make operation list on fragment fifo so that uncommitted operations
    are undo-logged in correct order
ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
  Send fragptr to initOpConnection
ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp:
  dllist -> dlfifolist
ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
  dllist -> dlfifolist
ndb/src/kernel/blocks/dbtup/DbtupGen.cpp:
  Make operation list on fragment fifo so that uncommitted operations
    are undo-logged in correct order
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Fix uninitialized variable c_start.m_startTime
    which made startPartial and startPartitioned fail
ndb/test/ndbapi/testSystemRestart.cpp:
  Added testSystemRestart -n SR9 which
    demonstrates that two prepared operation on same
    records _used to_ be undo-logged in wrong order makeing
    system restart fail
ndb/test/run-test/daily-devel-tests.txt:
  Add
  * testSystemRestart -n SR6
    Restart while some nodes have fs and other not
  * testSystemRestart -n SR7
    Restart in partition win
  * testSystemRestart -n SR8
    Restart in partition win, others starting during restart
  * testSystemRestart -n SR9
    Multiple ops on same record prepared before
2004-09-21 14:58:23 +02:00
unknown
9088cbeaca Merge
BitKeeper/etc/logging_ok:
  auto-union
sql/ha_ndbcluster.cc:
  SCCS merged
2004-09-21 12:56:05 +00:00
unknown
c7deb0d675 bug#5591 2004-09-21 12:52:56 +00:00
unknown
0609dba34a Merge
sql/ha_ndbcluster.cc:
  SCCS merged
2004-09-21 14:19:42 +02:00
unknown
65c617afc3 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb-merge


sql/ha_ndbcluster.cc:
  Auto merged
2004-09-21 12:19:41 +00:00
unknown
548ad8134c Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into neptunus.(none):/home/magnus/mysql/wl/wl1424_discover_2


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-09-21 12:23:27 +02:00
unknown
dd07a90d61 Changed WL#1424 to use the function ha_find_files. This is a simpler implementation and all handler specific code is hidden in the appropriate handler.
mysql-test/r/ndb_autodiscover.result:
  Update test result, number of rows is 1
mysql-test/t/ndb_autodiscover.test:
  Dont run the test where table is dropped in NDb with ndb_drop_table
sql/ha_ndbcluster.cc:
  Implement function ndbcluster_find_files which will discover new tables and delete old tables
sql/ha_ndbcluster.h:
  Implement function ndbcluster_find_files 
  Remove function ndbcluster_list_tables and ndbcluster_can_discover
sql/handler.cc:
  Add ha_find_files called from mysql_find_files
  Remove ha_can_discover and ha_list_tables
sql/handler.h:
  Add ha_find_files called from mysql_find_files
  Remove ha_can_discover and ha_list_tables
sql/sql_show.cc:
  Revert to original version of sql_show.cc
  Only changes to this version is that ha_find_files is called from mysql_find_files in order to give the handlers a possibility to find new files in engine
2004-09-21 12:13:58 +02:00