Commit graph

151 commits

Author SHA1 Message Date
unknown
035d92f4b6 Merge
sql/sql_show.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  SCCS merged
2004-10-04 12:36:25 +00:00
unknown
5e458aac1e bug #5872, transactions should only be restarted with transaction.on flag off if execute_commit has been performed
added testcase for this
use force send for all executes


mysql-test/r/ndb_blob.result:
  added testcase for alter table of blob from ndb to myisam
mysql-test/t/ndb_blob.test:
  added testcase for alter table of blob from ndb to myisam
sql/ha_ndbcluster.cc:
  bug #5872, transactions should only be restarted with transaction.on flag off if execute_commit has been performed
  use force send for all executes
2004-10-04 12:26:26 +00:00
unknown
8ab3ebe2ca merge error 2004-10-03 23:20:05 +00:00
unknown
1f16f2db95 merge error 2004-10-03 22:27:04 +00:00
unknown
ec81fca2d0 Merge
BitKeeper/etc/logging_ok:
  auto-union
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  SCCS merged
sql/ha_ndbcluster.cc:
  SCCS merged
2004-10-03 21:39:04 +00:00
unknown
4b6fbbc7b4 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
2004-10-01 21:35:50 +00:00
unknown
8a8d4163bc Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-10-01 16:17:04 +00:00
unknown
29a62c1129 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-ryan


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2004-10-01 18:55:17 +04:00
unknown
7b51154461 Support for TIMESTAMP columns holding NULL values. Unlike all other
column types TIMESTAMP is NOT NULL by default, so in order to have 
TIMESTAMP column holding NULL valaues you have to specify NULL as
one of its attributes (this needed for backward compatibility).

Main changes:
Replaced TABLE::timestamp_default_now/on_update_now members with
TABLE::timestamp_auto_set_type flag which is used everywhere
for determining if we should auto-set value of TIMESTAMP field 
during this operation or not. We are also use Field_timestamp::set_time()
instead of handler::update_timestamp() in handlers.


mysql-test/r/type_timestamp.result:
  Added test for TIMESTAMP columns which are able to store NULL values.
mysql-test/t/type_timestamp.test:
  Added test for TIMESTAMP columns which are able to store NULL values.
sql/field.cc:
  Added support for TIMESTAMP fields holding NULL values.
  We don't need Field_timestamp::set_timestamp_offsets() anymore.
  Instead we need Field_timestamp::get_auto_set_type() function
  which will convert TIMESTAMP auto-set type stored in Field in 
  unireg_check to value from timestamp_auto_set_type_enum.
  (We can't replace this function with additional Field_timestamp member
  and some code in constructor because then we will have troubles
  with Field::new_field() method).
  We should also set field to not null in Field_timestamp::set_time() now.
sql/field.h:
  Added support for TIMESTAMP fields holding NULL values.
  We don't need Field_timestamp::set_timestamp_offsets() anymore.
  Instead we need Field_timestamp::get_auto_set_type() function,
  which will convert TIMESTAMP auto-set type stored in Field in 
  unireg_check to value from timestamp_auto_set_type_enum.
  We also have to support NULL values in Field_timestamp::get_timestamp()
  function.
sql/field_conv.cc:
  Added comment clarifying behavior in case of TIMESTAMP fields which are
  able to store NULL values.
sql/ha_berkeley.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_heap.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_innodb.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_isam.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_isammrg.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_myisam.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_myisammrg.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/ha_ndbcluster.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now for determining 
  if we should auto-set value of TIMESTAMP field during this operation.
  We are also use Field_timestamp::set_time() instead of 
  handler::update_timestamp().
sql/handler.cc:
  handler::update_timestamp() is no longer needed since now we use
  Field_timestamp::set_time() instead.
  (we can't use handler::update_timestamp() anyway since field position
  only is not enough for TIMESTAMP fields which are able to store NULLs)
sql/handler.h:
  handler::update_timestamp() is no longer needed since now we use
  Field_timestamp::set_time() instead.
sql/item_timefunc.cc:
  Since now TIMESTAMP fields can hold NULL values we should take this into
  account.
sql/sql_base.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now. 
  (Here we use Field_timestamp::get_auto_set_type() to setup its value
   before further statement execution).
sql/sql_insert.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now.
sql/sql_load.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now.
sql/sql_parse.cc:
  Added support for TIMESTAMP fields holding NULL values.
  We should distinguish NULL default values and non-specified default
  values for such fields (because latter could mean DEFAULT NOW()
  ON UPDATE NOW() in some cases).
sql/sql_show.cc:
  Added support for TIMESTAMP fields holding NULL values.
  Unlike all other fields these are NOT NULL by default
  so we have to specify NULL attribute explicitly for them.
sql/sql_table.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now.
sql/sql_update.cc:
  Now we use TABLE::timestamp_field_type instead of 
  TABLE::timestamp_default_now/on_update_now.
sql/sql_yacc.yy:
  Added support for TIMESTAMP fields holding NULL values.
  Unlike all other fields these are NOT NULL by default
  (so we have to set NOT_NULL_FLAG properly for them).
