Commit graph

676 commits

Author SHA1 Message Date
unknown
807d6c0950 bug#21507 I can't create a unique hash index in NDB: Added possibillity to create hash only indexes with NULL valued attributes, but any NULL valued access will become full table scan with pushed condition on index attribute values 2006-11-07 16:38:37 +01:00
unknown
c04e47276a Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2006-10-25 08:28:30 +02:00
unknown
043d6d107b fix ndb_cache_multi2
util thread wasn't behaving correctly after 241 error due to get_table_statistics
not properly returning an error code


sql/ha_ndbcluster.cc:
  correctly call ndb_get_table_statistics in get_commitcount (don't report error)
  
  but also return an error code from get_table_statistics so that util thread
  gets error code
2006-10-24 23:26:58 +10:00
unknown
2ebf26775f Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2006-10-24 08:29:37 +02:00
unknown
c56a907b32 post merge fix 2006-10-24 00:18:57 +10:00
unknown
399cd9f716 Merge willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2-merge2
into  willster.(none):/home/stewart/Documents/MySQL/5.0/ndb


sql/sql_select.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  merge
sql/ha_ndbcluster.h:
  merge
2006-10-23 23:57:28 +10:00
unknown
8335ed7316 Bug #19914 SELECT COUNT(*) sometimes returns MAX_INT on cluster tables
fixes for ndb_* tests broken by previous fix

be more careful in ndb about setting errors on failure of info call (especially
in open) 


sql/ha_ndbcluster.cc:
  fix some ndb* tests failing due to fix for 19914
  
  be more careful about setting errors on failure of info call
sql/ha_ndbcluster.h:
  fix some ndb* tests failing due to fix for 19914
  
  be more careful about setting errors on failure of info call
2006-10-23 23:46:35 +10:00
unknown
6134c07258 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-10-19 09:38:37 +02:00
unknown
d262020f44 ndb - bug#23200
this changes lock taken during peek, to decrease likelyhood of transaction abort
  


sql/ha_ndbcluster.cc:
  use exclusive lock in peek, as peek is used just before insert/update
2006-10-19 09:27:58 +02:00
unknown
e11b8e929a Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
2006-10-18 16:41:17 +02:00
unknown
55ae6636bd Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2006-10-18 14:28:18 +02:00
unknown
8a88e57c28 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_charset.result:
  Auto merged
mysql-test/r/ndb_index_unique.result:
  Auto merged
mysql-test/r/ndb_update.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Merg
sql/handler.cc:
  Merge
2006-10-16 10:07:19 +02:00
unknown
62689e18e7 Merge willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2
into  willster.(none):/home/stewart/Documents/MySQL/5.0/bug19914-mk2-merge


sql/ha_berkeley.cc:
  Auto merged
sql/ha_berkeley.h:
  Auto merged
BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
  Auto merged
BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
  Auto merged
BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
  Auto merged
BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
  Auto merged
sql/ha_archive.cc:
  Auto merged
sql/ha_archive.h:
  Auto merged
sql/ha_blackhole.cc:
  Auto merged
sql/ha_blackhole.h:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_heap.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_myisam.h:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_myisammrg.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/examples/ha_example.cc:
  Auto merged
sql/examples/ha_example.h:
  Auto merged
sql/examples/ha_tina.cc:
  Auto merged
sql/examples/ha_tina.h:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  merge
sql/ha_ndbcluster.h:
  merge
sql/handler.h:
  merge
sql/sql_select.cc:
  merge
2006-10-16 17:39:38 +10:00
unknown
0079ce3b2c Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
2006-10-16 08:33:22 +02:00
unknown
d049ec4a59 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-11 14:02:43 +02:00
unknown
1c732a23b8 Bug #21072 Duplicate key error in NDB references wrong key: use MAX_KEY to signal unknown key 2006-09-21 16:49:07 +02:00
unknown
d4d3dcacaa Merge willster.(none):/home/stewart/Documents/MySQL/4.1/ndb
into  willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2


sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-09-20 17:09:53 +10:00
unknown
dfb219f6c9 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/merge/mysql-5.0-engines


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/share/errmsg.txt:
  SCCS merged
2006-09-18 16:23:45 +05:00
unknown
73db46fb4f Bug #21056 ndb pushdown equal/setValue error on datetime: post review fixes, use my_bitmap 2006-09-15 15:51:05 +02:00
unknown
eac99ea035 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_multi.result:
  Auto merged
mysql-test/t/ndb_multi.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-09-13 18:50:47 +02:00
unknown
64c937038d Bug #21378 Alter table from X storage engine to NDB could cause data loss: skip autodiscover of local tables 2006-09-13 18:49:05 +02:00
unknown
e780245acc Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_condition_pushdown.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-09-12 16:24:39 +02:00
unknown
8b1d995987 Bug #21378 Alter table from X storage engine to NDB could cause data loss: Added warning if local table shadows ndb table 2006-09-12 16:04:52 +02:00
unknown
545c9b8fde Bug #21056 ndb pushdown equal/setValue error on datetime: only pushdown like of string type fields 2006-09-05 17:07:00 +02:00
unknown
a0b7b2426f Fix for BUG#11151 "LOAD DATA INFILE commits transaction in 5.0".
In 5.0 we made LOAD DATA INFILE autocommit in all engines, while
only NDB wanted that. Users and trainers complained that it affected
InnoDB and was a change compared to 4.1 where only NDB autocommitted.
To revert to the behaviour of 4.1, we move the autocommit logic out of mysql_load() into
ha_ndbcluster::external_lock().
The result is that LOAD DATA INFILE commits all uncommitted changes
of NDB if this is an NDB table, its own changes if this is an NDB
table, but does not affect other engines.
Note: even though there is no "commit the full transaction at end"
anymore, LOAD DATA INFILE stays disabled in routines (re-entrency
problems per a comment of Pem).
Note: ha_ndbcluster::has_transactions() does not give reliable results
because it says "yes" even if transactions are disabled in this engine...


sql/ha_ndbcluster.cc:
  NDB wants to do autocommit if this is LOAD DATA INFILE.
  For this to not affect all other engines, we move the logic
  inside ha_ndbcluster.
sql/sql_load.cc:
  This ha_enable_transaction() in mysql_load() forced an autocommit
  in all engines, while only NDB wants to do that.
  So we move the logic inside ha_ndbcluster.cc.
mysql-test/include/loaddata_autocom.inc:
  test for engines to see if they autocommit or not in LOAD DATA INFILE
mysql-test/r/loaddata_autocom_innodb.result:
  result for InnoDB (no autocommit)
mysql-test/r/loaddata_autocom_ndb.result:
  result for NDB (autocommit)
mysql-test/r/rpl_ndb_innodb_trans.result:
  result for InnoDB+NDB transactions. Observe that when ROLLBACK
  cannot rollback the LOAD DATA INFILE in NDB it issues warning 1196
  as appropriate.
mysql-test/t/loaddata_autocom_innodb.test:
  test that InnoDB does not autocommit in LOAD DATA INFILE.
mysql-test/t/loaddata_autocom_ndb.test:
  test that NDB does autocommit in LOAD DATA INFIL
mysql-test/t/rpl_ndb_innodb_trans-slave.opt:
  need to tell the slave to use innodb
mysql-test/t/rpl_ndb_innodb_trans.test:
  test of transactions mixing NDB and InnoDB. To see if ROLLBACK
  rolls back in both engines, with the exception of LOAD DATA INFILE
  which does not roll back NDB: we see that a LOAD DATA INFILE in NDB
  commits all what has been done in NDB so far, commits its changes,
  but does not commit in other engines.
2006-09-05 16:52:05 +02:00
unknown
2233201ba7 Bug#20573
"strict mode: inserts autogenerated auto_increment value bigger than max"
  Strict mode should fail if autoincrement value is out of range


include/my_base.h:
  Add new handler error codes
sql/ha_berkeley.cc:
  handle error in update_auto_increment()
sql/ha_heap.cc:
  handle error in update_auto_increment()
sql/ha_innodb.cc:
  handle error in update_auto_increment()
sql/ha_myisam.cc:
  handle error in update_auto_increment()
sql/ha_myisammrg.cc:
  handle error in update_auto_increment()
sql/ha_ndbcluster.cc:
  handle error in update_auto_increment()
sql/handler.cc:
  return error from handler::update_auto_increment()
sql/handler.h:
  change return type of handler::update_auto_increment() to int
sql/share/errmsg.txt:
  new error message for auto-increment
mysql-test/include/strict_autoinc.inc:
  New BitKeeper file ``mysql-test/include/strict_autoinc.inc''
mysql-test/r/strict_autoinc_1myisam.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_1myisam.result''
mysql-test/r/strict_autoinc_2innodb.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_2innodb.result''
mysql-test/r/strict_autoinc_3heap.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_3heap.result''
mysql-test/r/strict_autoinc_4bdb.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_4bdb.result''
mysql-test/r/strict_autoinc_5ndb.result:
  New BitKeeper file ``mysql-test/r/strict_autoinc_5ndb.result''
mysql-test/t/strict_autoinc_1myisam.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_1myisam.test''
mysql-test/t/strict_autoinc_2innodb.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_2innodb.test''
mysql-test/t/strict_autoinc_3heap.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_3heap.test''
mysql-test/t/strict_autoinc_4bdb.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_4bdb.test''
mysql-test/t/strict_autoinc_5ndb.test:
  New BitKeeper file ``mysql-test/t/strict_autoinc_5ndb.test''
2006-08-30 13:20:39 -07:00
unknown
a8e10dde7a Merge lzhou@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  dev3-138.dev.cn.tlan:/home/zhl/mysql/mysql-5.0/mysql-5.0-ndb-bj


ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
ndb/src/ndbapi/ndberror.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2006-08-28 16:18:48 +00:00
unknown
c251e8a864 Merge perch.ndb.mysql.com:/home/jonas/src/50-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-08-23 11:00:29 +02:00
unknown
06b1f15dc3 ndb - post-merge fix 5.0 to 5.0-ndb: number of frags if --without-big-tables
sql/ha_ndbcluster.cc:
  calculate frags with (ulonglong)max_rows in case --without-big-tables
2006-08-22 14:26:56 +02:00
unknown
6464d62c7b Fix for bug #21059 Server crashes on join query with large dataset with NDB tables: do not release operation records for on-going read_multi_range 2006-08-15 14:31:21 +02:00
unknown
4eb4493538 ndb - bug#20708
init ndb_cache_check_time and honor value in my.cnf


sql/ha_ndbcluster.cc:
  init ndb_cache_check_time and honor value in my.cnf
2006-08-15 14:22:47 +02:00
unknown
115eb7df2e Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_lock.result:
  Auto merged
mysql-test/t/ndb_lock.test:
  Auto merged
ndb/include/ndbapi/NdbTransaction.hpp:
  Merge
sql/ha_ndbcluster.cc:
  Merge
sql/ha_ndbcluster.h:
  Merge
2006-08-15 13:37:39 +02:00
unknown
87b7363c5c ndb_lock.test, ndb_lock.result:
bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ha_ndbcluster.h, ha_ndbcluster.cc, NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);


