Commit graph

32652 commits

Author SHA1 Message Date
unknown
600a17635e post-merge fix 2006-03-30 09:13:25 +05:00
unknown
a7431720ce Merge
mysql-test/t/create.test:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/r/create.result:
  SCCS merged
2006-03-30 08:13:28 +05:00
unknown
4d30f784a4 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1


storage/csv/ha_tina.cc:
  Auto merged
2006-03-30 06:11:34 +03:00
unknown
0f3a620ba9 Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into  rurik.mysql.com:/home/igor/dev/mysql-5.1-0


mysql-test/r/loaddata.result:
  Auto merged
mysql-test/r/ndb_read_multi_range.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/loaddata.test:
  Auto merged
mysql-test/t/ndb_read_multi_range.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
storage/ndb/tools/Makefile.am:
  Auto merged
2006-03-29 17:54:01 -08:00
unknown
55e0e30c49 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  xiphis.org:/home/antony/work2/p1-bug18464


configure.in:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/example/Makefile.am:
  Auto merged
2006-03-29 17:31:59 -08:00
unknown
9a02fede24 Fixed bug #18279: crash in the cases when on conditions are moved
out of a nested join to the on conditions for the nest.
The bug happened due to:
1. The function simplify_joins could change on expressions for nested joins.
   Yet modified on expressions were not saved in prep_on_expr.
2. On expressions were not restored for nested joins in 
   reinit_stmt_before_use.


mysql-test/r/join_nested.result:
  Added a test case for bug #18279.
mysql-test/t/join_nested.test:
  Added a test case for bug #18279.
sql/sql_prepare.cc:
  Fixed bug #18279.
  On expressions were not restored for nested joins in 
  reinit_stmt_before_use.
sql/sql_select.cc:
  Fixed bug #18279.
  The function simplify_joins could change on expressions for nested joins.
  Yet modified on expressions were not saved in prep_on_expr.
2006-03-29 16:45:29 -08:00
unknown
a48af9eb2c Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/my/mysql-4.1
2006-03-30 03:32:58 +03:00
unknown
4c0111460b Cleanup during review of new pushed code
sql/ha_heap.cc:
  Indentation fixes
strings/ctype-ucs2.c:
  Simplify code
tests/mysql_client_test.c:
  Remove compiler warnings
2006-03-30 03:11:37 +03:00
unknown
2d6a51b4c8 Fix error in prefix compression of keys in MyISAM when key length changed from 254 -> 255
Bug #17705 "FT Index corruption occurs with UTF8 data..."
(Actually, the bug had nothing to do with FT index but with general key compression)



myisam/mi_search.c:
  Fix error in prefix compression of keys in MyISAM when key length changed from 254 -> 255
mysql-test/r/ctype_utf8.result:
  Test of fix for key compression bug
mysql-test/t/ctype_utf8.test:
  Test of fix for key compression bug
2006-03-30 01:50:52 +03:00
unknown
3479ec3780 mysql-test-run.pl:
Check that port range is valid, bug#16807


mysql-test/mysql-test-run.pl:
  Check that port range is valid, bug#16807
2006-03-30 00:48:46 +02:00
unknown
ba35887247 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1


mysql-test/t/disabled.def:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-03-30 01:21:48 +03:00
unknown
2d8acd2fdc mysqld_safe.sh:
Added --help option, bug#16392
acinclude.m4:
  Use "$shrext_cmds" when testing if shared library exists, bug#16332


acinclude.m4:
  Use "$shrext_cmds" when testing if shared library exists, bug#16332
scripts/mysqld_safe.sh:
  Added --help option, bug#16392
2006-03-29 23:51:23 +02:00
unknown
fa24633f6b Fix for bug#18598 ndb_partition_list 2006-03-29 23:48:35 +02:00
unknown
e7e029a979 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-03-30 00:48:35 +03:00
unknown
d163e78160 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/alexi/mysql-5.1-new
2006-03-30 01:48:34 +04:00
unknown
447c22165f Null-merge 2006-03-30 00:57:27 +04:00
unknown
e672bb7004 Makefile.am:
Use "dist_bin_SCRIPTS" to get a script distributed


ndb/tools/Makefile.am:
  Use "dist_bin_SCRIPTS" to get a script distributed
2006-03-29 22:51:49 +02:00
unknown
92df85b43a Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-03-29 22:34:40 +02:00
unknown
113efc0046 Makefile.am:
Use "dist_bin_SCRIPTS" to get a script distributed