sql/table.h:
  Added timestamp_auto_set_type enum which values are used for indicating
  during which operations we should automatically set TIMESTAPM field
  value to current timestamp.
  TABLE: Replaced timestamp_default_now/on_update_now members with
  timestamp_auto_set_type flag (Now when TIMESTAMP field are able to 
  store NULL values, single position of field in record is not enough 
  for updating this field anyway).
2004-10-01 18:54:06 +04:00
unknown
fb1b8476bd bug#5349 ALTER TABLE corrupts TEXT (and blob?) 2004-10-01 11:16:49 +00:00
unknown
2c049a83aa 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
sql/ha_ndbcluster.h:
  Auto merged
2004-10-01 12:08:04 +02:00
unknown
341d8aaee3 Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into neptunus.(none):/home/magnus/mysql/mysql-4.1-ndb


BitKeeper/etc/logging_ok:
  auto-union
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-09-30 17:15:28 +02:00
unknown
4caff3fedd Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into neptunus.(none):/home/magnus/mysql/mysql-4.1-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2004-09-30 17:08:49 +02:00
unknown
f6f7af7a70 Merge fixes
mysql-test/mysql-test-run.sh:
  Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Merge: ndb_discover_tables should no longer be called when server is starting
2004-09-30 16:12:28 +02:00
unknown
f1521dec91 cosmetic 2004-09-28 23:42:34 +00:00
unknown
1dd9333fb1 Merge
sql/ha_ndbcluster.cc:
  Auto merged
mysql-test/mysql-test-run.sh:
  SCCS merged
2004-09-28 19:22:04 +00:00
unknown
0a98e3903d ha_ndbcluster.cc:
testing foce send


sql/ha_ndbcluster.cc:
  testing foce send
2004-09-28 19:11:50 +00:00
unknown
e44be2922e ha_ndbcluster.cc:
typo


sql/ha_ndbcluster.cc:
  typo
2004-09-28 17:41:58 +00:00
unknown
e8c4af1293 set correct lockmode in all reads...
move lockmode from scan operation to operation
    added read tuple with lock mode


ndb/include/ndbapi/NdbIndexOperation.hpp:
  added read tuple with lock mode
ndb/include/ndbapi/NdbOperation.hpp:
  move lockmode from scan operation to operation
ndb/include/ndbapi/NdbScanOperation.hpp:
  move lockmode from scan operation to operation
ndb/src/ndbapi/NdbIndexOperation.cpp:
  added read tuple with lock mode
ndb/src/ndbapi/NdbOperationDefine.cpp:
  added read tuple with lock mode
sql/ha_ndbcluster.cc:
  set correct lockmode in all reads...
  moved lockmode from scan operatoin to operation
2004-09-28 17:35:07 +00:00
unknown
f3daec831c Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into mysql.com:/usr/local/home/marty/MySQL/mysql-4.1-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2004-09-28 10:34:26 +02:00
unknown
65d4dc9866 Adjusted so auto_increment value after bulk insert will be exactly +1 after last (if no parallel inserts) 2004-09-28 09:53:14 +02:00
unknown
66657ba1b5 Correct merge problem
sql/ha_ndbcluster.cc:
  HA_ERR_OLD_METADATA error code been removed
2004-09-28 08:53:21 +02:00
unknown
a6b64d2898 removed init on ConfigRetriever
added some debug printouts
    some changes in ndbcluster_init to make start of mysqld first work


ndb/include/mgmcommon/ConfigRetriever.hpp:
  removed init on ConfigRetriever
ndb/src/common/mgmcommon/ConfigRetriever.cpp:
  removed init on ConfigRetriever
  added some debug printouts
ndb/src/kernel/vm/Configuration.cpp:
  removed init on ConfigRetriever
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  removed init on ConfigRetriever
  added sleep in retry
sql/ha_ndbcluster.cc:
  some changes in ndbcluster_init to make start of mysqld first work
2004-09-27 00:24:23 +00:00
unknown
c73ea42693 Merge msvensson@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into shellback.(none):/home/magnus/mysql/mysql-4.1-ndb


BitKeeper/etc/logging_ok:
  auto-union
sql/ha_ndbcluster.cc:
  Auto merged
2004-09-26 17:49:02 +02:00
unknown
1dd76e1931 Merge
BitKeeper/etc/logging_ok:
  auto-union
mysql-test/mysql-test-run.sh:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/ndb_cluster_connection.cpp:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  SCCS merged
2004-09-26 16:21:15 +02:00
unknown
5077ba47ad WL#1424 Updated after review
* Changed the implementation of ndbcluster_find_files to be more efficient, using only one mutex lock
* Moved ha_find_files to end of mysql_find_files so that it can be passed the list that we are interested to find. 


mysql-test/t/ndb_autodiscover.test:
  Added a new test case, disabled for now, waiting for mysql-test-run to set a NDB_CONNECTSTRING
sql/ha_ndbcluster.cc:
  Rewrite of ndbcluster_find_files to remove and delete files using only one mutex lock. 
  This version only discover files that fulfill wildcard.
sql/ha_ndbcluster.h:
  Add list of files as parameter
sql/handler.cc:
  Add list of files as parameter