mysql-test/r/ndb_lock.result:
  bug #18184  SELECT ... FOR UPDATE does not work..: New test case
mysql-test/t/ndb_lock.test:
  bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ndb/include/ndbapi/NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.cc:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
sql/ha_ndbcluster.h:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
2006-08-15 13:12:27 +02:00
unknown
f7cc4925de BUG#20848 SHOW STATUS LIKE 'NDB%' should be data nodes not storage nodes
use correct termninology


sql/ha_ndbcluster.cc:
  just replace 'number_of_storage_nodes' with 'number_of_data_nodes'
2006-08-11 15:10:08 +08:00
unknown
e34496e5d8 BUG#19914 SELECT COUNT(*) sometimes returns MAX_INT on cluster tables
allow handler::info to return an error code (that will be returned to the user)


sql/ha_berkeley.cc:
  update handler::info interface to return int
sql/ha_berkeley.h:
  update handler::info interface to return int
sql/ha_heap.cc:
  update handler::info interface to return int
sql/ha_heap.h:
  update handler::info interface to return int
sql/ha_innodb.cc:
  update handler::info interface to return int
sql/ha_innodb.h:
  update handler::info interface to return int
sql/ha_myisam.cc:
  update handler::info interface to return int
sql/examples/ha_archive.cc:
  update handler::info interface to return int
