Commit graph

31226 commits

Author SHA1 Message Date
unknown
9e6eaaf08c BUG#21675 - engine=archive 2GB file limit, when reached mysqld restarts on any query
If mysqld is linked against system installed zlib (which is likely compiled w/o
LFS) and archive table exceedes 2G, mysqld will likely be terminated with SIGXFSZ.

Prior to actual write perform a check if there is space in data file. This fixes
abnormal process termination with SIGXFSZ.

No test case for this bugfix.


sql/ha_archive.cc:
  Prior to actual write perform a check if there is space in data file. This fixes
  abnormal process termination with SIGXFSZ.
sql/ha_archive.h:
  Added approximate archive data file size to archive share.
2006-09-28 20:30:15 +05:00
unknown
fa1436bf1f BUG#20256 - LOCK WRITE - MyISAM
Only MyISAM tables locked with LOCK TABLES ... WRITE were affected.

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

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

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


mysql-test/r/index_merge.result:
  A test case for bug#20256.
mysql-test/t/index_merge.test:
  A test case for bug#20256.
sql/ha_myisam.cc:
  clone method added to handler class.
sql/ha_myisam.h:
  clone method added to handler class.
sql/handler.cc:
  clone method added to handler class.
sql/handler.h:
  clone method added to handler class.
sql/opt_range.cc:
  Use handler clone method.
2006-09-12 18:25:35 +05:00
unknown
86ce30966e Merge chilla.local:/home/mydev/mysql-4.1-bug14400
into  chilla.local:/home/mydev/mysql-5.0-bug14400


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.1
2006-09-07 18:46:37 +02:00
unknown
203d099962 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
2006-09-07 16:46:20 +02:00
unknown
71314617ae Bug#14400 - Query joins wrong rows from table which is subject of
"concurrent insert"
Additional fix for full keys and test case.


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional fix for full keys.
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional results.
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional test case.
2006-09-07 15:39:31 +02:00
unknown
a32f6b8941 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
2006-08-29 21:08:40 +02:00
unknown
7d600f7131 Bug#14400 - Query joins wrong rows from table which is
subject of "concurrent insert"
Better fix by Monty: "The previous bug fix didn't work
when using partial keys."


mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Added test result
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Added test case
2006-08-29 20:45:04 +02:00
unknown
afa49a5930 autopush test - sorry for the commit messages, ignore 2006-08-09 17:41:35 -07:00
unknown
f3ea109f9b After merge fix. 2006-08-07 19:35:02 +05:00
unknown
4d22c359d0 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  may.pils.ru:/home/svoj/devel/mysql/BUG14770/mysql-5.0-engines
2006-08-07 18:00:46 +05:00
unknown
a1bd0bd118 BUG#14770 - LOAD DATA INFILE doesn't respect default values for
columns
Fixed confusing warning.

Quoting INSERT section of the manual:
----
Inserting NULL into a column that has been declared NOT NULL. For
multiple-row INSERT statements or INSERT INTO ... SELECT statements, the
column is set to the implicit default value for the column data type. This
is 0 for numeric types, the empty string ('') for string types, and the
"zero" value for date and time types. INSERT INTO ... SELECT statements are
handled the same way as multiple-row inserts because the server does not
examine the result set from the SELECT to see whether it returns a single
row. (For a single-row INSERT, no warning occurs when NULL is inserted into
a NOT NULL column. Instead, the statement fails with an error.)
----
This is also true for LOAD DATA INFILE. For INSERT user can specify
DEFAULT keyword as a value to set column default. There is no similiar
feature available for LOAD DATA INFILE.


mysql-test/r/auto_increment.result:
  Fixed confusing warning.
mysql-test/r/create.result:
  Fixed confusing warning.
mysql-test/r/insert.result:
  Fixed confusing warning.
mysql-test/r/insert_select.result:
  Fixed confusing warning.
mysql-test/r/key.result:
  Fixed confusing warning.
mysql-test/r/null.result:
  Fixed confusing warning.
mysql-test/r/null_key.result:
  Fixed confusing warning.
mysql-test/r/ps_2myisam.result:
  Fixed confusing warning.
mysql-test/r/ps_3innodb.result:
  Fixed confusing warning.
mysql-test/r/ps_4heap.result:
  Fixed confusing warning.
mysql-test/r/ps_5merge.result:
  Fixed confusing warning.
mysql-test/r/ps_6bdb.result:
  Fixed confusing warning.
