Commit graph

902 commits

Author SHA1 Message Date
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
6c3e66510c Merge
BitKeeper/etc/logging_ok:
  auto-union
sql/ha_berkeley.cc:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_help.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_class.h:
  SCCS merged
sql/sql_parse.cc:
  SCCS merged
2004-09-15 22:36:57 +03:00
unknown
ffc0d185da Added options --auto-increment-increment and --auto-increment-offset.
This allows one to setup a master <-> master replication with non conflicting auto-increment series.
Cleaned up binary log code to make it easyer to add new state variables.
Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
Simplified binary log handling.
Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)




mysql-test/r/mix_innodb_myisam_binlog.result:
  Disable End_log_pos column from 'show binlog events' as this is now different from before
mysql-test/t/mix_innodb_myisam_binlog.test:
  Disable End_log_pos column from 'show binlog events' as this is now different from before
sql/ha_berkeley.cc:
  Changed prototype for get_auto_increment()
sql/ha_berkeley.h:
  Changed prototype for get_auto_increment()
sql/ha_heap.cc:
  Changed prototype for get_auto_increment()
sql/ha_heap.h:
  Changed prototype for get_auto_increment()
sql/ha_innodb.cc:
  Change how auto-increment is calculated.
  Now the auto-increment logic is done in 'update_auto_increment()' to ensure that all handlers has the same auto-increment usage
sql/ha_innodb.h:
  Changed prototype for get_auto_increment()
sql/ha_myisam.cc:
  Changed prototype for get_auto_increment()
sql/ha_myisam.h:
  Changed prototype for get_auto_increment()
sql/ha_ndbcluster.cc:
  Changed prototype for get_auto_increment()
sql/ha_ndbcluster.h:
  Changed prototype for get_auto_increment()
sql/handler.cc:
  Remove some usage of current_thd
  Changed how auto_increment works with SET INSERT_ID to make it more predictable
  (Now we should generate same auto-increment serie on a slave, even if the table has rows that was not on the master.
  Use auto_increment_increment and auto_increment_offset
sql/handler.h:
  Changed prototype for get_auto_increment()
sql/log.cc:
  Remove usage of 'set_log_pos()' to make code simpler. (Now log_pos is set in write_header())
  Use 'data_written' instead of 'get_event_len()' to calculate how much data was written in the log
sql/log_event.cc:
  Simple optimizations.
  Remove cached_event_len (not used variable)
  Made comments fit into 79 chars
  Removed Log_event::set_log_pos(). Now we calculate log_pos in write_header().
  Renamed write_data() to write() as the original write() function was not needed anymore.
  Call writing of event header from event::write() functions. This made it easier to calculate the length of an event.
  Simplified 'write_header' and remove 'switches' from it.
  Changed all write() functions to return 'bool'. (The previous return values where not consistent)
  Store auto_increment_increment and auto_increment_offset in binary log
  Simplified how Query_log_event's where written and read. Now it's much easier to add now status variables for a query event to the binary log.
  Removed some old MySQL 4.x code to make it easier to grep for functions used in 5.0
sql/log_event.h:
  Changed return type of write() functions to bool. (Before we returned -1 or 1 for errors)
  write_data() -> write()
  Added 'data_written' member to make it easier to get length of written event.
  Removed 'cached_event_len' and 'get_event_len()'
  Added usage of auto_increment_increment and auto_increment_offset
  Added 'artifical_event' to Start_log_event_v3, to hide logic that we in the binary log use log_pos=0 as a flag for an artifical event.
sql/mysqld.cc:
  Added options --auto-increment-increment and --auto-increment-offset
sql/set_var.cc:
  Added variables auto_increment_increment and auto_increment_offset
sql/slave.cc:
  Changed errors -> warnings & information (in error log)
sql/sql_class.cc:
  Added THD::cleanup_after_query(). This makes some code simpler and allows us to clean up 'next_insert_id' after query
sql/sql_class.h:
  Added new auto_increment_xxx variables
  Moved some functions/variables in THD class
sql/sql_help.cc:
  Removed compiler warning
sql/sql_insert.cc:
  Call 'restore_auto_increment()' if row was not inserted.
  This makes it easier for handler to reuse the last generated auto-incrment value that was not used (for example in case of duplicate key)
sql/sql_parse.cc:
  Use cleanup_after_query()
sql/sql_prepare.cc:
  Use cleanup_after_query()
sql/sql_table.cc:
  R
2004-09-15 22:10:31 +03: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
unknown
e32059a93e Fixed a couple of bugs.
sql/ha_ndbcluster.cc:
  Changed some old global variables to per thread specific in ha_ndbcluster.cc
sql/sql_help.cc:
  Added parenthesis.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-09-14 22:02:23 +03:00
unknown
59f2dc39d6 Merge mskold@build.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1


ndb/src/ndbapi/Ndb.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
  Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2004-09-14 18:17:03 +02:00
unknown
6829605c4a fix to make transaction failure also affect select count() on other tables in thread 2004-09-14 16:17:01 +00:00