ndb/tools/Makefile.am:
  Use "dist_bin_SCRIPTS" to get a script distributed
2006-03-29 22:33:27 +02:00
unknown
1a60013ff2 configure.in:
Increased version number because of clone-off


configure.in:
  Increased version number because of clone-off
2006-03-29 22:20:16 +02:00
unknown
d9f5fac9ed Fix an -ansi -pedantic compilation failure 2006-03-30 00:20:14 +04:00
unknown
87e9178114 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/opt/local/work/mysql-5.0-15683


sql/sql_load.cc:
  Auto merged
2006-03-30 00:20:13 +04:00
unknown
c5ab0159e1 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0-merge
2006-03-30 00:20:12 +04:00
unknown
5dddbb4a36 Restoring changes erroneously removed by applying
the innodb-5.0-ss368 snapshot.
2006-03-30 00:17:35 +04:00
unknown
4276985534 Restoring changes erroneously removed by applying
the innodb-5.0-ss368 snapshot.
2006-03-30 00:12:55 +04:00
unknown
a02ff019ae Merge monty@192.168.0.9:/my/mysql-5.1
into  mysql.com:/home/my/mysql-5.1


mysql-test/t/disabled.def:
  Auto merged
2006-03-29 23:01:35 +03:00
unknown
3f925ec300 Safety fix to ensure that long event names always ends with \0
This removes a warning about missing DBUG_ENTER while running tests


mysql-test/t/disabled.def:
  Disable test rpl_ndb_multi_update3 that randomly fails on Intel64
2006-03-29 22:58:34 +03:00
unknown
b25315469e Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
it creates the second copy of Item_func_group_concat. This copy receives the
same list of arguments that original group_concat does. When the copy is
set up the result_fields of functions from the argument list are reset to the
temporary table of this copy.
As a result of this action data from functions flow directly to the ROLLUP copy
and the original group_concat functions shows wrong result.
Since queries with COUNT(DISTINCT ...) use temporary tables to store
the results the COUNT function they are also affected by this bug.

The idea of the fix is to copy content of the result_field for the function
under GROUP_CONCAT/COUNT from  the first temporary table to the second one,
rather than setting result_field to point to the second temporary table.
To achieve this goal force_copy_fields flag is added to Item_func_group_concat
and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
into the make_unique() member function of both classes.
To the TMP_TABLE_PARAM structure is modified to include the similar flag as
well.
The create_tmp_table() function passes that flag to create_tmp_field().
When the flag is set the create_tmp_field() function will set result_field
as a source field and will not reset that result field to newly created 
field for Item_func_result_field and its descendants. Due to this there
will be created copy func to copy data from old result_field to newly 
created field.


mysql-test/t/func_gconcat.test:
  Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
mysql-test/r/func_gconcat.result:
  Added test for bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
sql/sql_table.cc:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added 0 as a last parameter to create_tmp_field()  to force old behaviour.
sql/sql_select.cc:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  
  Added the flag 'make_copy_field' to create_tmp_field(), so that for Item_result_field descendants create_tmp_field() sets the item's result field as a source field and deny resetting that result field to a new value.
sql/sql_class.h:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added the flag 'force_copy_fields' to the structure TMP_TABLE_PARAM in order to make create_tmp_field() force the creation of 'copy_field' objects.
sql/mysql_priv.h:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added the bool parameter 'make_copy_field' to create_tmp_field().
sql/item_sum.cc:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added initialization of the force_copy_fields flag and passing it to create_tmp_table() through TMP_TBLE_PARAM in the Item_func_group_concat and Item_sum_count_distinct member functions.
sql/item_sum.h:
  Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
  Added the flag 'force_copy_fields' to the Item_func_group_concat and Item_sum_count_distinct classes.