mysql-test/r/strict.result:
  Fixed confusing warning.
mysql-test/r/view.result:
  Fixed confusing warning.
mysql-test/r/warnings.result:
  Fixed confusing warning.
sql/share/errmsg.txt:
  Fixed confusing warning.
2006-08-02 17:15:50 +05:00
unknown
3558db995c Bug#15669
"Test case 'csv' produces incorrect result on OpenBSD"
  mmapped pages were not being invalidated when writes occurred to the
  file vi a fd i/o operation. 
  Force explicit invalidation and not rely on implicit invalidation.


sql/examples/ha_tina.cc:
  Bug#15669
    Make sure to invalidate in memory pages when the file has been 
    altered by fd i/o.
    This is important to some operating systems, such as OpenBSD.
2006-08-01 09:36:34 -07:00
unknown
9accdbe57c Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-bug20719


ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-07-30 12:38:58 +02:00
unknown
384ace38e3 Merge chilla.local:/home/mydev/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-bug20719


myisam/mi_dynrec.c:
  Auto merged
ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-07-30 10:32:52 +02:00
unknown
9493d46476 Bug#20719 - Reading dynamic records with write buffer could fail
After merge fix
2006-07-30 06:19:30 +02:00
unknown
86400c60b2 Merge chilla.local:/home/mydev/mysql-4.1-bug20719
into  chilla.local:/home/mydev/mysql-5.0-bug20719


myisam/mi_dynrec.c:
  Auto merged
2006-07-29 21:59:36 +02:00
unknown
721b1d7fc6 Bug#20719 - Reading dynamic records with write buffer could fail
After merge fix
2006-07-29 21:58:50 +02:00
unknown
884062f374 Merge chilla.local:/home/mydev/mysql-4.1-bug20719
into  chilla.local:/home/mydev/mysql-5.0-bug20719


myisam/mi_dynrec.c:
  Auto merged
2006-07-26 20:48:20 +02:00
unknown
a01daf8000 Merge chilla.local:/home/mydev/mysql-4.0-bug20719
into  chilla.local:/home/mydev/mysql-4.1-bug20719


myisam/mi_dynrec.c:
  Bug#20719 - Reading dynamic records with write buffer could fail
  Manual merge
2006-07-26 19:05:39 +02:00
unknown
fe4d656d55 BUG #15133 "unique index with nullable value not accepted in federated table"
Added HA_NULL_IN_KEY to table flags to allow for nullable unique indexes
and added test to verify

ha_federated.h:
  BUG #15133 "unique index with nullable value not accepted in federated table"
  added HA_NULL_IN_KEY to table flags to allow for nullable unique indexes
federated.test:
  BUG #15133 "unique index with nullable value not accepted in federated table"
  New test to show that nullable unique indexes work
federated.result:
  BUG #15133 "unique index with nullable value not accepted in federated table"
  New results for new test


sql/ha_federated.h:
  BUG #15133 "unique index with nullable value not accepted in federated table"
  added HA_NULL_IN_KEY to table flags to allow for nullable unique indexes
mysql-test/t/federated.test:
  BUG #15133 "unique index with nullable value not accepted in federated table"
  New test to show that nullable unique indexes work
mysql-test/r/federated.result:
  BUG #15133 "unique index with nullable value not accepted in federated table"
  New results for new test
2006-07-25 18:38:09 -04:00
unknown
90040183b6 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1
2006-07-21 14:56:43 +02:00
unknown
6bf9e0ffc7 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0
2006-07-21 14:54:57 +02:00
unknown
a611fbf171 Bug#20719 - Reading dynamic records with write buffer could fail
Fixed a possible problem with reading of dynamic records
when a write cache is active. The cache must be flushed
whenever a part of the file in the write cache is to be 
read.

Added a read optimization to _mi_read_dynamic_record().

No test case. This was a hypothetical but existing problem.


myisam/mi_dynrec.c:
  Bug#20719 - Reading dynamic records with write buffer could fail
  
  Fixed a possible problem with reading of dynamic records
  when a write cache is active. The cache must be flushed
  whenever a part of the file in the write cache is to be 
  read. This must be done before the read of the header
  and before the read of the rest block.
  
  Renamed the 'flag' and 'skipp_deleted_blocks' variables.
  
  Added a read optimization to _mi_read_dynamic_record()
  that was present in _mi_read_rnd_dynamic_record() already.
  After _mi_get_block_info() we have some bytes of the record
  in the header buffer already. No need to read them again.