sql/examples/ha_archive.h:
  update handler::info interface to return int
sql/examples/ha_example.cc:
  update handler::info interface to return int
sql/examples/ha_example.h:
  update handler::info interface to return int
sql/examples/ha_tina.cc:
  update handler::info interface to return int
sql/examples/ha_tina.h:
  update handler::info interface to return int
sql/ha_myisam.h:
  update handler::info interface to return int
sql/ha_myisammrg.cc:
  update handler::info interface to return int
sql/ha_myisammrg.h:
  update handler::info interface to return int
sql/ha_ndbcluster.cc:
  update handler::info interface to return int
sql/ha_ndbcluster.h:
  update handler::info interface to return int
sql/handler.h:
  update handler::info interface to return int
sql/opt_sum.cc:
  If we get an error when using handler::info to get count(*),
  print and return the error.
sql/sql_select.cc:
  if error, set fatal error.
2006-08-10 22:55:20 +08:00
unknown
f5340f8c7d Merge bodhi.local:/opt/local/work/mysql-5.0-root
into  bodhi.local:/opt/local/work/mysql-5.0-runtime


sql/ha_ndbcluster.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/sql_update.cc:
  Manual merge.
2006-07-07 22:09:43 +04:00
unknown
685ccf85d4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/mysql-5.0-bg18437-3


