summaryrefslogtreecommitdiff
path: root/mysql-test/r/trigger.result
Commit message (Collapse)AuthorAgeFilesLines
* Create 'main' test directory and move 't' and 'r' thereMichael Widenius2018-03-291-2417/+0
|
* System Versioning 1.0 pre3Aleksey Midenkov2017-12-111-0/+17
|\ | | | | | | Merge branch '10.3' into trunk
| * Merge bb-10.2-ext into 10.3Marko Mäkelä2017-11-301-0/+17
| |\
| | * Merge remote-tracking branch 'origin/10.2' into bb-10.2-extAlexander Barkov2017-11-291-0/+17
| | |\
| | | * Merge branch '10.1' into 10.2Sergei Golubchik2017-11-211-0/+17
| | | |\
| | | | * MDEV-13936: Server crashes in Time_and_counter_tracker::incr_loopsOleksandr Byelkin2017-11-141-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | Repeat reworked solution of procedures for all posible Sp (functions & triggers).
* | | | | Tests: better 'near' place fixAleksey Midenkov2017-11-171-1/+1
|/ / / / | | | | | | | | | | | | Related to ecde299c3b7afd71f16181b6bd0bc8dda31fad5f
* | | | Merge remote-tracking branch 'shagalla/10.3-mdev12172' into 10.3Igor Babaev2017-11-011-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | As a result of this merge the code for the following tasks appears in 10.3: - MDEV-12172 Implement tables specified by table value constructors - MDEV-12176 Transform [NOT] IN predicate with long list of values INTO [NOT] IN subquery.
| * | | trigger.result correctedGalina Shalygina2017-10-301-1/+1
| | | |
* | | | Merge remote-tracking branch 'origin/10.2' into bb-10.2-extAlexander Barkov2017-06-151-0/+10
|\ \ \ \ | | |/ / | |/| |
| * | | Fixed the bug mdev12992.Igor Babaev2017-06-101-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the SELECT query from a trigger that used a subquery in its SELECT list was prepared the counter select_n_having_items was incremented in the constructor Item::Item(THD *thd). As a result each invocation of the trigger required more and more memory for the ref_pointer_array for this SELECT. Made sure that the counter st_select_lex::select_n_having_items would be incremented only at the first execution of such trigger.
* | | | Improved warning "xxx is not BASE TABLE/SEQUENCE"Monty2017-06-021-1/+1
| |/ / |/| | | | | | | | | | | - Changed warning to "'%-.192s.%-.192s' is not of type '%s'" to make the english a bit more correct
* | | Fixing a bug in the recent commit that added trigger names into error messagesAlexander Barkov2017-04-231-1/+1
| | | | | | | | | | | | | | | Trigger names were erroneously cut to 8 or 4 bytes (on 64 and 32 bit machines). Recording correct tests results.
* | | Fixed some wrong/inconsistent error messageMonty2017-04-191-3/+3
| | | | | | | | | | | | | | | | | | - Added trigger name to "Trigger already exists" error message - Added also missing query name to ER_DUP_QUERY_NAME - Fixed wrong use of MASTER_DELAY_VALUE_OUT_OF_RANGE
* | | MDEV-12461 TYPE OF and ROW TYPE OF anchored data typesAlexander Barkov2017-04-071-0/+20
|/ /
* | MDEV-7635: Update tests to adapt to the new default sql_modeNirbhay Choubey2017-02-101-2/+4
| |
* | Remove end . from error messages to get them consistentMonty2016-10-051-4/+4
| | | | | | | | Fixed a few failing tests
* | MDEV-6112 multiple triggers per tableMonty2016-10-051-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is similar to MysQL Worklog 3253, but with a different implementation. The disk format and SQL syntax is identical with MySQL 5.7. Fetures supported: - "Any" ammount of any trigger - Supports FOLLOWS and PRECEDES to be able to put triggers in a certain execution order. Implementation details: - Class Trigger added to hold information about a trigger. Before this trigger information was stored in a set of lists in Table_triggers_list and in Table_triggers_list::bodies - Each Trigger has a next field that poinst to the next Trigger with the same action and time. - When accessing a trigger, we now always access all linked triggers - The list are now only used to load and save trigger files. - MySQL trigger test case (trigger_wl3253) added and we execute these identically. - Even more gracefully handling of wrong trigger files than before. This is useful if a trigger file uses functions or syntax not provided by the server. - Each trigger now has a "Created" field that shows when the trigger was created, with 2 decimals. Other comments: - Many of the changes in test files was done because of the new "Created" field in the trigger file. This shows up in SHOW ... TRIGGER and when using information_schema.trigger. - Don't check if all memory is released if on uses --gdb; This is needed to be able to get a list from safemalloc of not freed memory while debugging. - Added option to trim_whitespace() to know how many prefix characters was skipped. - Changed a few ulonglong sql_mode to sql_mode_t, to find some wrong usage of sql_mode.
* | MDEV-6720 - enable connection log in mysqltest by defaultSergey Vojtovich2016-03-311-0/+23
|/
* MDEV-8605 MariaDB not use DEFAULT value even when inserted NULL for NOT ↵Sergei Golubchik2015-12-211-1/+3
| | | | | | | | | NULLABLE column NOT NULL constraint must be checked *after* the BEFORE triggers. That is for INSERT and UPDATE statements even NOT NULL fields must be able to store a NULL temporarily at least while BEFORE INSERT/UPDATE triggers are running.
* MDEV-4829 BEFORE INSERT triggers dont issue 1406 error.Alexey Botchkov2015-11-171-0/+15
| | | | Turn the 'abort_on_warning' on for assigning value to fields.
* MDEV-8466 CAST works differently for DECIMAL/INT vs DOUBLE for empty stringsAlexander Barkov2015-09-171-0/+7
| | | | MDEV-8468 CAST and INSERT work differently for DECIMAL/INT vs DOUBLE for a string with trailing spaces
* MDEV-7286 TRIGGER: CREATE OR REPLACE, CREATE IF NOT EXISTSAlexander Barkov2015-03-041-0/+2
| | | | Based on the patch by Sriram Patil, made under terms of GSoC 2014.
* MDEV-5894 MySQL BUG#34750: Print database name in Unknown Table error messageSergei Golubchik2014-03-201-1/+1
|
* MDEV-4332 Increase username length from 16 charactersSergei Golubchik2013-11-031-2/+2
| | | | 10.0 part of the task, fix system tables
* Automatic mergeMichael Widenius2012-09-221-0/+2
|\
| * Fix for MDEV-533: Confusing error code when doing auto-increment insert for ↵Michael Widenius2012-09-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | out-of-range values create table t1 (a smallint primary key auto_increment); insert into t1 values(32767); insert into t1 values(NULL); ERROR 1062 (23000): Duplicate entry '32767' for key 'PRIMARY Now on always gets error HA_ERR_AUTOINC_RANGE=167 "Out of range value for column", independent of store engine, SQL Mode or number of inserted rows. This is an unique error that is easier to test for in replication. Another bug fix is that we now get an error when trying to insert a too big auto-generated value, even in non-strict mode. Before one get insted the max column value inserted. This patch also fixes some issues with inserting negative numbers in an auto-increment column. Fixed the ER_DUP_ENTRY and HA_ERR_AUTOINC_ERANGE are compared the same between master and slave. This ensures that replication works between an old server to a new slave for auto-increment overflow errors. Added SQLSTATE errors for handler errors Smaller bug fixes: * Added warnings for duplicate key errors when using INSERT IGNORE * Fixed bug when using --skip-log-bin followed by --log-bin, which did set log-bin to "0" * Allow one to see how cmake is called by using --just-print --just-configure BUILD/FINISH.sh: --just-print --just-configure now shows how cmake would be invoked. Good for understanding parameters to cmake. cmake/configure.pl: --just-print --just-configure now shows how cmake would be invoked. Good for understanding parameters to cmake. include/CMakeLists.txt: Added handler_state.h include/handler_state.h: SQLSTATE for handler error messages. Required for HA_ERR_AUTOINC_ERANGE, but solves also some other cases. mysql-test/extra/binlog_tests/binlog.test: Fixed old wrong behaviour Added more tests mysql-test/extra/binlog_tests/binlog_insert_delayed.test: Reset binary log to only print what's necessary in show_binlog_events mysql-test/extra/rpl_tests/rpl_auto_increment.test: Update to new error codes mysql-test/extra/rpl_tests/rpl_insert_delayed.test: Ignore warnings as this depends on how the test is run mysql-test/include/strict_autoinc.inc: On now gets an error on overflow mysql-test/r/auto_increment.result: Update results after fixing error message mysql-test/r/auto_increment_ranges_innodb.result: Test new behaviour mysql-test/r/auto_increment_ranges_myisam.result: Test new behaviour mysql-test/r/commit_1innodb.result: Added warnings for duplicate key error mysql-test/r/create.result: Added warnings for duplicate key error mysql-test/r/insert.result: Added warnings for duplicate key error mysql-test/r/insert_select.result: Added warnings for duplicate key error mysql-test/r/insert_update.result: Added warnings for duplicate key error mysql-test/r/mix2_myisam.result: Added warnings for duplicate key error mysql-test/r/myisam_mrr.result: Added warnings for duplicate key error mysql-test/r/null_key.result: Added warnings for duplicate key error mysql-test/r/replace.result: Update to new error codes mysql-test/r/strict_autoinc_1myisam.result: Update to new error codes mysql-test/r/strict_autoinc_2innodb.result: Update to new error codes mysql-test/r/strict_autoinc_3heap.result: Update to new error codes mysql-test/r/trigger.result: Added warnings for duplicate key error mysql-test/r/xtradb_mrr.result: Added warnings for duplicate key error mysql-test/suite/binlog/r/binlog_innodb_row.result: Updated result mysql-test/suite/binlog/r/binlog_row_binlog.result: Out of range data for auto-increment is not inserted anymore mysql-test/suite/binlog/r/binlog_statement_insert_delayed.result: Updated result mysql-test/suite/binlog/r/binlog_stm_binlog.result: Out of range data for auto-increment is not inserted anymore mysql-test/suite/binlog/r/binlog_unsafe.result: Updated result mysql-test/suite/innodb/r/innodb-autoinc.result: Update to new error codes mysql-test/suite/innodb/r/innodb-lock.result: Updated results mysql-test/suite/innodb/r/innodb.result: Updated results mysql-test/suite/innodb/r/innodb_bug56947.result: Updated results mysql-test/suite/innodb/r/innodb_mysql.result: Updated results mysql-test/suite/innodb/t/innodb-autoinc.test: Update to new error codes mysql-test/suite/maria/maria3.result: Updated result mysql-test/suite/maria/mrr.result: Updated result mysql-test/suite/optimizer_unfixed_bugs/r/bug43617.result: Updated result mysql-test/suite/rpl/r/rpl_auto_increment.result: Update to new error codes mysql-test/suite/rpl/r/rpl_insert_delayed,stmt.rdiff: Updated results mysql-test/suite/rpl/r/rpl_loaddatalocal.result: Updated results mysql-test/t/auto_increment.test: Update to new error codes mysql-test/t/auto_increment_ranges.inc: Test new behaviour mysql-test/t/auto_increment_ranges_innodb.test: Test new behaviour mysql-test/t/auto_increment_ranges_myisam.test: Test new behaviour mysql-test/t/replace.test: Update to new error codes mysys/my_getopt.c: Fixed bug when using --skip-log-bin followed by --log-bin, which did set log-bin to "0" sql/handler.cc: Ignore negative values for signed auto-increment columns Always give an error if we get an overflow for an auto-increment-column (instead of inserting the max value) Ensure that the row number is correct for the out-of-range-value error message. ****** Fixed wrong printing of column namn for "Out of range value" errors Fixed that INSERT_ID is correctly replicated also for out-of-range autoincrement values Fixed that print_keydup_error() can also be used to generate warnings ****** Return HA_ERR_AUTOINC_ERANGE (167) instead of ER_WARN_DATA_OUT_OF_RANGE for auto-increment overflow sql/handler.h: Allow INSERT IGNORE to continue also after out-of-range inserts. Fixed that print_keydup_error() can also be used to generate warnings sql/log_event.cc: Added DBUG_PRINT Fixed the ER_AUTOINC_READ_FAILED, ER_DUP_ENTRY and HA_ERR_AUTOINC_ERANGE are compared the same between master and slave. This ensures that replication works between an old server to a new slave for auto-increment overflow errors. sql/sql_insert.cc: Add warnings for duplicate key errors when using INSERT IGNORE sql/sql_state.c: Added handler errors sql/sql_table.cc: Update call to print_keydup_error() storage/innobase/handler/ha_innodb.cc: Fixed increment handling of auto-increment columns to be consistent with rest of MariaDB. storage/xtradb/handler/ha_innodb.cc: Fixed increment handling of auto-increment columns to be consistent with rest of MariaDB.
* | Fixes after Serg's review of %M extenstionsMichael Widenius2012-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Changed output to be error "error-text" instead of error - error-text extra/perror.c: Move my_handler_errors.h into include include/my_handler_errors.h: Move my_handler_errors.h into include mysql-test/r/errors.result: Updated result mysql-test/r/innodb_mysql_sync.result: Updated result mysql-test/r/myisam-system.result: Updated result mysql-test/r/myisampack.result: Updated result mysql-test/r/partition_innodb_plugin.result: Updated result mysql-test/r/ps_1general.result: Updated result mysql-test/r/trigger.result: Updated result mysql-test/r/type_bit.result: Updated result mysql-test/r/type_bit_innodb.result: Updated result mysql-test/r/type_blob.result: Updated result mysql-test/suite/archive/archive.result: Updated result mysql-test/suite/binlog/r/binlog_index.result: Updated result mysql-test/suite/binlog/r/binlog_ioerr.result: Updated result mysql-test/suite/csv/csv.result: Updated result mysql-test/suite/engines/iuds/r/type_bit_iuds.result: Updated result mysql-test/suite/federated/federated_bug_35333.result: Updated result mysql-test/suite/innodb/r/innodb-create-options.result: Updated result mysql-test/suite/innodb/r/innodb-index.result: Updated result mysql-test/suite/innodb/r/innodb-zip.result: Updated result mysql-test/suite/innodb/r/innodb.result: Updated result mysql-test/suite/innodb/r/innodb_bug13635833.result: Updated result mysql-test/suite/innodb/r/innodb_bug21704.result: Updated result mysql-test/suite/innodb/r/innodb_bug46000.result: Updated result mysql-test/suite/parts/r/partition_bit_innodb.result: Updated result mysql-test/suite/parts/r/partition_bit_myisam.result: Updated result mysql-test/suite/percona/percona_innodb_fake_changes.result: Updated result mysql-test/suite/perfschema/r/misc.result: Updated result mysql-test/suite/perfschema/r/privilege.result: Updated result mysql-test/suite/rpl/r/rpl_EE_err.result: Updated result mysql-test/suite/rpl/r/rpl_binlog_errors.result: Updated result mysql-test/suite/rpl/r/rpl_drop_db.result: Updated result sql/share/errmsg-utf8.txt: Removed 'column' from error text that was used in different context strings/my_vsnprintf.c: Move my_handler_errors.h into include Minor cleanups Changed output of %M to be error "error-text" instead of error - error-text unittest/mysys/my_vsnprintf-t.c: Updated error text
* | Added text for errno in error messages by:Michael Widenius2012-05-301-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adding %M my_sprintf() modifier that prints error number - system-error-text - Modified mysys, mysql_client and SQL error messages to use %M instead of %d - Added my_strerror() Updated handler errors to 5.6 error numbers Updated text for a few error messages (to match 5.6) Increased length of command name in error output extra/comp_err.c: Added support for %M include/my_base.h: Updated handler errors to 5.6 error numbers include/my_sys.h: Added my_strerror() libmysql/errmsg.c: Updated error messages to use %M mysql-test/r/errors.result: Updated result as error message have changed mysql-test/r/innodb_mysql_sync.result: Updated result with text for errno mysql-test/r/myisam-system.result: Updated result with text for errno mysql-test/r/myisam.result: Updated result as error message have changed mysql-test/r/myisampack.result: Updated result with text for errno mysql-test/r/mysql.result: Updated result with text for errno mysql-test/r/mysql_upgrade.result: Updated result with text for errno mysql-test/r/partition_datatype.result: Updated result as error message have changed mysql-test/r/partition_innodb_plugin.result: Updated result with text for errno mysql-test/r/ps_1general.result: Updated result with text for errno mysql-test/r/trigger.result: Updated result with text for errno mysql-test/r/type_bit.result: Updated result as error message have changed mysql-test/r/type_bit_innodb.result: Updated result as error message have changed mysql-test/r/type_blob.result: Updated result as error message have changed mysql-test/suite/archive/archive.result: Updated result with text for errno mysql-test/suite/binlog/r/binlog_index.result: Updated result with text for errno mysql-test/suite/binlog/r/binlog_ioerr.result: Updated result with text for errno mysql-test/suite/csv/csv.result: Updated result with text for errno mysql-test/suite/federated/federated_bug_35333.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb-create-options.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb-index.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb-zip.result: Updated result as error message have changed mysql-test/suite/innodb/r/innodb.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb_bug21704.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb_bug46000.result: Updated result with text for errno mysql-test/suite/innodb/r/innodb_bug53591.result: Updated result as error message have changed mysql-test/suite/innodb/r/innodb_corrupt_bit.result: New error numbers mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result: Updated result as error message have changed mysql-test/suite/innodb/t/innodb-create-options.test: Added regexp to avoid system error text mysql-test/suite/innodb/t/innodb-zip.test: Added regexp to avoid system error text mysql-test/suite/maria/maria-recovery2.result: Updated supression rule mysql-test/suite/maria/maria-recovery2.test: Updated supression rule mysql-test/suite/maria/maria.result: Updated result as error message have changed mysql-test/suite/parts/r/partition_bit_innodb.result: Updated result as error message have changed mysql-test/suite/parts/r/partition_bit_myisam.result: Updated result as error message have changed mysql-test/suite/percona/percona_innodb_fake_changes.result: Updated result with text for errno mysql-test/suite/perfschema/r/dml_cond_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_events_waits_current.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_events_waits_history.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_events_waits_history_long.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_ews_by_instance.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_file_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_mutex_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_performance_timers.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_rwlock_instances.result: Updated result as error message have changed mysql-test/suite/perfschema/r/dml_threads.result: Updated result as error message have changed mysql-test/suite/perfschema/r/misc.result: Updated result with text for errno mysql-test/suite/perfschema/r/privilege.result: Updated result with text for errno mysql-test/suite/rpl/r/rpl_EE_err.result: Updated result with text for errno mysql-test/suite/rpl/r/rpl_binlog_errors.result: Updated result with text for errno mysql-test/suite/rpl/r/rpl_drop_db.result: Updated result with text for errno mysys/errors.c: Updated error messages to use %M Changed all errors to use Errcode: consistenly mysys/my_handler_errors.h: Updated handler errors to 5.6 error numbers sql/share/errmsg-utf8.txt: Updated error messages to use %M sql/sys_vars.cc: Added error number to ER_EVENT_SET_VAR_ERROR strings/my_vsnprintf.c: Added %M my_sprintf() modifier that prints error number - system-error-text Simplify code Movied common code to function Removed some casts that was not necessary when reading integer/unsigned int stored in longlong Added my_strerror() unittest/mysys/my_vsnprintf-t.c: Added testing of %M
* 5.3 mergeSergei Golubchik2012-01-131-0/+44
|\
| * Fixed LP bug #910083.Igor Babaev2012-01-021-0/+44
| | | | | | | | | | | | The patch for bug 685411 erroneously removed a call of engine->set_thd() from Item_subselect::fix_fields().
| * Merge with MariaDB 5.1Michael Widenius2011-11-241-3/+1
| |\
| | * Initail merge with MySQL 5.1 (XtraDB still needs to be merged)Michael Widenius2011-11-211-3/+1
| | |\ | | | | | | | | | | | | Fixed up copyright messages.
* | | | after merge changes:Sergei Golubchik2011-12-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rename all debugging related command-line options and variables to start from "debug-", and made them all OFF by default. * replace "MySQL" with "MariaDB" in error messages * "Cast ... converted ... integer to it's ... complement" is now a note, not a warning * @@query_cache_strip_comments now has a session scope, not global.
* | | | 5.3->5.5 mergeSergei Golubchik2011-11-221-1/+19
|\ \ \ \ | |/ / /
| * | | Fixed that when using a trigger mysql.proc is now accessedMichael Widenius2011-10-061-0/+19
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup: Changed procedure type from a int/char to an enum for easier to manage and debug code. mysql-test/r/trigger.result: Test that mysql.proc is not used as part of creating or using a trigger. mysql-test/t/trigger.test: Test that mysql.proc is not used as part of creating or using a trigger. sql/sp.cc: The main bug fix is to not look up triggers in mysql.proc; This is done by ignoreing type == TYPE_ENUM_TRIGGER in sp_add_used_routine() Cleanup: Changed procedure type from a int/char to an enum. sql/sp.h: Cleanup: Changed procedure type from a int/char to an enum. sql/sp_head.h: Cleanup: Changed procedure type from a int/char to an enum. sql/sql_db.cc: Fix include order sql/sql_lex.cc: Fix include order sql/sql_parse.cc: Cleanup: Changed procedure type from a int/char to an enum. sql/sql_show.cc: Fix include order sql/sql_view.cc: Fix include order
* | | 5.5-mergeSergei Golubchik2011-07-021-26/+20
|\ \ \
| * \ \ Manual-merge of patch for bug#11753738 from mysql-5.1 tree.Dmitry Shulga2011-06-101-1/+1
| |\ \ \ | | | |/ | | |/|
| | * | Fixed bug#11753738 (formely known as bug#45235) - 5.1 DOES NOT SUPPORT 5.0-ONLYDmitry Shulga2011-06-101-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SYNTAX TRIGGERS IN ANY WAY Table with triggers which were using deprecated (5.0-only) syntax became unavailable for any DML and DDL after upgrade to 5.1 version of server. Attempt to execute any statement on such a table resulted in parsing error reported. Since this included DROP TRIGGER and DROP TABLE statements (actually, the latter was allowed but was not functioning properly for such tables) it was impossible to fix the problem without manual operations on .TRG and .TRN files in data directory. The problem was that failure to parse trigger body (due to 5.0-only syntax) when opening trigger file for a table prevented the table from being open. This made all operations on the table impossible (except DROP TABLE which due to peculiarity in its implementation dropped the table but left trigger files around). This patch solves this problem by silencing error which occurs when we parse trigger body during table open. Error message is preserved for the future use and table is marked as having a broken trigger. We also try to analyze parse tree to recover trigger name, which will be needed in order to drop the broken trigger. DML statements which invoke triggers on the table marked as having broken trigger are prohibited and emit saved error message. The same happens for DDL which change triggers except DROP TRIGGER and DROP TABLE which try their best to do what was requested. Table becomes no longer marked as having broken trigger when last such trigger is dropped. mysql-test/r/trigger-compat.result: Add results for test case for bug#45235 mysql-test/t/trigger-compat.test: Add test case for bug#45235. sql/sp_head.cc: Added protection against MEM_ROOT double restoring to sp_head::restore_thd_mem_root() method. Since this method can be sometimes called twice during parsing of stored routine (the first time during normal flow of parsing, and the second time when a syntax error is detected) we need to shortcut execution of the method to avoid damaging MEM_ROOT by the second consecutive call to this method. sql/sql_trigger.cc: Added error handler Deprecated_trigger_syntax_handler to catch non-OOM errors during parsing of trigger body. Added handling of parse errors into method Table_triggers_list::check_n_load(). sql/sql_trigger.h: Added new members to handle broken triggers and error messages.
| * | | Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE).Alexander Nozdrin2011-05-091-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempts to assign value to a table column from trigger by using NEW.column_name pseudo-variable might result in garbled data. That happened when: - the column had a BLOB-based type (e.g. TEXT) and - the value being assigned was retrieved from stored routine variable of the same type. The problem was that BLOB values were not copied correctly in this case. Instead of doing a copy of a real value, the value's representation in record buffer was copied. This representation is essentially a pointer to a buffer associated with the virtual table for routine variables where the real value is stored. Since this buffer got freed once trigger was left or could have changed its contents when new value was assigned to corresponding routine variable such a shallow copying resulted in garbled data in NEW.colum_name column. It worked in 5.1 due to a subtle bug in create_virtual_tmp_table(): - in 5.1 create_virtual_tmp_table() returned a table which had db_low_byte_first == false. - in 5.5 and up create_virtual_tmp_table() returns a table which has db_low_byte_first == true. Actually, db_low_byte_first == false only for ISAM storage engine, which was deprecated and removed in 5.0. Having db_low_byte_first == false led to getting false in the complex condition for the 2nd "if" in field_conv(), which in turn led to copy-blob-behavior as a fall-back strategy: - to->table->s->db_low_byte_first was true (correct value) - from->table->s->db_low_byte_first was false (incorrect value) In 5.5 and up that condition is true, which means blob-values are not copied.
| * | | Patch for Bug#11765684 (58674: SP-cache does not detect changes inAlexander Nozdrin2011-03-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pre-locking list caused by triggers). The thing is that CREATE TRIGGER / DROP TRIGGER may actually change pre-locking list of (some) stored routines. The SP-cache does not detect such changes. Thus if sp_head-instance is cached in SP-cache, subsequent executions of the cached sp_head will use inaccurate pre-locking list. The patch is to invalidate SP-cache on CREATE TRIGGER / DROP TRIGGER.
| * | | Patch for Bug#55850 (Trigger warnings not cleared).Alexander Nozdrin2010-10-261-23/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that the warnings risen by a trigger were not cleared upon successful completion. The warnings should be cleared if the trigger completes successfully. The fix is to skip merging warnings into caller's Warning Info for triggers.
* | | | merge.Sergei Golubchik2010-11-251-27/+0
|\ \ \ \ | |/ / / |/| | / | | |/ | |/| | | | checkpoint. does not compile.
| * | 5.1.51 mergeSergei Golubchik2010-10-191-8/+0
| |\ \ | | |/
| | * WL#5370 Keep forward-compatibility when changingunknown2010-08-181-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'CREATE TABLE IF NOT EXISTS ... SELECT' behaviour BUG#55474, BUG#55499, BUG#55598, BUG#55616 and BUG#55777 are fixed in this patch too. This is the 5.1 part. It implements: - if the table exists, binlog two events: CREATE TABLE IF NOT EXISTS and INSERT ... SELECT - Insert nothing and binlog nothing on master if the existing object is a view. It only generates a warning that table already exists. mysql-test/r/trigger.result: Ather this patch, 'CREATE TABLE IF NOT EXISTS ... SELECT' will not insert anything if the creating table already exists and is a view. sql/sql_class.h: Declare virtual function write_to_binlog() for select_insert. It's used to binlog 'create select' sql/sql_insert.cc: Implement write_to_binlog(); Use write_to_binlog() instead of binlog_query() to binlog the statement. if the table exists, binlog two events: CREATE TABLE IF NOT EXISTS and INSERT ... SELECT sql/sql_lex.h: Declare create_select_start_with_brace and create_select_pos. They are helpful for binlogging 'create select' sql/sql_parse.cc: Do nothing on master if the existing object is a view. sql/sql_yacc.yy: Record the relative postion of 'SELECT' in the 'CREATE ...SELECT' statement. Record whether there is a '(' before the 'SELECT' clause.
| * | Merge with MySQL 5.1.47Michael Widenius2010-05-261-0/+23
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | | | | Fixed some bugs introduced in 5.1.47 Disabled some tests until we have merged with latest Xtradb configure.in: Added testing if valgrind/memcheck.h exists storage/pbxt/src/ha_pbxt.cc: LOCK_plugin is not anymore locked in init
| * | Merge MySQL 5.1.46 into MariaDB.unknown2010-04-281-0/+41
| |\ \ | | | | | | | | | | | | Still two test failures to be solved: main.myisam and main.subselect.
| * | | Move test from main.trigger to main.trigger_notembedded, as it now depends ↵unknown2010-01-121-27/+0
| | | | | | | | | | | | | | | | on INFORMATION_SCHEMA.PROCESSLIST (rather than sleeps) to synchronise.
* | | | WL#5370 Keep forward-compatibility when changing unknown2010-08-181-19/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'CREATE TABLE IF NOT EXISTS ... SELECT' behaviour BUG#47132, BUG#47442, BUG49494, BUG#23992 and BUG#48814 will disappear automatically after the this patch. BUG#55617 is fixed by this patch too. This is the 5.5 part. It implements: - 'CREATE TABLE IF NOT EXISTS ... SELECT' statement will not insert anything and binlog anything if the table already exists. It only generate a warning that table already exists. - A couple of test cases for the behavior changing.
* | | | Manual merge of mysql-5.1-bugteam to mysql-trunk-merge.Alexey Kopytov2010-05-091-2/+0
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: Text conflict in mysql-test/r/grant.result Text conflict in mysql-test/t/grant.test Text conflict in mysys/mf_loadpath.c Text conflict in sql/slave.cc Text conflict in sql/sql_priv.h