Commit graph

16790 commits

Author SHA1 Message Date
unknown
aef2cdd2ed Merge perch.ndb.mysql.com:/home/jonas/src/51-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new


sql/ha_ndbcluster.cc:
  Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbScanOperation.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/suma/Suma.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Auto merged
storage/ndb/src/ndbapi/ndberror.c:
  Auto merged
storage/ndb/tools/restore/consumer_restore.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihInit.cpp:
  SCCS merged
2006-06-28 08:47:43 +02:00
unknown
8169f210b0 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/home/alexi/bugs/mysql-5.0-19208
2006-06-28 10:24:10 +04:00
unknown
39defccfd4 Fixing BUG#17719 "Delete of binlog files fails on Windows"
and BUG#19208 "Test 'rpl000017' hangs on Windows".
 Both bugs are caused by attempting to delete an opened
 file and to create immediatedly a new one with the same
 name. On Windows it can be supported only on NT-platforms
 (by using FILE_SHARE_DELETE mode and with renaming the
 file before deletion). Because deleting not-closed files
 is not supported on all platforms (e.g. Win 98|ME) this
 is to be considered harmful and should be eliminated by
 a "code redesign".


VC++Files/mysys/mysys.vcproj:
  To be sure that __NT__ is defined for Win configurations.
   Temporary, to be changed in more appropriate way.
include/my_sys.h:
  Adding my_delete_allow_opened to be invoked to delete
   a (possibly) not closed file on Windows NT-platforms.
mysys/my_delete.c:
  Adding nt_share_delete() function implementing
   a (possibly) not closed file deletion on Windows NT.
sql/log.cc:
  MYSQL_LOG::reset_logs(): Deleting usually not
   closed binlog files.
2006-06-28 10:21:01 +04:00
unknown
0ec6bb3f00 Bug #20705 table truncation from one mysqld causes ERROR 1412 on other mysqld servers
- make sure to invalidate even if table is not binlogged
2006-06-28 02:35:13 +02:00
unknown
85a6c26cc0 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb


storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
2006-06-27 22:27:25 +02:00
unknown
62722a4dd4 partition functions to pass create_info, not only max_rows 2006-06-27 22:19:27 +02:00
unknown
f4a07612ef BUG#1662 - ALTER TABLE LIKE ignores DATA/INDEX DIRECTPORY
Produce a warning if DATA/INDEX DIRECTORY is specified in
ALTER TABLE statement.

Ignoring of these options is documented in the symbolic links
section of the manual.


mysql-test/r/symlink.result:
  Modified test result according to fix for BUG#1662.
sql/sql_parse.cc:
  Produce a warning if DATA/INDEX DIRECTORY is specified in
  ALTER TABLE statement.