mysql-test/t/federated.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/r/federated.result:
  Manual merge.
2006-07-06 14:31:32 +04:00
unknown
19096dc0c4 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main


sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
2006-07-04 12:47:07 +02:00
unknown
8597f66348 Bug #20784 Uninitialized memory in update on table with PK not on first column
- partial backport of code from 5.1, do cot compare_record for engines that do not read all columns during update
2006-07-04 11:43:06 +02:00
unknown
ae9724cce1 Fix for bug#18437 "Wrong values inserted with a before update trigger on
NDB table".

SQL-layer was not marking fields which were used in triggers as such. As
result these fields were not always properly retrieved/stored by handler
layer. So one might got wrong values or lost changes in triggers for NDB,
Federated and possibly InnoDB tables.
This fix solves the problem by marking fields used in triggers
appropriately.

Also this patch contains the following cleanup of ha_ndbcluster code:

We no longer rely on reading LEX::sql_command value in handler in order
to determine if we can enable optimization which allows us to handle REPLACE
statement in more efficient way by doing replaces directly in write_row()
method without reporting error to SQL-layer.
Instead we rely on SQL-layer informing us whether this optimization
applicable by calling handler::extra() method with
HA_EXTRA_WRITE_CAN_REPLACE flag.
As result we no longer apply this optimzation in cases when it should not
be used (e.g. if we have on delete triggers on table) and use in some
additional cases when it is applicable (e.g. for LOAD DATA REPLACE).

Finally this patch includes fix for bug#20728 "REPLACE does not work
correctly for NDB table with PK and unique index".
  
This was yet another problem which was caused by improper field mark-up.
During row replacement fields which weren't explicity used in REPLACE
statement were not marked as fields to be saved (updated) so they have
retained values from old row version. The fix is to mark all table
fields as set for REPLACE statement. Note that in 5.1 we already solve
this problem by notifying handler that it should save values from all
fields only in case when real replacement happens.


include/my_base.h:
  Added HA_EXTRA_WRITE_CAN_REPLACE, HA_EXTRA_WRITE_CANNOT_REPLACE - new
  parameters for ha_extra() method. We use them to inform handler that
  write_row() which tries to insert new row into the table and encounters
  some already existing row with same primary/unique key can replace old
  row with new row instead of reporting error.
mysql-test/r/federated.result:
  Additional test for bug#18437 "Wrong values inserted with a before update
  trigger on NDB table".
mysql-test/r/ndb_replace.result:
  Added test for bug #20728 "REPLACE does not work correctly for NDB table
  with PK and unique index". Updated wrong results from older test.
mysql-test/t/federated.test:
  Additional test for bug#18437 "Wrong values inserted with a before update
  trigger on NDB table".
mysql-test/t/ndb_replace.test:
  Added test for bug #20728 "REPLACE does not work correctly for NDB table
  with PK and unique index".
sql/ha_ndbcluster.cc:
  We no longer rely on reading LEX::sql_command value in handler in order
  to determine if we can enable optimization which allows us to handle REPLACE
  statement in more efficient way by doing replaces directly in write_row()
  method without reporting error to SQL-layer.
  Instead we rely on SQL-layer informing us whether this optimization
  applicable by calling handler::extra() method with
  HA_EXTRA_WRITE_CAN_REPLACE flag.
  As result we no longer apply this optimization in cases when it should not
  be used (e.g. if we have on delete triggers on table) and use in some
  additional cases when it is applicable (e.g. for LOAD DATA REPLACE).
sql/item.cc:
  Item_trigger_field::setup_field():
    Added comment explaining why we don't set Field::query_id in this method.
sql/mysql_priv.h:
  mysql_alter_table() function no longer takes handle_duplicates argument.
  Added declaration of mark_fields_used_by_triggers_for_insert_stmt() function.