2006-03-29 23:30:34 +04:00
unknown
20e609d09b Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0-merge
2006-03-29 23:18:44 +04:00
unknown
fd6db50c0b Applied innodb-5.0-ss368 snapshot
Fixed bugs:
  #16814: SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section
    dict_foreign_key_error_report(): Always print a newline after invoking
    dict_print_info_on_foreign_key_in_create_format().
  #16827: Better InnoDB error message if ibdata files omitted from my.cnf.
  #17126: CHECK TABLE on InnoDB causes a short hang during check of adaptive hash.
    CHECK TABLE blocking other queries, by releasing the btr_search_latch
    periodically during the adaptive hash table validation.
  #17405: Valgrind: conditional jump or move depends on uninitialised valuesw.
    buf_block_init(): Reset magic_n, buf_fix_count, and io_fix to avoid testing
    uninitialised variables.
  #18077: InnoDB uses full explicit table locks in stored FUNCTION.
  #18238: When locks exhaust the buffer pool, InnoDB does not roll back the trx.
    Check in pessimistic insert and update if the buffer pool is exhausted by locks.
  #18252: Disk space leaks in updates of InnoDB BLOB rows.
    btr_cur_pessimistic_update(): Invoke rec_get_offset() after rec_set_field_extern_bits().
    btr_store_big_rec_extern_fields(): Note that offsets will no longer be valid
    after calling this function.
  #18283: When InnoDB returns error 'lock table full', MySQL can write to binlog too much.
  #18384: InnoDB memory leak on duplicate key errors if row has many columns.
    row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit if needed.
  #18350: Use consistent read in CREATE ... SELECT .. if innodb_locks_unsafe_for_binlog is used.


innobase/btr/btr0cur.c:
  Applied innodb-5.0-ss368 snapshot
innobase/btr/btr0sea.c:
  Applied innodb-5.0-ss368 snapshot
innobase/buf/buf0buf.c:
  Applied innodb-5.0-ss368 snapshot
innobase/buf/buf0lru.c:
  Applied innodb-5.0-ss368 snapshot
innobase/data/data0type.c:
  Applied innodb-5.0-ss368 snapshot
    dtype_print(): Fix printing of prtype.
innobase/dict/dict0dict.c:
  Applied innodb-5.0-ss368 snapshot
innobase/fil/fil0fil.c:
  Applied innodb-5.0-ss368 snapshot
    fil_extend_space_to_desired_size(): in UNIV_HOTBACKUP builds,
    do not touch srv_data_file_sizes[] or srv_n_data_files.
innobase/ha/ha0ha.c:
  Applied innodb-5.0-ss368 snapshot
innobase/include/btr0cur.h:
  Applied innodb-5.0-ss368 snapshot
innobase/include/buf0lru.h:
  Applied innodb-5.0-ss368 snapshot
innobase/include/ha0ha.h:
  Applied innodb-5.0-ss368 snapshot
innobase/include/page0page.ic:
  Applied innodb-5.0-ss368 snapshot
    Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
innobase/include/univ.i:
  Applied innodb-5.0-ss368 snapshot
    Remove UNIV_RELEASES_NOT_YET_STABLE and related checks.
innobase/row/row0ins.c:
  Applied innodb-5.0-ss368 snapshot
innobase/row/row0sel.c:
  Applied innodb-5.0-ss368 snapshot
    Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
    page_rec_is_comp(): Remove the bounds check.
    row_sel_field_store_in_mysql_format(): Turn the assertions
    on mbminlen, mbmaxlen, and templ->type into debug assertions.
innobase/row/row0upd.c:
  Applied innodb-5.0-ss368 snapshot
mysql-test/t/innodb.test:
  Applied innodb-5.0-ss368 snapshot
sql/ha_innodb.cc:
  Applied innodb-5.0-ss368 snapshot
    Fix memory allocation bug (by changing MY_WME to MY_FAE) in get_share.
    Also partially fix coding style of the function.
2006-03-29 23:04:32 +04:00
unknown
686b42da4d Reverting yesterday's patch. (cmiller:1.2099) 2006-03-29 10:56:11 -05:00
unknown
c819b62bcb Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/gluh/MySQL/Merge/4.1
2006-03-29 19:53:40 +05:00
unknown
4af4e1e704 Fix for bug#15316 SET value having comma not correctly handled
disallow the use of comma in SET members


mysql-test/r/create.result:
  Fix for bug#15316 SET value having comma not correctly handled
   test case
mysql-test/t/create.test:
  Fix for bug#15316 SET value having comma not correctly handled
   test case
2006-03-29 19:52:26 +05:00
unknown
fa65771ed8 Additional 5.0 fix for
Bug#15098: CAST(column double TO signed int), wrong result
which was fixed originally in 4.1.


mysql-test/r/cast.result:
  Fixing test results
sql/field.cc:
  Adding a "truncated value" warning.
2006-03-29 19:31:16 +05:00
unknown
9f6cf5b6cc Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1


mysql-test/r/ndb_condition_pushdown.result:
  Auto merged