2006-07-21 12:22:41 +02:00
unknown
9378fc627e "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
Post merge changes.
2006-07-18 18:41:36 -07:00
unknown
6ab68cdf29 Merge pgalbraith@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  govinda.patg.net:/home/patg/mysql-build/mysql-5.0-bug18764.2


mysql-test/r/federated.result:
  "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
  
  hand merge
mysql-test/t/federated.test:
  "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
  
  hand merge
sql/ha_federated.cc:
  "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
  
  hand merge
2006-07-18 17:21:50 -07:00
unknown
a00f18e5e6 Merge bk-internal:/home/bk/mysql-5.0-engines
into  rama.(none):/home/jimw/my/mysql-5.0-17608


include/my_base.h:
  Auto merged
mysql-test/r/merge.result:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/handler.cc:
  Auto merged
2006-07-18 10:25:04 -07:00
unknown
469813c7f3 "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
Removed logic in ha_federated::write_row, which checks field query ids in the
loop which builds the query to run on the remote server.


mysql-test/r/federated.result:
  "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
  
  
  New test results for test that verifies that one can insert to rows using 
  "insert into... select * from..", delete 
  them by id, then immediately insert them in the same way they were originally 
  inserted.
mysql-test/t/federated.test:
  "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
  
  
  New test that verifies that one can insert to rows using 
  "insert into... select * from..", delete 
  them by id, then immediately insert them in the same way they were originally 
  inserted.
sql/ha_federated.cc:
  "BUG #18764: Delete conditions causing inconsistencies in Federated tables"
  
  Removed the logic in ha_federated::write_row which checked the query id of 
  each field and compared it to the thread query id.
  
  Each field has a query id, and the problem used to be that if I did an insert
  no fields specified, the field value would contain the last inserted value 
  for that field. The way to work around this was to see if the query id for 
  that field was the same as the current query id or of the rest of the field 
  query ids. If it wasn't, that told me the query didn't have the field value 
  specified.
  
  Somewhere from when I wrote that code to now the problem went away, and there
  was no longer the need for this logic. 
  
  Also removed the bool "has_fields", which needs not exist and using 
  table->s->fields is sufficient.
2006-07-17 16:45:04 -07:00
unknown
abbf7ad014 Bug #17608: String literals lost during INSERT query on FEDERATED table
The Federated storage engine used Field methods that had arbitrary limits on
  the amount of data they could process, which caused problems with data
  over that limit (4K). By removing those Field methods and just using
  features of the String class, we can avoid this problem.


mysql-test/r/federated.result:
  Add new results
mysql-test/t/federated.test:
  Add new regression test
sql/field.cc:
  Remove unnecessary methods
sql/field.h:
  Remove unnecessary methods
sql/ha_federated.cc:
  Remove use of quote_data, use String::print() to get escaping of strings,
  and don't bother with needs_quotes, just always quote values.
2006-07-12 16:33:29 -07:00
unknown
a7dddd3b67 Fix a valgrind warning in type_date test.
sql/item_timefunc.cc:
  Fix a valgrind warning in type_date test.
2006-07-12 19:19:43 +04:00
unknown
a08a6f9f57 Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0
into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.0-rpl


ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-07-12 10:05:55 +02:00
unknown
e52940aa7f Merge bk-internal:/home/bk/mysql-5.0-engines
into  rama.(none):/home/jimw/my/mysql-5.0-17766
2006-07-11 17:29:36 -07:00
unknown
97cdd9df8a Bug #17766: The server accepts to create MERGE tables which cannot work
Changed the error reporting (and a crash) when inserting data into a
 MERGE table that has no underlying tables or no INSERT_METHOD specified
 by reporting that it is read-only.


include/my_base.h:
  Add new handler error
mysql-test/r/merge.result:
  Update results
mysql-test/t/merge.test:
  Add new regression test
sql/ha_myisammrg.cc:
  When trying to insert into a MERGE table with no underlying tables
  or no INSERT_METHOD, report that it is read-only.
sql/handler.cc:
  Handle new error message
2006-07-11 17:28:50 -07:00
unknown
67d53e36cd Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41


sql/sql_table.cc:
  Auto merged
2006-07-11 17:04:27 +04:00
unknown
034522f47d Merge chilla.local:/home/mydev/mysql-5.0-release
into  chilla.local:/home/mydev/mysql-5.0-amerge