2006-06-27 22:22:43 +05:00
unknown
2eb16be095 Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean
into  mysql.com:/home/kgeorge/mysql/4.1/B16458
2006-06-27 18:47:22 +03:00
unknown
82d127b55b Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things become invalid (Bug #12356)
mysql-test/r/func_sapdb.result:
  test cases for date range edge cases added
mysql-test/r/func_time.result:
  test cases for date range edge cases added
mysql-test/t/func_sapdb.test:
  test cases for date range edge cases added
mysql-test/t/func_time.test:
  test cases for date range edge cases added
2006-06-27 19:33:59 +04:00
unknown
da81451d51 BUG#20725 MySQLD cluster use "fast count" is broken
fix based on review by tomas.

conform to bug we haven't fixed yet.


sql/ha_ndbcluster.cc:
  return -1 on error in ::records().
  
  produces a compiler warning, a bug and is evil.
  
  however, until we go and really fix the bug properly, it's best to conform
2006-06-28 01:28:07 +10:00
unknown
9512629598 BUG#20725 MySQLD cluster use "fast count" is broken
Post recent handler changes, fast count(*) for cluster was broken.

Seeing as we maintain an exact count for ndb, we can easily use this for an optimisation.

With this patch, and use_exact_count DISABLED, we will use the fast way
of getting count(*) but not use the exact count for the optimiser.

With this patch and use_exact_count ENABLED, we will use the fast way of
getting count(*) and use the exact count for the optimiser.


sql/ha_ndbcluster.cc:
  Implement handler::records() and set appropriate handler flag.
sql/ha_ndbcluster.h:
  we implment handler::records() for fast count(*)
2006-06-28 01:07:44 +10:00
unknown
6a4ec2e99d Merge mysql.com:/home/kgeorge/mysql/4.1/B16458
into  mysql.com:/home/kgeorge/mysql/5.0/B16458


sql/sql_select.cc:
  Auto merged
mysql-test/r/distinct.result:
  merge 4.1->5.0
mysql-test/t/distinct.test:
  merge 4.1->5.0
2006-06-27 17:59:49 +03:00
unknown
4b36c1d8ff Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
'SELECT DISTINCT a,b FROM t1' should not use temp table if there is unique 
index (or primary key) on a.
There are a number of other similar cases that can be calculated without the
use of a temp table : multi-part unique indexes, primary keys or using GROUP BY 
instead of DISTINCT.
When a GROUP BY/DISTINCT clause contains all key parts of a unique
index, then it is guaranteed that the fields of the clause will be
unique, therefore we can optimize away GROUP BY/DISTINCT altogether.
This optimization has two effects:
* there is no need to create a temporary table to compute the
   GROUP/DISTINCT operation (or the temporary table will be smaller if only GROUP 
   is removed and DISTINCT stays or if DISTINCT is removed and GROUP BY stays)
* this causes the statement in effect to become updatable in Connector/Java
because the result set columns will be direct reference to the primary key of 
the table (instead to the temporary table that it currently references). 

Implemented a check that will optimize away GROUP BY/DISTINCT for queries like 
the above.
Currently it will work only for single non-constant table in the FROM clause.


mysql-test/r/distinct.result:
  Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
    - test case
mysql-test/t/distinct.test:
  Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
    - test case
sql/sql_select.cc:
  Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
    - disable GROUP BY if contains the fields of a unique index.
2006-06-27 17:40:19 +03:00
unknown
bddaa6f2f0 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1
into mysql.com:/home/gluh/MySQL/Merge/5.1-kt


sql/sql_db.cc:
  Auto merged
2006-06-27 18:24:14 +05:00
unknown
d4cb502ce7 changed signature of get_default_no_partitions 2006-06-27 14:31:34 +02:00
unknown
7ad755e7c7 Merge mysql.com:/home/hf/work/mysql-5.0.19672
into mysql.com:/home/hf/work/mysql-5.1.clean


mysys/my_init.c:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
2006-06-27 15:22:43 +05:00
unknown
d2da3c9685 Bug #19852 Restoring backup made from cluster with full data memory fails
- correction of previous patch
2006-06-27 11:26:00 +02:00
unknown
6848be9cc2 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new-ndb


mysql-test/mysql-test-run.sh:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupContinueB.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupImpl.hpp:
  Auto merged
storage/ndb/include/kernel/signaldata/BackupSignalData.hpp:
  Auto merged
storage/ndb/include/ndbapi/NdbDictionary.hpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/BackupImpl.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
  Auto merged
storage/ndb/src/common/debugger/signaldata/LqhFrag.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp:
  Auto merged
storage/ndb/src/kernel/blocks/backup/BackupInit.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
sql/ha_ndbcluster.cc:
  manual merge
storage/ndb/include/kernel/GlobalSignalNumbers.h:
  manual merge
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  manual merge
storage/ndb/include/kernel/signaldata/LqhFrag.hpp:
  manual merge
storage/ndb/include/kernel/signaldata/TupFrag.hpp:
  manual merge
storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
  manual merge
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
  manual merge
storage/ndb/src/kernel/blocks/backup/Backup.hpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  manual merge
storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  manual merge
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  manual merge
storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  manual merge
storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  manual merge
storage/ndb/src/ndbapi/NdbDictionary.cpp:
  manual merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  manual merge
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  manual merge
storage/ndb/tools/restore/Restore.cpp:
  manual merge
storage/ndb/tools/restore/Restore.hpp:
  manual merge
storage/ndb/tools/restore/consumer_restore.cpp:
  manual merge
2006-06-27 11:22:42 +02:00
unknown
0335013f17 Bug #19852 Restoring backup made from cluster with full data memory fails
- make sure to allocate just enough pages in the fragments by using the actual
  row count from the backup, to avoid over allocation of pages to fragments, and
  thus avoid the bug


ndb/include/kernel/GlobalSignalNumbers.h:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - distribute fragment complete to all participants to update row count
ndb/include/kernel/signaldata/BackupContinueB.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - time slica writing of fragment info to ctl file
ndb/include/kernel/signaldata/BackupImpl.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - 32 -> 64 bit on bytes and records
  - new signal fragment complete to all participants
ndb/include/kernel/signaldata/BackupSignalData.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - 32 -> 64 bit on bytes and records
ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - add min and max rows to dict tab info
ndb/include/kernel/signaldata/LqhFrag.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to add frag req
ndb/include/kernel/signaldata/TupFrag.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to add frag req
ndb/include/ndbapi/NdbDictionary.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added get/set of min max rows
ndb/src/common/debugger/signaldata/BackupImpl.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - 32 -> 64 bit on bytes and records
ndb/src/common/debugger/signaldata/BackupSignalData.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - 32 -> 64 bit on bytes and records
ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to dict tab info
ndb/src/common/debugger/signaldata/LqhFrag.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to frag req
ndb/src/kernel/blocks/backup/Backup.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - new section in backup with per fragment info in ctl file
  - 32 -> 64 bit on bytes and records
ndb/src/kernel/blocks/backup/Backup.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - new section in backup with per fragment info in ctl file
  - 32 -> 64 bit on bytes and records
ndb/src/kernel/blocks/backup/BackupFormat.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - new section in backup with per fragment info in ctl file
  - 32 -> 64 bit on bytes and records
ndb/src/kernel/blocks/backup/BackupInit.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - new signal fragment complete to all participants
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added max and min rows to dict table object
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added max and min rows to dict table object
ndb/src/kernel/blocks/dblqh/Dblqh.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to frag req
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to frag req
ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to frag req
ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - added min and max rows to frag req
  - move memory allocation to fragment to after adding of attributes to get correct headsize
  - allocate pages to fragments according to min rows setting
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - grow page allocation starting from 2 irrespective of first page allocation
ndb/src/mgmsrv/MgmtSrvr.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - 32 -> 64 bits on bytes and records
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - 32 -> 64 bits on bytes and records
ndb/src/ndbapi/NdbDictionary.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - min and max rows in dict
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - min and max rows in dict
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - min and max rows in dict
ndb/tools/restore/Restore.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - add retrieval of fragment info
ndb/tools/restore/Restore.hpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - add retrieval of fragment info
ndb/tools/restore/consumer_restore.cpp:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - set min in restore to the actual row count (this is the actual bug fix)
sql/ha_ndbcluster.cc:
  Bug #19852  	Restoring backup made from cluster with full data memory fails
  - set min and max rows according to sql definition
2006-06-27 10:02:58 +02:00
unknown
ab5ebc0fb7 Bug#16218 - Crash on insert delayed
Bug#17294 - INSERT DELAYED puting an \n before data
Bug#16611 - INSERT DELAYED corrupts data
Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
Combined as Bug#16218.

INSERT DELAYED crashed in 5.0 on a table with a varchar that 
could be NULL and was created pre-5.0 (Bugs 16218 and 13707).
INSERT DELAYED corrupted data in 5.0 on a table with varchar 
fields that was created pre-5.0 (Bugs 17294 and 16611).

In case of INSERT DELAYED the open table is copied from the
delayed insert thread to be able to create a record for the 
queue. When copying the fields, a method was used that did 
convert old varchar to new varchar fields and did not set up 
some pointers into the record buffer of the table.

The field conversion was guilty for the misinterpretation of 
the record contents by the delayed insert thread. The wrong
pointer setup was guilty for the crashes.

For Bug 13707 (Server crash with INSERT DELAYED on MyISAM table)
I fixed the above mentioned method to set up one of the pointers.
For Bug 16218 I set up the other pointers too.

But when looking at the corruptions I got aware that converting
the field type was totally wrong for INSERT DELAYED. The copied
table is used to create a record that is to be sent to the
delayed insert thread. Of course it can interpret the record
correctly only if all field types are the same in both table
objects.

So I revoked the fix for Bug 13707 and changed the new_field() 
method so that it can suppress conversions.

No test case as this is a migration problem. One needs to
create a table with 4.x and use it with 5.x. I added two
test scripts to the bug report.


sql/field.cc:
  Bug#16218 - Crash on insert delayed
  Bug#17294 - INSERT DELAYED puting an \n before data
  Bug#16611 - INSERT DELAYED corrupts data
  Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
  Combined as Bug#16218.
  
  Added parameter 'keep_type' to Field::new_field().
  
  Undid the change from Bug 13707 (Server crash with INSERT 
  DELAYED on MyISAM table).
  I solved all four bugs in sql/sql_insert.cc by making exact
  duplicates of the fields. The new_field() method converts
  certain field types, which is wrong for INSERT DELAYED.
sql/field.h:
  Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
  Combined as Bug#16218.
  
  Added parameter 'keep_type' to Field::new_field().
sql/sql_insert.cc:
  Bug#16218 - Crash on insert delayed
  Bug#17294 - INSERT DELAYED puting an \n before data
  Bug#16611 - INSERT DELAYED corrupts data
  Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
  Combined as Bug#16218.
  
  Added comments. Made small style fixes.
  Used the new parameter 'keep_type' of Field::new_field()
  to avoid field type conversion. The table copy must have
  exactly the same types of fields as the original table.
  Otherwise the record contents created by the foreground 
  thread could be misinterpreted by the delayed insert thread.
sql/sql_select.cc:
  Bug#16218 - Crash on insert delayed
  Bug#17294 - INSERT DELAYED puting an \n before data
  Bug#16611 - INSERT DELAYED corrupts data
  Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
  Combined as Bug#16218.
  
  Added parameter 'keep_type' to Field::new_field().
  
  Undid the change from Bug 13707 (Server crash with INSERT 
  DELAYED on MyISAM table).
  I solved all four bugs in sql/sql_insert.cc by making exact
  duplicates of the fields. The new_field() method converts
  certain field types, which is wrong for INSERT DELAYED.
sql/sql_trigger.cc:
  Bug#16218 - Crash on insert delayed
  Bug#17294 - INSERT DELAYED puting an \n before data
  Bug#16611 - INSERT DELAYED corrupts data
  Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
  Combined as Bug#16218.
  
  Added parameter 'keep_type' to Field::new_field().
  
  Undid the change from Bug 13707 (Server crash with INSERT 
  DELAYED on MyISAM table).
  I solved all four bugs in sql/sql_insert.cc by making exact
  duplicates of the fields. The new_field() method converts
  certain field types, which is wrong for INSERT DELAYED.
sql/table.cc:
  Bug#16218 - Crash on insert delayed
  Bug#17294 - INSERT DELAYED puting an \n before data
  Bug#16611 - INSERT DELAYED corrupts data
  Bug#13707 - Server crash with INSERT DELAYED on MyISAM table
  Combined as Bug#16218.
  
  Added parameter 'keep_type' to Field::new_field().
  
  Undid the change from Bug 13707 (Server crash with INSERT 
  DELAYED on MyISAM table).
  I solved all four bugs in sql/sql_insert.cc by making exact
  duplicates of the fields. The new_field() method converts
  certain field types, which is wrong for INSERT DELAYED.
2006-06-26 20:57:18 +02:00
unknown
98ba03d226 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
2006-06-26 20:14:40 +02:00
unknown
8fe3c29f84 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug16986-main


sql/sql_table.cc:
  Auto merged
2006-06-26 19:43:28 +02:00
unknown
70c7e30d16 Merge mysql.com:/home/mydev/mysql-5.0--main
into  mysql.com:/home/mydev/mysql-5.0-bug16986-main


sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-26 19:19:12 +02:00
unknown
31ffea2a08 Merge mysql.com:/home/hf/work/mysql-4.1.20318
into mysql.com:/home/hf/work/mysql-4.1.clean


sql/sql_parse.cc:
  Auto merged
2006-06-26 22:17:42 +05:00
unknown
1c2a13b894 Bug#16986 - Deadlock condition with MyISAM tables
Addendum fixes after changing the condition variable
for the global read lock.

The stress test suite revealed some deadlocks. Some were
related to the new condition variable (COND_global_read_lock)
and some were general problems with the global read lock.

It is now necessary to signal COND_global_read_lock whenever 
COND_refresh is signalled.

We need to wait for the release of a global read lock if one 
is set before every operation that requires a write lock.
But we must not wait if we have locked tables by LOCK TABLES.
After setting a global read lock a thread waits until all
write locks are released.


mysql-test/r/lock_multi.result:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Added test results.
mysql-test/t/lock_multi.test:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Added tests for possible deadlocks that did not occur
  with the stress test suite.
mysys/thr_lock.c:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Added a protection against an infinite loop that occurs
  with the test case for Bug #20662.
sql/lock.cc:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Signal COND_global_read_lock whenever COND_refresh
  is signalled by using the new function broadcast_refresh().
  Added the definition of a new function that signals 
  COND_global_read_lock whenever COND_refresh is signalled.
sql/mysql_priv.h:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Added a declaration for a new function that signals 
  COND_global_read_lock whenever COND_refresh is signalled.
sql/sql_base.cc:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Signal COND_global_read_lock whenever COND_refresh
  is signalled by using the new function broadcast_refresh().
sql/sql_handler.cc:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Signal COND_global_read_lock whenever COND_refresh
  is signalled by using the new function broadcast_refresh().
sql/sql_insert.cc:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Removed global read lock handling from inside of 
  INSERT DELAYED. It is handled on a higher level now.
sql/sql_parse.cc:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Wait for the release of a global read lock if one is set
  before every operation that requires a write lock.
  But don't wait if locked tables exist already.
sql/sql_table.cc:
  Bug#16986 - Deadlock condition with MyISAM tables
  Addendum fixes after changing the condition variable
  for the global read lock.
  Removed global read lock handling from inside of 
  CREATE TABLE. It is handled on a higher level now.
  Signal COND_global_read_lock whenever COND_refresh
  is signalled by using the new function broadcast_refresh().
2006-06-26 19:14:35 +02:00
unknown
fbed697d86 Merge mysql.com:/home/hf/work/mysql-4.1.10166
into mysql.com:/home/hf/work/mysql-4.1.clean
2006-06-26 21:07:13 +05:00
unknown
17f724a18c Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
2006-06-26 16:53:53 +02:00
unknown
313b46a0d2 Merge mysql.com:/opt/local/work/tmp_merge
into  mysql.com:/opt/local/work/mysql-5.1-runtime


mysql-test/r/sp-prelocking.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/ndbapi/ndberror.c:
  Auto merged
strings/ctype-mb.c:
  Auto merged
mysql-test/t/sp-prelocking.test:
  Manual merge.
2006-06-26 18:49:20 +04:00
unknown
fee803af17 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/opt/local/work/mysql-5.1-runtime


mysql-test/r/information_schema.result:
  Auto merged
sql/CMakeLists.txt:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/events.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/t/events_microsec.test:
  SCCS merged
2006-06-26 18:45:46 +04:00
unknown
c68cc392f5 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-06-26 16:45:32 +02:00
unknown
2ad33373d6 BUG#11459 ndb status variables not updated
change names of some undocumented ndb status variables to better reflect what
their values mean


sql/ha_ndbcluster.cc:
  rename some status variables to better reflect what they show.
2006-06-26 23:31:10 +10:00
unknown
90913a0364 ndb - bug#20053
make sure we can only drop files from correct file group


mysql-test/r/ndb_dd_ddl.result:
  add testcase
mysql-test/t/ndb_dd_ddl.test:
  add testcase
sql/ha_ndbcluster.cc:
  Make sure correct tablespace for dropping datafile
storage/ndb/include/ndbapi/NdbDictionary.hpp:
  Cleanup {data/undo}file get{tablespace/logfilegroup}
storage/ndb/src/ndbapi/NdbDictionary.cpp:
  Cleanup {data/undo}file get{tablespace/logfilegroup}
storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
  Cleanup {data/undo}file get{tablespace/logfilegroup}
storage/ndb/tools/restore/consumer_restore.cpp:
  Cleanup {data/undo}file get{tablespace/logfilegroup}
2006-06-26 15:08:09 +02:00
unknown
42169376f0 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into lmy004.:/work/mysql-5.1-runtime-bug16992


mysql-test/t/events.test:
  Auto merged
mysql-test/t/events_grant.test:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-06-26 12:22:13 +02:00
unknown
a5e194ed52 Merge mysql.com:/usr/local/mysql/mysql-5.1-bug20549
into  mysql.com:/usr/local/mysql/tmp-5.1


sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2006-06-26 11:26:24 +02:00
unknown
9fe96d8f04 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


sql/ha_ndbcluster.cc:
  Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
  Auto merged
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2006-06-26 10:02:03 +02:00
unknown
c945766ff3 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into lmy004.:/work/mysql-5.1-runtime-bug18897


mysql-test/t/events_bugs.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-26 08:55:49 +02:00
unknown
eef15bdf46 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/data0/bk/mysql-5.0-maint


sql/sp_head.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-06-26 04:48:16 +02:00
unknown
c2575322c6 Merge mysql.com:/home/emurphy/src/bk-clean/tmp_merge
into  mysql.com:/home/emurphy/src/bk-clean/mysql-5.1


mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/valgrind.supp:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/r/insert_select.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysys/Makefile.am:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
storage/ndb/src/ndbapi/ndberror.c:
  Auto merged
include/Makefile.am:
  manual merge
mysql-test/r/func_time.result:
  manual merge
mysql-test/r/select.result:
  manual merge
2006-06-25 09:59:34 -04:00
unknown
31d5fbcce5 Merge bk-internal:/home/bk/mysql-5.1
into  mysql.com:/usr/local/mysql/tmp-5.1
2006-06-24 13:12:45 +02:00
unknown
52914641a4 Build fixes for Windows, Solaris, HPUX, AIX.
include/mysql/plugin.h:
  Fix compilation on non-GCC compilers.
sql/CMakeLists.txt:
  Add missing file.
2006-06-24 07:45:23 +02:00
unknown
dbc0a2e1c1 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt
2006-06-24 06:01:57 +02:00
unknown
0781fc0c3a Merge bk-internal:/home/bk/mysql-5.1
into  mysql.com:/data0/knielsen/tmp-5.1
2006-06-24 00:12:34 +02:00
unknown
b02748fd5c Merge mysql.com:/home/emurphy/src/bk-clean/tmp_merge
into  mysql.com:/home/emurphy/src/bk-clean/mysql-5.1


mysql-test/r/func_time.result:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/lock_multi.result:
  manual merge
mysql-test/t/lock_multi.test:
  manual merge
sql/ha_innodb.cc:
  manual merge
2006-06-23 17:27:54 -04:00
unknown
a4c1111af2 Bug#20616: drop_temp_table test fails on Windows platform
sql/sql_table.cc:
  Check for FN_DEVCHAR in the table name just before file creation. This allows for temporary tables to contain FN_DEVCHAR in the name.
sql/table.cc:
  Removed the check for FN_DEVCHAR is done at this level because it prevents Windows from creating any table with FN_DEVCHAR in the name.
2006-06-23 12:15:39 -04:00
unknown
d6cf50ca8b Fix for bug #18897 "Events: unauthorized action possible with
alter event rename".

ALTER EVENT ... RENAME statement hasn't checked privileges
for the target database. It also caused server crashes when
target database was not specified explicitly and there was
no current database.

This fix adds missing privilege check and check for the case
when target database is not specified explicitly or implicitly.


mysql-test/r/events_bugs.result:
  update result
mysql-test/t/events_bugs.test:
  add test case for bug 18897 Events: unauthorized action possible with alter event
  rename:
  - test rename to db the user does not have access to
  - test rename when there is no selected db
sql/sql_parse.cc:
  Additional check for the situation when no db is selected.
  CREATE EVENT abc and ALTER EVENT db.abc RENAME TO xyz,
  and DROP EVENT abc
  won't work if there is no selected DB.
2006-06-23 17:29:01 +02:00
unknown
3924ab39f2 Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-kt


sql/field.cc:
  Auto merged
2006-06-23 15:29:33 +02:00
unknown
83f16e31da Merge mysql.com:/usr/local/mysql/mysql-5.1-vg-apr2
into  mysql.com:/usr/local/mysql/tmp-5.1


server-tools/instance-manager/instance_options.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/rpl_injector.cc:
  Auto merged
sql/rpl_injector.h:
  Auto merged
2006-06-23 15:05:15 +02:00
unknown
cbc5f34c54 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


sql/sql_parse.cc:
  Auto merged
2006-06-23 16:09:33 +04:00
unknown
27cc02049e Merge moonbone.local:/work/tmp_merge-4.1-opt-mysql
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


mysql-test/r/key.result:
  Auto merged
mysql-test/t/key.test:
  Auto merged
sql/table.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
2006-06-23 14:53:41 +04:00
unknown
89e415950c Bug#11228: DESC shows arbitrary column as "PRI"
An UNIQUE KEY consisting of NOT NULL columns
  was displayed as PRIMARY KEY in "DESC t1".
  According to the code, that was intentional
  behaviour for some reasons unknown to me.
  This code was written before bitkeeper time,
  so I cannot check who and why made this.
  After discussing on dev-public, a decision
  was made to remove this code


mysql-test/r/key.result:
  Adding test case.
mysql-test/t/key.test:
  Adding test case.
sql/table.cc:
  Removing old wrong code
2006-06-23 13:19:30 +05:00