summaryrefslogtreecommitdiff
path: root/mysql-test/t/sp_trans.test
Commit message (Collapse)AuthorAgeFilesLines
* Create 'main' test directory and move 't' and 'r' thereMichael Widenius2018-03-291-707/+0
|
* MDEV-6066: Merge new defaults from 5.6 and 5.7 (defaults changed, QC can be ↵Oleksandr Byelkin2015-09-041-0/+2
| | | | stopped with no-zero size)
* manual mergeTatjana Azundris Nuernberg2011-08-081-0/+33
|\
| * Bug#11758414/Bug#50614: Default storage_engine not honored when set from ↵Tatjana Azundris Nuernberg2011-07-121-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | within a stored procedure When CREATE TABLE wasn't given ENGINE=... it would determine the default ENGINE at parse-time rather than at execution time, leading to incorrect behaviour (namely, later changes to the default engine being ignore) when calling CREATE TABLE from a stored procedure. We now defer working out the default engine till execution of CREATE TABLE. mysql-test/r/sp_trans.result: results! mysql-test/t/sp_trans.test: Show that CREATE TABLE (called from store routine) heeds any changes after CREATE SP / parse-time. Show that explicitly requesting an ENGINE still works. sql/sql_parse.cc: If no ENGINE=... was given at parse-time, determine default engine at execution time of CREATE TABLE. sql/sql_yacc.yy: If CREATE TABLE is not given ENGINE=..., don't bother figuring out the default engine during parsing; we'll do it at execution time instead to be aware of the latest updates.
* | Bug#49938: Failing assertion: inode or deadlock in fsp/fsp0fsp.cDavi Arnaut2010-10-061-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#54678: InnoDB, TRUNCATE, ALTER, I_S SELECT, crash or deadlock - Incompatible change: truncate no longer resorts to a row by row delete if the storage engine does not support the truncate method. Consequently, the count of affected rows does not, in any case, reflect the actual number of rows. - Incompatible change: it is no longer possible to truncate a table that participates as a parent in a foreign key constraint, unless it is a self-referencing constraint (both parent and child are in the same table). To work around this incompatible change and still be able to truncate such tables, disable foreign checks with SET foreign_key_checks=0 before truncate. Alternatively, if foreign key checks are necessary, please use a DELETE statement without a WHERE condition. Problem description: The problem was that for storage engines that do not support truncate table via a external drop and recreate, such as InnoDB which implements truncate via a internal drop and recreate, the delete_all_rows method could be invoked with a shared metadata lock, causing problems if the engine needed exclusive access to some internal metadata. This problem originated with the fact that there is no truncate specific handler method, which ended up leading to a abuse of the delete_all_rows method that is primarily used for delete operations without a condition. Solution: The solution is to introduce a truncate handler method that is invoked when the engine does not support truncation via a table drop and recreate. This method is invoked under a exclusive metadata lock, so that there is only a single instance of the table when the method is invoked. Also, the method is not invoked and a error is thrown if the table is a parent in a non-self-referencing foreign key relationship. This was necessary to avoid inconsistency as some integrity checks are bypassed. This is inline with the fact that truncate is primarily a DDL operation that was designed to quickly remove all data from a table. mysql-test/suite/innodb/t/innodb-truncate.test: Add test cases for truncate and foreign key checks. Also test that InnoDB resets auto-increment on truncate. mysql-test/suite/innodb/t/innodb.test: FK is not necessary, test is related to auto-increment. Update error number, truncate is no longer invoked if table is parent in a FK relationship. mysql-test/suite/innodb/t/innodb_mysql.test: Update error number, truncate is no longer invoked if table is parent in a FK relationship. Use delete instead of truncate, test is used to check the interaction of FKs, triggers and delete. mysql-test/suite/parts/inc/partition_check.inc: Fix typo. mysql-test/suite/sys_vars/t/foreign_key_checks_func.test: Update error number, truncate is no longer invoked if table is parent in a FK relationship. mysql-test/t/mdl_sync.test: Modify test case to reflect and ensure that truncate takes a exclusive metadata lock. mysql-test/t/trigger-trans.test: Update error number, truncate is no longer invoked if table is parent in a FK relationship. sql/ha_partition.cc: Reorganize the various truncate methods. delete_all_rows is now passed directly to the underlying engines, so as truncate. The code responsible for truncating individual partitions is moved to ha_partition::truncate_partition, which is invoked when a ALTER TABLE t1 TRUNCATE PARTITION p statement is executed. Since the partition truncate no longer can be invoked via delete, the bitmap operations are not necessary anymore. The explicit reset of the auto-increment value is also removed as the underlying engines are now responsible for reseting the value. sql/handler.cc: Wire up the handler truncate method. sql/handler.h: Introduce and document the truncate handler method. It assumes certain use cases of delete_all_rows. Add method to retrieve the list of foreign keys referencing a table. Method is used to avoid truncating tables that are parent in a foreign key relationship. sql/share/errmsg-utf8.txt: Add error message for truncate and FK. sql/sql_lex.h: Introduce a flag so that the partition engine can detect when a partition is being truncated. Used to give a special error. sql/sql_parse.cc: Function mysql_truncate_table no longer exists. sql/sql_partition_admin.cc: Implement the TRUNCATE PARTITION statement. sql/sql_truncate.cc: Change the truncate table implementation to use the new truncate handler method and to not rely on row-by-row delete anymore. The truncate handler method is always invoked with a exclusive metadata lock. Also, it is no longer possible to truncate a table that is parent in some non-self-referencing foreign key. storage/archive/ha_archive.cc: Rename method as the description indicates that in the future this could be a truncate operation. storage/blackhole/ha_blackhole.cc: Implement truncate as no operation for the blackhole engine in order to remain compatible with older releases. storage/federated/ha_federated.cc: Introduce truncate method that invokes delete_all_rows. This is required to support partition truncate as this form of truncate does not implement the drop and recreate protocol. storage/heap/ha_heap.cc: Introduce truncate method that invokes delete_all_rows. This is required to support partition truncate as this form of truncate does not implement the drop and recreate protocol. storage/ibmdb2i/ha_ibmdb2i.cc: Introduce truncate method that invokes delete_all_rows. This is required to support partition truncate as this form of truncate does not implement the drop and recreate protocol. storage/innobase/handler/ha_innodb.cc: Rename delete_all_rows to truncate. InnoDB now does truncate under a exclusive metadata lock. Introduce and reorganize methods used to retrieve the list of foreign keys referenced by a or referencing a table. storage/myisammrg/ha_myisammrg.cc: Introduce truncate method that invokes delete_all_rows. This is required in order to remain compatible with earlier releases where truncate would resort to a row-by-row delete.
* | BUG#50670: Slave stops with error code 1644Sven Sandberg2010-04-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clarified error messages related to unsafe statements: - avoid the internal technical term "row injection" - use 'binary log' instead of 'binlog' - avoid the word 'unsafeness' mysql-test/extra/binlog_tests/blackhole.test: updated suppression pattern mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_binlog_max_cache_size.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_insert_id.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_loaddata.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_mixing_engines.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_start_stop_slave.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_stm_000001.test: updated suppression pattern mysql-test/extra/rpl_tests/rpl_stop_middle_group.test: updated suppression pattern mysql-test/r/archive.result: updated result file mysql-test/r/commit_1innodb.result: updated result file mysql-test/r/ctype_cp932_binlog_stm.result: updated result file mysql-test/r/partition_innodb_stmt.result: updated result file mysql-test/suite/binlog/r/binlog_innodb.result: updated result file mysql-test/suite/binlog/r/binlog_killed.result: updated result file mysql-test/suite/binlog/r/binlog_multi_engine.result: updated result file mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result: updated result file mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result: updated result file mysql-test/suite/binlog/r/binlog_stm_blackhole.result: updated result file mysql-test/suite/binlog/r/binlog_stm_do_db.result: updated result file mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result: updated result file mysql-test/suite/binlog/r/binlog_stm_ps.result: updated result file mysql-test/suite/binlog/r/binlog_stm_row.result: updated result file mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result: updated result file mysql-test/suite/binlog/r/binlog_unsafe.result: updated result file mysql-test/suite/binlog/t/binlog_killed.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_multi_engine.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_statement_insert_delayed.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_stm_ps.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_stm_row.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_tmp_table.test: updated suppression pattern mysql-test/suite/binlog/t/binlog_unsafe.test: updated suppression pattern mysql-test/suite/ndb/r/ndb_binlog_format.result: updated result file mysql-test/suite/ndb/t/ndb_binlog_format.test: updated suppression pattern mysql-test/suite/perfschema/r/binlog_stmt.result: updated result file mysql-test/suite/perfschema/t/binlog_stmt.test: updated suppression pattern mysql-test/suite/rpl/r/rpl_begin_commit_rollback.result: updated result file mysql-test/suite/rpl/r/rpl_blackhole.result: updated result file mysql-test/suite/rpl/r/rpl_concurrency_error.result: updated result file mysql-test/suite/rpl/r/rpl_get_lock.result: updated result file mysql-test/suite/rpl/r/rpl_insert_id.result: updated result file mysql-test/suite/rpl/r/rpl_insert_ignore.result: updated result file mysql-test/suite/rpl/r/rpl_misc_functions.result: updated result file mysql-test/suite/rpl/r/rpl_mixed_binlog_max_cache_size.result: updated result file mysql-test/suite/rpl/r/rpl_mixed_mixing_engines.result: updated result file mysql-test/suite/rpl/r/rpl_mysql_upgrade.result: updated result file mysql-test/suite/rpl/r/rpl_non_direct_mixed_mixing_engines.result: updated result file mysql-test/suite/rpl/r/rpl_non_direct_row_mixing_engines.result: updated result file mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result: updated result file mysql-test/suite/rpl/r/rpl_nondeterministic_functions.result: updated result file mysql-test/suite/rpl/r/rpl_read_only.result: updated result file mysql-test/suite/rpl/r/rpl_row_binlog_max_cache_size.result: updated result file mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result: updated result file mysql-test/suite/rpl/r/rpl_row_mixing_engines.result: updated result file mysql-test/suite/rpl/r/rpl_slow_query_log.result: updated result file mysql-test/suite/rpl/r/rpl_sp.result: updated result file mysql-test/suite/rpl/r/rpl_stm_000001.result: updated result file mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result: updated result file mysql-test/suite/rpl/r/rpl_stm_binlog_max_cache_size.result: updated result file mysql-test/suite/rpl/r/rpl_stm_loadfile.result: updated result file mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: updated result file mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result: updated result file mysql-test/suite/rpl/r/rpl_stm_stop_middle_group.result: updated result file mysql-test/suite/rpl/r/rpl_temp_temporary.result: updated result file mysql-test/suite/rpl/r/rpl_variables_stm.result: updated result file mysql-test/suite/rpl/t/rpl000013.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_begin_commit_rollback.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_blackhole.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_concurrency_error.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_err_ignoredtable.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_get_lock.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_insert.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_insert_id.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_insert_ignore.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_invoked_features.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_misc_functions.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_mixed_bit_pk.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_mysql_upgrade.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_nondeterministic_functions.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_optimize.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_read_only.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_semi_sync.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_semi_sync_event.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_session_var.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_slow_query_log.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_sp.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_stm_found_rows.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_stm_insert_delayed.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_stm_loadfile.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_temp_table.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_temp_temporary.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_temporary.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_timezone.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_trigger.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_udf.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_user_variables.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_variables_stm.test: updated suppression pattern mysql-test/suite/rpl/t/rpl_view_multi.test: updated suppression pattern mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result: updated result file mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test: updated suppression pattern mysql-test/suite/rpl_ndb/t/rpl_ndb_stm_innodb.test: updated suppression pattern mysql-test/suite/sys_vars/t/rpl_init_slave_func.test: updated suppression pattern mysql-test/t/archive.test: updated suppression pattern mysql-test/t/commit_1innodb.test: updated suppression pattern mysql-test/t/create_select_tmp.test: updated suppression pattern mysql-test/t/ctype_cp932_binlog_stm.test: updated suppression pattern mysql-test/t/lock_sync.test: updated suppression pattern mysql-test/t/mysqlbinlog.test: updated suppression pattern mysql-test/t/mysqldump.test: updated suppression pattern mysql-test/t/sp_trans.test: updated suppression pattern sql/log_event.cc: Clarified error message. sql/share/errmsg-utf8.txt: Clarified error messages.
* | merge mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-mergeAlfranio Correia2010-01-071-0/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Text conflict in .bzr-mysql/default.conf Text conflict in mysql-test/extra/rpl_tests/rpl_loaddata.test Text conflict in mysql-test/r/mysqlbinlog2.result Text conflict in mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result Text conflict in mysql-test/suite/binlog/r/binlog_unsafe.result Text conflict in mysql-test/suite/rpl/r/rpl_insert_id.result Text conflict in mysql-test/suite/rpl/r/rpl_loaddata.result Text conflict in mysql-test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result Text conflict in mysql-test/suite/rpl/r/rpl_udf.result Text conflict in mysql-test/suite/rpl/t/rpl_slow_query_log.test Text conflict in sql/field.h Text conflict in sql/log.cc Text conflict in sql/log_event.cc Text conflict in sql/log_event_old.cc Text conflict in sql/mysql_priv.h Text conflict in sql/share/errmsg.txt Text conflict in sql/sp.cc Text conflict in sql/sql_acl.cc Text conflict in sql/sql_base.cc Text conflict in sql/sql_class.h Text conflict in sql/sql_db.cc Text conflict in sql/sql_delete.cc Text conflict in sql/sql_insert.cc Text conflict in sql/sql_lex.cc Text conflict in sql/sql_lex.h Text conflict in sql/sql_load.cc Text conflict in sql/sql_table.cc Text conflict in sql/sql_update.cc Text conflict in sql/sql_view.cc Conflict adding files to storage/innobase. Created directory. Conflict because storage/innobase is not versioned, but has versioned children. Versioned directory. Conflict adding file storage/innobase. Moved existing file to storage/innobase.moved. Conflict adding files to storage/innobase/handler. Created directory. Conflict because storage/innobase/handler is not versioned, but has versioned children. Versioned directory. Contents conflict in storage/innobase/handler/ha_innodb.cc
| * \ mergin 5.1 -> rep+2 -> rep+3. create_table_from_dump issue will be merged on ↵Andrei Elkin2009-11-301-1/+1
| |\ \ | | | | | | | | | | | | the next step
| * \ \ Manual merge 5.1-rep+2 to 5.1-rep+3He Zhenxing2009-10-181-0/+4
| |\ \ \ | | | |/ | | |/|
| * | | post-merge fixes to make tests pass after merging BUG#39934 to 5.1-rep+3.Sven Sandberg2009-09-301-0/+2
| |/ /
* | | Manual resolving for the following filesAndrei Elkin2009-12-011-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Text conflict in mysql-test/collections/default.experimental Text conflict in mysql-test/r/show_check.result Text conflict in mysql-test/r/sp-code.result Text conflict in mysql-test/suite/binlog/r/binlog_tmp_table.result Text conflict in mysql-test/suite/rpl/t/disabled.def Text conflict in mysql-test/t/show_check.test Text conflict in mysys/my_delete.c Text conflict in sql/item.h Text conflict in sql/item_cmpfunc.h Text conflict in sql/log.cc Text conflict in sql/mysqld.cc Text conflict in sql/repl_failsafe.cc Text conflict in sql/slave.cc Text conflict in sql/sql_parse.cc Text conflict in sql/sql_table.cc Text conflict in sql/sql_yacc.yy Text conflict in storage/myisam/ha_myisam.cc Corrected results for stm_auto_increment_bug33029.reject 2009-12-01 20:01:49.000000000 +0300 <andrei> @@ -42,9 +42,6 @@ <andrei> RETURN i; <andrei> END// <andrei> CALL p1(); <andrei> -Warnings: <andrei> -Note 1592 Statement may not be safe to log in statement format. <andrei> -Note 1592 Statement may not be safe to log in statement format. There should be indeed no Note present because there is in fact autoincrement top-level query in sp() that triggers inserting in yet another auto-inc table. (todo: alert DaoGang to improve the test).
| * | BUG#48048: Deprecated constructs need removal in BetonyLuis Soares2009-11-041-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTE: Backport of: bzr log -r revid:sp1r-serg@sergbook.mysql.com-20070505200319-38337 ------------------------------------------------------------ revno: 2469.263.4 committer: serg@sergbook.mysql.com timestamp: Sat 2007-05-05 13:03:19 -0700 message: Removing deprecated features: --master-XXX command-line options log_bin_trust_routine_creators table_type BACKUP TABLE ... RESTORE TABLE ... SHOW PLUGIN LOAD TABLE ... FROM MASTER LOAD DATA FROM MASTER SHOW INNODB STATUS SHOW MUTEX STATUS SHOW TABLE TYPES ... TIMESTAMP(N) ... TYPE=engine RESET SLAVE don't reset connection parameters anymore LOAD DATA: check opt_secure_file_priv before access(filename) improved WARN_DEPRECATED macro
* | Bug #35877 Update .. WHERE with function, constraint violation, crash Jon Olav Hauglid2009-10-121-0/+38
|/ | | | | | | | | Unable to reproduce crash with current version of the 5.5.0 codebase. Test case for MyISAM/InnoDB based on the bug rapport added to sp_trans.test. Backport of revno: 2617.65.9.
* Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-buildunknown2007-06-151-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/51 configure.in: Auto merged BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42: Auto merged mysql-test/extra/binlog_tests/binlog.test: Auto merged mysql-test/extra/binlog_tests/blackhole.test: Auto merged mysql-test/extra/binlog_tests/ctype_cp932_binlog.test: Auto merged mysql-test/extra/binlog_tests/ctype_ucs_binlog.test: Auto merged mysql-test/extra/binlog_tests/drop_temp_table.test: Auto merged mysql-test/extra/binlog_tests/insert_select-binlog.test: Auto merged mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Auto merged mysql-test/include/mix1.inc: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/binlog_stm_binlog.result: Auto merged mysql-test/r/binlog_stm_mix_innodb_myisam.result: Auto merged mysql-test/r/have_log_bin.require: Auto merged mysql-test/t/flush_block_commit_notembedded.test: Auto merged mysql-test/t/insert_update.test: Auto merged mysql-test/t/mysqlbinlog-cp932.test: Auto merged mysql-test/t/mysqlbinlog2.test: Auto merged mysql-test/t/mysqldump.test: Auto merged mysql-test/t/ps.test: Auto merged mysql-test/t/sp_trans.test: Auto merged sql/handler.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged mysql-test/r/date_formats.result: Use local mysql-test/r/partition.result: SCCS merged mysql-test/t/date_formats.test: Use local mysql-test/t/ndb_basic.test: manual merge mysql-test/t/partition.test: manual merge mysql-test/t/user_var-binlog.test: use local
| * Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-nnunknown2007-05-311-0/+1
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-work-nn mysql-test/t/mysqlbinlog.test: Auto merged mysql-test/t/mysqltest.test: Auto merged mysql-test/t/sp_trans.test: Auto merged mysql-test/t/user_var-binlog.test: Auto merged BitKeeper/deleted/.del-ctype_cp932_notembedded.test~3047e508460cef42: Auto merged mysql-test/extra/binlog_tests/blackhole.test: Auto merged mysql-test/extra/binlog_tests/ctype_cp932_binlog.test: Auto merged mysql-test/extra/binlog_tests/ctype_ucs_binlog.test: Auto merged mysql-test/extra/binlog_tests/drop_temp_table.test: Auto merged mysql-test/extra/binlog_tests/insert_select-binlog.test: Auto merged mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Auto merged mysql-test/extra/binlog_tests/binlog.test: needs no change in 5.1 as it is in a separate folder mysql-test/r/binlog_stm_mix_innodb_myisam.result: needs regeneration mysql-test/t/mysqlbinlog-cp932.test: needs no change because already has dependency on binlog format mysql-test/t/mysqlbinlog2.test: needs no change because already has dependency on binlog format
| | * some test cases cannot run with --skip-log-binunknown2007-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/mix_innodb_myisam_binlog.result: have_log_bin.inc increases transaction count by onw mysql-test/t/binlog.test: test obviously requires binlog mysql-test/t/blackhole.test: test requires binlog for now mysql-test/t/ctype_cp932_binlog.test: test requires binlog mysql-test/t/ctype_cp932_notembedded.test: test requires binlog for now mysql-test/t/ctype_ucs_binlog.test: test requires binlog mysql-test/t/drop_temp_table.test: test requires binlog for now mysql-test/t/flush_block_commit_notembedded.test: test requires binlog for now mysql-test/t/insert_select-binlog.test: test requires binlog mysql-test/t/mix_innodb_myisam_binlog.test: test requires binlog mysql-test/t/mysqlbinlog-cp932.test: test requires binlog mysql-test/t/mysqlbinlog.test: test requires binlog mysql-test/t/mysqlbinlog2.test: test requires binlog mysql-test/t/mysqltest.test: test requires binlog for now mysql-test/t/sp_trans.test: test requires binlog for now mysql-test/t/user_var-binlog.test: test requires binlog for now
| | * Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF()unknown2007-03-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | removing test host sensitive stuff for pushbuild mysql-test/r/sp_trans.result: results changed, will be changed again after bug#23333 fixed mysql-test/t/sp_trans.test: replacing sensitive stuff
| | * Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF() unknown2007-03-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eliminating the unnecessary option; and replacing site-dependant stuff in the test mysql-test/r/sp_trans.result: results changed, will be changed again after bug#23333 fixed mysql-test/t/sp_trans.test: replacing sensitive stuff sql/mysql_priv.h: removal, as part of Bug#27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF()
| | * Bug #27395 OPTION_STATUS_NO_TRANS_UPDATE is not preserved at the end of SF()unknown2007-03-231-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit was not restored at the end of SF() invocation, where SF() modified non-ta table. As the result of this artifact it was not possible to detect whether there were any side-effects when top-level query ends. If the top level query table was not modified and the bit is lost there would be no binlogging. Fixed with preserving the bit inside of thd->no_trans_update struct. The struct agregates two bool flags telling whether the current query and the current transaction modified any non-ta table. The flags stmt, all are dropped at the end of the query and the transaction. mysql-test/r/sp_trans.result: results will be changed once again after bug#23333 will be fixed. mysql-test/t/sp_trans.test: regression test added sql/ha_ndbcluster.cc: replacing thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit and bool thd->no_trans_update with thd->no_trans_update as struct sql/handler.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/log.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/set_var.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sp_head.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_class.h: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_delete.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_insert.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_load.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_parse.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_table.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools. sql/sql_update.cc: replacing operations with thd->options' OPTION_STATUS_NO_TRANS_UPDATE bit with the member thd->no_trans_update.all; converting thd->no_trans_update into struct of bools.
* | | Bug #28842 Different 'duplicate key' error code between 5.0 and 5.1unknown2007-06-061-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch for WL 1563 added a new duplicate key error message so that the key name could be provided instead of the key number. But the error code for the new message was used even though that did not need to change. This could cause unnecessary problems for applications that used the old ER_DUP_ENTRY error code to detect duplicate key errors. mysql-test/t/auto_increment.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/create.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/create_select_tmp.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ctype_ucs2_def.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ctype_utf8.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/delayed.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/heap.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/heap_btree.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/heap_hash.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/innodb.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/insert_select.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/insert_update.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/join_outer.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/key.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/merge.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/myisam.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_basic.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_charset.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_index_unique.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_insert.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_replace.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/ndb_update.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/replace.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_err_ignoredtable.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_ndb_do_table.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_row_create_table.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/rpl_sp.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/show_check.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp-error.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp_trans.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/sp_trans_log.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/temp_table.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_binary.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_bit.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_bit_innodb.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_blob.test: Update ER_DUP_ENTRY-related error message values mysql-test/t/type_varchar.test: Update ER_DUP_ENTRY-related error message values mysql-test/r/create.result: Update ER_DUP_ENTRY-related error message values mysql-test/r/rpl_sp.result: Update ER_DUP_ENTRY-related error message values mysql-test/r/sp.result: Update ER_DUP_ENTRY-related error message values mysql-test/include/mix1.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/mix2.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/ps_modify.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/query_cache.inc: Update ER_DUP_ENTRY-related error message values mysql-test/include/varchar.inc: Update ER_DUP_ENTRY-related error message values mysql-test/extra/binlog_tests/insert_select-binlog.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_auto_increment.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_foreign_key.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_insert_delayed.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_insert_id.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_loaddata.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_row_basic.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: Update ER_DUP_ENTRY-related error message values mysql-test/extra/rpl_tests/rpl_trig004.test: Update ER_DUP_ENTRY-related error message values sql/handler.cc: Restore use of ER_DUP_ENTRY error code even when ER_DUP_ENTRY_WITH_KEY_NAME error message is being used. (Bug #28842)
* | Give warnings for unused objectsunknown2007-01-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed error message to be compatible with old error file Added new error message for new DUP_ENTRY syntax BUILD/SETUP.sh: Give warnings for unused objects mysql-test/extra/binlog_tests/insert_select-binlog.test: Changed to use new error message mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_auto_increment.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_foreign_key.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_insert_id.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_insert_id_pk.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_loaddata.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_row_basic.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_stm_EE_err2.test: Changed to use new error message mysql-test/extra/rpl_tests/rpl_trig004.test: Changed to use new error message mysql-test/include/mix1.inc: Changed to use new error message mysql-test/include/mix2.inc: Changed to use new error message mysql-test/include/ps_modify.inc: Changed to use new error message mysql-test/include/query_cache.inc: Changed to use new error message mysql-test/include/varchar.inc: Changed to use new error message mysql-test/r/create.result: Changed to use new error message mysql-test/r/rpl_sp.result: Changed to use new error message mysql-test/r/sp.result: Changed to use new error message mysql-test/r/view.result: Changed to use new error message mysql-test/t/auto_increment.test: Changed to use new error message mysql-test/t/create.test: Changed to use new error message mysql-test/t/create_select_tmp.test: Changed to use new error message mysql-test/t/ctype_utf8.test: Changed to use new error message mysql-test/t/delayed.test: Changed to use new error message mysql-test/t/heap.test: Changed to use new error message mysql-test/t/heap_btree.test: Changed to use new error message mysql-test/t/heap_hash.test: Changed to use new error message mysql-test/t/innodb.test: Changed to use new error message mysql-test/t/insert_select.test: Changed to use new error message mysql-test/t/insert_update.test: Changed to use new error message mysql-test/t/join_outer.test: Changed to use new error message mysql-test/t/key.test: Changed to use new error message mysql-test/t/merge.test: Changed to use new error message mysql-test/t/myisam.test: Changed to use new error message mysql-test/t/ndb_charset.test: Changed to use new error message mysql-test/t/ndb_index_unique.test: Changed to use new error message mysql-test/t/ndb_insert.test: Changed to use new error message mysql-test/t/ndb_replace.test: Changed to use new error message mysql-test/t/ndb_update.test: Changed to use new error message mysql-test/t/replace.test: Changed to use new error message mysql-test/t/rpl_err_ignoredtable.test: Changed to use new error message mysql-test/t/rpl_row_create_table.test: Changed to use new error message mysql-test/t/rpl_skip_error-slave.opt: Changed to use new error message mysql-test/t/rpl_sp.test: Changed to use new error message mysql-test/t/show_check.test: Changed to use new error message mysql-test/t/sp-error.test: Changed to use new error message mysql-test/t/sp.test: Changed to use new error message mysql-test/t/sp_trans.test: Changed to use new error message mysql-test/t/temp_table.test: Changed to use new error message mysql-test/t/type_binary.test: Changed to use new error message mysql-test/t/type_bit.test: Changed to use new error message mysql-test/t/type_bit_innodb.test: Changed to use new error message mysql-test/t/type_blob.test: Changed to use new error message mysql-test/t/type_varchar.test: Changed to use new error message mysql-test/t/view.test: Changed to use new error message sql/handler.cc: ER_DUP_ENTRY -> ER_DUP_ENTRY_WITH_KEY_NAME sql/share/errmsg.txt: Changed error message to be compatible with old error file Added new error message for new DUP_ENTRY syntax sql/sql_table.cc: ER_DUP_ENTRY -> ER_DUP_ENTRY_WITH_KEY_NAME sql-bench/example: Example file for how to run tests
* | Move test that requires innodb to sp_transunknown2006-05-181-0/+39
|/
* Bug#10656 Stored Procedure - Create index and Truncate table command errorunknown2006-03-091-0/+134
| | | | | | | | | | | | | | | | | -Add test case Move testcase that needs innodb from sp.test => sp_trans.test mysql-test/r/sp.result: Move test cases tyhat requires innodb to sp_trans.test mysql-test/r/sp_trans.result: Move test cases tyhat requires innodb to sp_trans.test Add test case for bug#10656 mysql-test/t/sp.test: Move test cases tyhat requires innodb to sp_trans.test mysql-test/t/sp_trans.test: Add test case for bug#10656 Move test cases that require innodb to sp_trans.test
* Fixed BUG#15866: Thread stack limit insufficient for recursive call "fib(20)"unknown2006-01-191-1/+1
| | | | | | | | | | | | | | | Lowered the parameter to 10, and also renamed non-standard table names to t3. mysql-test/r/sp.result: Updated results. mysql-test/r/sp_trans.result: Updated results. mysql-test/t/sp.test: Renamed fac, primes and fib tables to t3. Lowered fib() test parameter to 10 (20 hit the stack overrun check on some machines). mysql-test/t/sp_trans.test: Added drop of t3 for safety. (Might be left from sp.test after certain test failures.)
* Fixed BUG#13729 Stored procedures: packet error after exception handledunknown2005-11-231-0/+64
| | | | | | | | | | | | | | | | Don't set thd->is_fatal_error in sql_update for duplicate key errors. mysql-test/r/sp.result: New test case for BUG#13729. mysql-test/r/sp_trans.result: New test case for BUG#14840. mysql-test/t/sp.test: New test case for BUG#13729. mysql-test/t/sp_trans.test: New test case for BUG#14840. sql/sql_update.cc: Don't set thd->is_fatal_error if it's a duplicate key error.
* Fix for bug #13825 "Triggers: crash if release savepoint" and for generalunknown2005-11-191-0/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handling of savepoints in stored routines. Fixed ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint() functions to properly handle savepoints inside of stored functions and triggers. Also now when we invoke stored function or trigger we create new savepoint level. We destroy it at the end of function/trigger execution and return back to old savepoint level. mysql-test/r/sp_trans.result: Added test for bug #13825 "Triggers: crash if release savepoint" and for general handling of savepoints in stored routines. mysql-test/t/sp_trans.test: Added test for bug #13825 "Triggers: crash if release savepoint" and for general handling of savepoints in stored routines. sql/ha_innodb.cc: innobase_savepoint(): Replaced check which always failed due to similar check in caller with assertion. sql/handler.cc: ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint(): Changed functions to properly support handling of savepoints inside of stored functions and triggers. sql/sql_class.cc: THD::reset_sub_statement_state()/restore_sub_statement_state(): When we invoke stored function or trigger we should create new savepoint level. We should destroy it at the end of function/trigger execution and return back to old savepoint level. To support this behavior we should save and reset list of current savepoints on entering function and restore old list when we leave it. sql/sql_class.h: Sub_statement_state: When we invoke stored function or trigger we should create new savepoint level. We should destroy it at the end of function/trigger execution and return back to old savepoint level. To support this behavior added "savepoint" member which is used to save/restore list of current savepoints on entering/leaving function. sql/sql_parse.cc: mysql_execute_command(): Changed processing of SQLCOM_SAVEPOINT so now it is not ignored when we are in autocommit mode and savepoint is set inside of stored function or trigger.
* Merge mysql.com:/home/bkroot/mysql-5.0 into mysql.com:/home/bk/mysql-5.0unknown2005-06-071-5/+1
|\ | | | | | | | | | | | | | | | | mysql-test/r/sp_trans.result: Auto merged mysql-test/t/sp_trans.test: Auto merged sql/sql_parse.cc: Auto merged
| * BUG#6883: Merge fixes unknown2005-06-071-5/+1
| | | | | | | | | | | | | | | | | | | | | | mysql-test/r/innodb.result: Minor fixes mysql-test/r/rpl_ddl.result: Merge fixes mysql-test/r/sp_trans.result: TRUNCATE now makes implicit commit mysql-test/t/sp_trans.test: No error since we have inplicit commit
* | Fix for bug #10015 "Crash in InnoDB if stored routines are used".unknown2005-06-071-0/+144
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should not allow explicit or implicit transaction commits inside of stored functions or triggers (so in autocommit mode we should not do commits after execution of sub-statement). Also since we don't support nested statement transactions in 5.0, we shouldn't commit or rollback stmt transactions while we are inside stored functions or triggers. This should be fixed in later (>=5.1) releases. mysql-test/r/sp_trans.result: Added test for bug #10015 "Crash in InnoDB if stored routines are used" and for general transaction handling inside of functions. mysql-test/t/sp_trans.test: Added test for bug #10015 "Crash in InnoDB if stored routines are used" and for general transaction handling inside of functions. sql/handler.cc: ha_trans_commit()/ha_trans_rollback(): Since we don't support nested statement transactions in 5.0, we can't commit or rollback stmt transactions while we are inside stored functions or triggers. So we simply do nothing now. This should be fixed in later ( >= 5.1) releases. sql/item_func.cc: Item_func_sp::execute(): Set THD::transaction.in_sub_stmt flag to TRUE during stored function execution to prevent commits and rollbacks for statement level transactions, since doing them will ruin such transaction for stateemtn which calls this function. sql/share/errmsg.txt: Added error message which says that statements doing explicit or implicit commits are disallowed in triggers and stored functions. sql/sql_base.cc: close_thread_tables(): Clarified comment about committing of statement transactions in prelocked mode. sql/sql_class.h: THD::transaction: Added in_sub_stmt method which indicates that we are executing statements from trigger or stored function now, and thus statement transaction belongs to statement which invoked this routine and we should not commit or rollback it while executing these sub-statements. sql/sql_parse.cc: end_active_trans()/begin_trans()/end_trans(): We should not commit or rollback global (non-stmt) transaction if we are executing stored function or trigger. These checks will catch situation when we are trying to do commit or rollback in stored procedure which is called from function or trigger. sql/sql_trigger.h: Table_triggers_list::process_triggers(): Set THD::transaction.in_sub_stmt flag to TRUE during trigger execution to prevent commits and rollbacks for statement level transactions, since doing them will ruin such transaction for stateemtn which invokes this trigger. sql/sql_yacc.yy: Prohibited usage of statements which do explicit or implicit commit or rollback inside of stored functions and triggers.
* Did some SP test style changes and added explanatory comments,unknown2005-03-181-15/+26
| | | | | | | | | | | | | | | | | | | and removed a have_innodb.inc inclusion which was left by mistake in an earlier change. mysql-test/r/sp_trans.result: Changed procedure name and delimiter setting to follow the style of the other SP test files. mysql-test/t/sp-error.test: Added comment with hint for bug test case style. mysql-test/t/sp-threads.test: Added comments, with hint for bug test case style. mysql-test/t/sp.test: Removed have_innodb.inc inclusion. Added comments about different SP test files, table usage and hint for bug test case style. mysql-test/t/sp_trans.test: Changed procedure name and delimiter setting to follow the style of the other SP test files.
* sp.test, sp.result:unknown2005-03-171-0/+35
transactional test removed sp_trans.test, sp_trans.result: new file mysql-test/r/sp.result: transactional test removed mysql-test/t/sp.test: transactional test removed