sql/handler.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2006-07-11 13:01:27 +02:00
unknown
0859819aae Raise the version number. 2006-07-11 12:34:43 +02:00
unknown
0e6948809b Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into  trift2.:/M50/mysql-5.0
2006-07-11 11:32:45 +02:00
unknown
fabab79291 Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0-rpl
into  dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.0-merge


ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
2006-07-11 11:15:22 +02:00
unknown
aedfd07248 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41


sql/opt_range.cc:
  Auto merged
support-files/mysql.spec.sh:
  Auto merged
mysql-test/Makefile.am:
  Manual merge.
2006-07-11 08:36:50 +04:00
unknown
7b659332e4 Fix yet another Windows build failure: "true" -> TRUE
sql/sql_locale.cc:
  "true" -> TRUE
2006-07-11 01:46:44 +04:00
unknown
8e4a6061ce Merge trift2.:/M50/clone-5.0
into  trift2.:/M50/mysql-5.0


configure.in:
  Auto merged
2006-07-10 22:40:57 +02:00
unknown
9c35a6e777 Raise the version number. 2006-07-10 22:38:13 +02:00
unknown
3878d0a991 Fix a Windows build failure.
sql/sql_locale.cc:
  Fix Windows compilation failure "cannot convert from 'const char [6]' 
  to 'const BOOL'" and an apparent bug (use of "FALSE" instead of FALSE
  for initialization of is_ascii member of MY_LOCALE)
2006-07-10 23:58:36 +04:00
unknown
1a7e4ac0bb Revoking patch for Bug#10952 on behalf of Brian. 2006-07-10 20:46:05 +02:00
unknown
4ce8ca6464 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  gbichot3.local:/home/mysql_src/mysql-5.0
2006-07-10 17:06:19 +02:00
unknown
7841fa4985 Fix test results to be vardir-independent.
mysql-test/r/myisam.result:
  Fix test results.
mysql-test/t/myisam.test:
  In 5.0 show create table also outputs data directory.
  For the test for Bug#8706 it's MYSQLTEST_VARDIR, and there is no way
  to replace it with anything else in test output.
2006-07-10 16:22:42 +04:00
unknown
66fc547d1b Merge orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50
into  orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50-1.2167.1.2


ndb/include/kernel/GlobalSignalNumbers.h:
  Auto merged
ndb/src/common/debugger/signaldata/SignalNames.cpp:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  Auto merged
ndb/test/run-test/daily-basic-tests.txt:
  Auto merged
2006-07-10 14:12:02 +02:00
unknown
001c7f5fe1 ndb - bug#18781: close a tiny window (re-commit, try to by-pass merge jam)
ndb/src/kernel/blocks/dbdict/DictLock.txt:
  wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/vm/SimulatedBlock.cpp:
  wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/src/kernel/vm/SimulatedBlock.hpp:
  wait until SL_STARTED before sending DICT_UNLOCK_ORD
ndb/test/run-test/daily-basic-tests.txt:
  wait until SL_STARTED before sending DICT_UNLOCK_ORD
2006-07-10 13:59:13 +02:00
unknown
f98f5d639b ndb - bug#18781 : 5.0 : add NODE_START_REP from 5.1 (re-commit, try to by-pass merge jam)
ndb/include/kernel/GlobalSignalNumbers.h:
  5.0 : add NODE_START_REP from 5.1
ndb/src/common/debugger/signaldata/SignalNames.cpp:
  5.0 : add NODE_START_REP from 5.1
ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
  5.0 : add NODE_START_REP from 5.1
ndb/src/kernel/vm/SimulatedBlock.cpp:
  5.0 : add NODE_START_REP from 5.1
ndb/src/kernel/vm/SimulatedBlock.hpp:
  5.0 : add NODE_START_REP from 5.1
2006-07-10 13:44:15 +02:00
unknown
23444c90c6 A post-merge fix (Bug#8706 "temporary table with data directory option
fails"


mysql-test/t/myisam.test:
  Fix myisam.test to work with non-default mysqltest var directory.
2006-07-10 14:53:49 +04:00
unknown
bb65b2e773 Add sql_locale.cpp to our windows build scripts.
VC++Files/libmysqld/libmysqld.dsp:
  Add sql_locale.cpp
VC++Files/libmysqld/libmysqld.vcproj:
  Add sql_locale.cpp
VC++Files/sql/mysqld.dsp:
  Add sql_locale.cpp
VC++Files/sql/mysqld.vcproj:
  Add sql_locale.cpp
2006-07-10 14:30:17 +04:00