sql/handler.h:
  Add list of files as parameter
sql/sql_show.cc:
  Moving the ha_find_files to end of function, so that the file lista can be passsed to it.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-09-26 16:11:24 +02:00
unknown
b9a10e2761 Clean up of index_name and unique_index_name
sql/ha_ndbcluster.cc:
  No need to save the name of the unique index, its only used within the same function
  Removed unused variables and functions  retrieving index_name
sql/ha_ndbcluster.h:
  Remove unused varaibale unique_name as well as teh function get_index_name and get_unique_index_name
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-09-25 14:35:27 +02:00
unknown
d6c1a39a15 fix for invalidating table if mismatch with frm
removed debug printout
    new test in alter table for dictionay update test with multiple connections
    added coice of setting MaxNoOfOrderedIndexes
    added option to run "--small-bench"


mysql-test/mysql-test-run.sh:
  added option to run "--small-bench"
mysql-test/ndb/ndb_config_2_node.ini:
  added coice of setting MaxNoOfOrderedIndexes
mysql-test/ndb/ndbcluster.sh:
  added coice of setting MaxNoOfOrderedIndexes
mysql-test/r/ndb_alter_table.result:
  new test in alter table for dictionay update test with multiple connections
mysql-test/t/ndb_alter_table.test:
  new test in alter table for dictionay update test with multiple connections
ndb/src/ndbapi/DictCache.cpp:
  removed debug printout
sql/ha_ndbcluster.cc:
  fix for invalidating table if mismatch with frm
2004-09-24 16:58:25 +00: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
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
unknown
ad14766271 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
sql/ha_ndbcluster.h:
  Auto merged
2004-09-20 21:03:37 +02:00
unknown
7d6860a735 Added support for calculating index cadinality 2004-09-20 21:03:09 +02:00
unknown
04844921b9 Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1-ndb


ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-09-20 20:56:16 +02:00
unknown
091e238cd3 suggested fix for bug 5591 adn corrct select count() with several clients 2004-09-20 15:52:19 +00:00
unknown
4d18add04c Merge changes
sql/ha_ndbcluster.cc:
  Merge with Thd_ndb
2004-09-20 17:34:32 +02:00
unknown
bdbb091b68 Merged Thd_ndb
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2004-09-20 14:28:43 +02:00
unknown
812a07490b Ues buf pointer in get_ndb_value
Merge fixes


mysql-test/r/ndb_insert.result:
  Correct test cases and result after merge
mysql-test/t/ndb_insert.test:
  Correct test cases and result after merge
sql/ha_ndbcluster.cc:
  Correct get_error_message after merge
  Use buf pointer in get_ndb_value
2004-09-20 12:40:53 +02:00
unknown
c06c007818 Merged new ndb_insert.test and .result
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
mysql-test/r/ndb_insert.result:
  Merge new test cases
mysql-test/t/ndb_insert.test:
  Merge new test cases
2004-09-20 11:14:31 +02:00
unknown
095e10b011 Preparation for batching 2004-09-17 14:58:08 +00:00
unknown
1c24e57922 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.(none):/home/tomas/mysql-4.1-ndb-merge


ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
ndb/src/mgmsrv/main.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2004-09-16 23:36:48 +00:00
unknown
91f62b34d4 Optimzed handling of NO_AUTO_VALUE_ON_ZERO 2004-09-16 04:55:22 +02:00
unknown
f955763fb3 Fixed handling of NO_AUTO_VALUE_ON_ZERO 2004-09-15 18:44:18 +02:00
unknown
39c2f42168 ndb charsets: DICT 2004-09-15 17:44:13 +02:00
unknown
00fa471d5a Added support for auto_increment of partial key 2004-09-15 17:31:15 +02:00
unknown
38238355c2 BUG#4775 "Duplicate key requires rollback of transaction" - Improved error message telling that transaction is aborted
BUG#4312 "wrong behaviour on insert .. on duplicate key" functionality disabled


mysql-test/r/ndb_insert.result:
  New tests for fduplicate inserts in combination with transaction
  New tests for INSERT IGNORE and REPLACE
mysql-test/t/ndb_insert.test:
  New tests for fduplicate inserts in combination with transaction
  New tests for INSERT IGNORE and REPLACE
ndb/src/ndbapi/NdbConnection.cpp:
  Return error 4350 "Transaction already aborted" if execute(Commit) is called when theCommitStatus==Aborted
  Add DBUG_PRINT's
ndb/src/ndbapi/ndberror.c:
  Add new error message indicating that the transaction already has been aborted.
sql/ha_ndbcluster.cc:
  Map all error code 0 to 1 in order to catch errors caused by NdbApi returning -1 without having set an error code.
  Use ndb object in THD in get_error_message
  BUG# 4312 Return HA_ERR_WRONG_COMMAND if extra(HA_EXTRA_IGNORE_DUP_KEY) is called
  Only use writeTuple if command is REPLACE
sql/ha_ndbcluster.h:
  Added member variable to keep track of when HA_EXTRA_IGNORE_DUP_KEY is used, but NDB can't support it.
2004-09-15 14:44:21 +02:00