sql/sql_delete.cc:
  Mark fields which are used by ON DELETE triggers so handler will retrieve
  values for these fields.
sql/sql_insert.cc:
  Explicitly inform handler that we are doing REPLACE (using ha_extra() method)
  in cases when it can promote insert operation done by write_row() to replace.
  Also when we do REPLACE we want to store values for all columns so we should
  inform handler about it.
  Finally we should mark fields used by ON UPDATE/ON DELETE triggers as such
  so handler can properly retrieve/restore values in these fields during
  execution of REPLACE and INSERT ... ON DUPLICATE KEY UPDATE statements.
sql/sql_load.cc:
  Explicitly inform handler that we are doing LOAD DATA REPLACE (using
  ha_extra() method) in cases when it can promote insert operation done by
  write_row() to replace.
  Also when we do replace we want to save (replace) values for all columns
  so we should inform handler about it.
  Finally to properly execute LOAD DATA for table with triggers we should
  mark fields used by ON INSERT triggers as such so handler can properly
  store values for these fields.
sql/sql_parse.cc:
  mysql_alter_table() function no longer takes handle_duplicates argument.
sql/sql_table.cc:
  Got rid of handle_duplicates argument in mysql_alter_table() and
  copy_data_between_tables() functions. These functions were always
  called with handle_duplicates == DUP_ERROR and thus contained dead
  (and probably incorrect) code.
sql/sql_trigger.cc:
  Added Table_triggers_list::mark_fields_used() method which is used to mark
  fields read/set by triggers as such so handlers will be able properly
  retrieve/store values in these fields.
sql/sql_trigger.h:
  Table_triggers_list:
    Added mark_fields_used() method which is used to mark fields read/set by
    triggers as such so handlers will be able properly retrieve/store values
    in these fields. To implement this method added 'trigger_fields' member
    which is array of lists linking items for all fields used in triggers
    grouped by event and action time.
sql/sql_update.cc:
  Mark fields which are used by ON UPDATE triggers so handler will retrieve
  and save values for these fields.
mysql-test/r/ndb_trigger.result:
  Added test for bug#18437 "Wrong values inserted with a before update trigger
  on NDB table".
mysql-test/t/ndb_trigger.test:
  Added test for bug#18437 "Wrong values inserted with a before update trigger
  on NDB table".
2006-07-02 01:51:10 +04:00
unknown
0bbc6fbeb7 After merge fixes
BitKeeper/etc/ignore:
  added scripts/mysql_upgrade_shell
include/my_handler.h:
  my_handler.h should not include my_global.h
mysql-test/r/key.result:
  Update results after merge
2006-06-30 20:07:33 +03:00
unknown
9606675ba2 Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0


libmysql/libmysql.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/t/key.test:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/key.result:
  Manual merge
mysql-test/t/mysqldump.test:
  Manual merge
  (Now we have same code as in 4.1 and 5.1)
sql/ha_ndbcluster.cc:
  Manual merge
  Change %ll -> llstr()
tests/mysql_client_test.c:
  manual merge
2006-06-30 19:15:18 +03:00
unknown
e410532ae1 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-30 16:26:33 +02:00
unknown
437afbfda8 adopted ndb handler code for tables without primary key and with unique index
- added missing retrieval of hidden primary key
2006-06-30 16:25:07 +02:00
unknown
c5ed64a416 Don't read ~/.my.cnf in mysqldump.test
heap/hp_test1.c:
  Changed type from last commit
mysql-test/mysql-test-run.sh:
  Fixed problem with running with --gdb and two masters
  Don't disable ndb becasue we run gdb
mysql-test/t/mysqldump.test:
  Don't read ~/.my.cnf
sql/ha_ndbcluster.cc:
  Portability fix
2006-06-30 04:10:27 +03:00
unknown
7bc46be138 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main
into  poseidon.ndb.mysql.com:/home/tomas/5.0-merge


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-30 00:02:17 +02:00
unknown
e6297be853 Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-29 22:54:49 +02:00
unknown
d6fe37ae70 corrected merge error 2006-06-29 22:11:29 +02:00
unknown
92695055ff Merge poseidon.ndb.mysql.com:/home/tomas/mysql-5.0
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0-main


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-29 21:07:07 +02:00
unknown
a47d61723f Merge poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.0


sql/ha_ndbcluster.cc:
  manual merge
2006-06-29 21:05:43 +02:00