mysql-test/t/ndb_condition_pushdown.test:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
2006-03-29 17:28:40 +03:00
unknown
8ac1d55286 Remove compiler warnings
Add missing DBUG_RETURN
Fixed stack overflow in NdbBlob (found by ndb_gis.test)
Fixed access to freed memory in ndb_cluster_real_free_share()


mysys/mf_keycache.c:
  Add missing DBUG_RETURN
sql/ha_ndbcluster.cc:
  Move free_root to after share handling, as otherwise we will free things needed by free_table_share()
sql/item_func.cc:
  Add missing DBUG_RETURN
sql/item_strfunc.cc:
  Add missing DBUG_RETURN
sql/sp_head.cc:
  Add missing DBUG_RETURN
sql/sql_base.cc:
  Add missing DBUG_RETURN
storage/csv/ha_tina.cc:
  Add missing DBUG_RETURN
storage/myisam/mi_key.c:
  Add missing DBUG_RETURN
storage/myisam/mi_keycache.c:
  Add missing DBUG_RETURN
storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp:
  Remove compiler warning
storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
  Remove compiler warning
storage/ndb/include/transporter/TransporterDefinitions.hpp:
  Remove compiler warning
storage/ndb/include/util/SimpleProperties.hpp:
  Remove compiler warning
storage/ndb/include/util/SocketServer.hpp:
  Remove compiler warning
storage/ndb/src/ndbapi/ClusterMgr.hpp:
  Remove compiler warning
storage/ndb/src/ndbapi/NdbBlob.cpp:
  Fix stack overflow
storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp:
  Remove compiler warning
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Remove compiler warning
2006-03-29 17:04:00 +03:00
unknown
b002c11756 Merged. 2006-03-29 15:45:23 +02:00
unknown
d300487f70 Add substitutions for .ini files. 2006-03-29 15:39:53 +02:00
unknown
16fa54bf74 Merge
sql/field.cc:
  Auto merged
2006-03-29 15:05:06 +02:00
unknown
0fb36d1b1e mysql_config.sh:
If installed, search built in lib path first, bug#13158


scripts/mysql_config.sh:
  If installed, search built in lib path first, bug#13158
2006-03-29 14:59:53 +02:00
unknown
cc85b178af Makefile.am:
Added "ndb_error_reporter" script, bug#18421


ndb/tools/Makefile.am:
  Added "ndb_error_reporter" script, bug#18421
2006-03-29 14:18:29 +02:00
unknown
42750573d5 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-03-29 14:08:13 +02:00
unknown
d800af4bf8 Makefile.am:
Install "ndb_size.pl" script and template, bug#18421


ndb/tools/Makefile.am:
  Install "ndb_size.pl" script and template, bug#18421
2006-03-29 14:07:13 +02:00
unknown
a754f1befd Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/cps/mysql/devel/5.1-repair-csv
2006-03-29 15:41:13 +04:00
unknown
41e110f777 fix test in --ps-protocol mode
mysql-test/t/csv.test:
  fix test. In --ps-protocol mode warnings are eaten by the test suite.
  Disable ps-protocol mode for the statements, which throw the warnings
  we look for.
2006-03-29 15:37:42 +04:00
unknown
59eaf292de Fixed compiler and valgrind warnings
Added missing DBUG_xxx_RETURN statements
Fixed some usage of not initialized variables (as found by valgrind)
Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
This will allow Tomas to continue with his work to use namelocks to syncronize things.

Note: valgrind still produces a lot of warnings about using not initialized code and shows memory loss errors when running the ndb tests


BitKeeper/etc/ignore:
  added mysql-test/r/*.log
client/mysqltest.c:
  Change type of variables to get rid of compiler warnings
  More debugging
  Fix memory leak
mysql-test/mysql-test-run.sh:
  Collect warnings about missing DBUG_RETURN statements
mysql-test/r/lock_multi.result:
  Add test of new code
mysql-test/r/ndb_condition_pushdown.result:
  Drop used tables before test
mysql-test/t/lock_multi.test:
  Add test of new code
mysql-test/t/ndb_condition_pushdown.test:
  Drop used tables before test
mysql-test/valgrind.supp:
  Ignore 'safe' warnings from libz (when used with archive)
sql/event.cc:
  More comments
  Simplify code
  Fixed memory leak found by valgrind
sql/ha_archive.cc:
  Remove compiler warnings (Wrong handlerton structure and signed/unsigned comparison)
sql/ha_berkeley.cc:
  Fixed compiler warning
sql/ha_blackhole.cc:
  Fixed compiler warning
sql/ha_federated.cc:
  Fixed compiler warning
sql/ha_heap.cc:
  Fixed compiler warning
sql/ha_myisam.cc:
  Fixed compiler warning
sql/ha_myisammrg.cc:
  Fixed compiler warning
sql/ha_ndbcluster.cc:
  Fixed compiler warnings
sql/ha_partition.cc:
  Fixed compiler warning
  Fixed error noticed by valgrind in ha_partition::rnd_init()
sql/handler.cc:
  Fixed compiler warning
sql/handler.h:
  Fixed compiler warning
sql/item.cc:
  Fixed compiler warning
sql/item_xmlfunc.cc:
  Fixed warning from valgrind when calling memcpy with wrong address
sql/lock.cc:
  More debugging
sql/log.cc:
  Fixed compiler warning
  Indentation fixes
sql/log.h:
  Fixed compiler warning
sql/mysql_priv.h:
  Changed prototype for 'drop_locked_tables'
sql/opt_range.cc:
  Indentation fix
sql/password.c:
  Removed compiler warnings
sql/set_var.cc:
  Fixed compiler warning
sql/slave.cc:
  Fixed compiler warning
sql/sp_head.cc:
  Fixed compiler warning
sql/sql_acl.cc:
  Fixed compiler warning
sql/sql_analyse.cc:
  Added missing DBUG_RETURN statements
sql/sql_base.cc:
  Removed de-reference of not initialized pointer
  More comments
  drop_locked_tables() changed to not delete tables used for name locking
  Fixed compiler warnings
sql/sql_delete.cc:
  Fixed usage of not initialized variable
  (deleted could be referenced in some not common error conditions)
sql/sql_parse.cc:
  Added missing DBUG_VOID_RETURN
  Simplify code
sql/sql_partition.cc:
  Fixed usage of wrong variable (noticed by valgrind)
sql/sql_plugin.cc:
  Removed compiler warning
sql/sql_show.cc:
  Removed compiler warning
sql/sql_table.cc:
  Ensure that we don't remove locked tables used as name locks from open table cache until unlock_table_names() are called.
  This was fixed by having drop_locked_name() returning any table used as a name lock so that we can free it in unlock_table_names()
  This will allow Tomas to continue with his work to use namelocks to syncronize things.
  
  Fixed wrong test of 'table_type' (path_length could otherwise be accessed uninitialized)
  
  Remove compile warnings about not initialized variables.
sql/sql_yacc.yy:
  Ensure that no_write_to_binlog is properly initialized
  (Was accessed uninitialized by partition code)
sql/table.cc:
  Removed valgrind warnings (not fatal)
  Removed compiler warnings
sql/tztime.cc:
  Removed valgrind warning
storage/ndb/include/ndbapi/NdbIndexStat.hpp:
  Removed compiler warning
2006-03-29 14:27:36 +03:00
unknown
af74454572 Added more debugging printouts 2006-03-29 13:13:39 +02:00
unknown
1b45888854 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/mysql-5.0-bg17764


mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-03-29 14:55:04 +04:00
unknown
1d166b1760 Proposed fix for bug #17764 "Trigger crashes MyISAM table"
A table with an on insert trigger was reported as crashed when the insert
was processed with bulk insert mode on (handler::start_bulk_insert).
The trigger was also selecting from the same table, and that caused
the "crash".
The same problem was present when an insert statement, which was processed
in bulk mode, also used a stored function that was reading the same table.

This fix disables bulk inserts if a statement uses functions or invokes
triggers. Implementing more granular checks will require much more code and
therefore can hardly be done in 5.0


mysql-test/r/trigger.result:
  Added test bug #17764 "Trigger crashes MyISAM table".
mysql-test/t/trigger.test:
  Added test bug #17764 "Trigger crashes MyISAM table".
sql/sql_insert.cc:
  We should not start bulk inserts for INSERT (or similar) statement if it uses
  functions or invokes triggers since they may access to the same table and
  therefore should not see its inconsistent state created by this optimization.
sql/sql_load.cc:
  We should not start bulk inserts for INSERT (or similar) statement if it uses
  functions or invokes triggers since they may access to the same table and
  therefore should not see its inconsistent state created by this optimization.
2006-03-29 14:53:00 +04:00
unknown
734eda5f25 Manual merge
mysql-test/mysql-test-run.pl:
  Merge
sql/mysqld.cc:
  Merge
2006-03-29 12:09:37 +02:00