mariadb/mysql-test/suite/parts/inc/partition_trigg3.inc
unknown 0a9e4c79d4 Fixes for the bugs
Bug#31610 Remove outdated and redundant tests:
                 partition_02myisam partition_03ndb
       Bug#32405 testsuite parts: partition_char_myisam wrong content
and cleanup of testsuite
   - remove/correct wrong comments
   - remove workarounds for fixed bugs
   - replace error numbers with error names
   - exclude subtests from execution which fail now because of
     new limitations for partitioning functions
   - remove code for the no more intended dual use
     fast test in regression tests/slow test in testsuite
   - analyze and fix problems with partition_char_innodb
   - fix problems caused by last change of error numbers
   - Introduce error name to error number mapping which makes
     maintenance after next error renumbering easier


BitKeeper/deleted/.del-partition_03ndb.result:
  Rename: mysql-test/suite/ndb/r/partition_03ndb.result -> BitKeeper/deleted/.del-partition_03ndb.result
BitKeeper/deleted/.del-partition_03ndb.test:
  Rename: mysql-test/suite/ndb/t/partition_03ndb.test -> BitKeeper/deleted/.del-partition_03ndb.test
BitKeeper/deleted/.del-partition_1.inc:
  Rename: mysql-test/include/partition_1.inc -> BitKeeper/deleted/.del-partition_1.inc
BitKeeper/deleted/.del-partition_02myisam.result:
  Rename: mysql-test/r/partition_02myisam.result -> BitKeeper/deleted/.del-partition_02myisam.result
BitKeeper/deleted/.del-partition_02myisam.test:
  Rename: mysql-test/t/partition_02myisam.test -> BitKeeper/deleted/.del-partition_02myisam.test
BitKeeper/deleted/.del-partition_char_myisam.result:
  Rename: mysql-test/suite/parts/r/partition_char_myisam.result -> BitKeeper/deleted/.del-partition_char_myisam.result
mysql-test/suite/parts/inc/methods1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/part_blocked_sql_funcs_main.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/part_supported_sql_funcs_delete.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/part_supported_sql_funcs_main.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition.pre:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_10.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_11.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_12.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_20.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter2.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter3.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter4.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter_1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter_11.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter_13.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_alter_41.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_basic.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_binary.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_bit.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_blob.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_char.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_check.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_check_drop.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_check_read.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_check_read1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_check_read2.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_cleanup.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_directory.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_engine.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_enum.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_layout.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_layout_check1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_layout_check2.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_methods1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_methods2.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_set.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_supported_sql_funcs.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_syntax.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_syntax_1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_syntax_2.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_text.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_trigg1.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_trigg2.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_trigg3.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_value.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_varbinary.inc:
  Fixes + cleanup
mysql-test/suite/parts/inc/partition_varchar.inc:
  Fixes + cleanup
mysql-test/suite/parts/r/partition_alter1_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_alter1_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_alter2_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_alter2_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_alter3_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_alter3_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_alter4_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_alter4_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_basic_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_basic_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_bit_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_char_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_datetime_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_decimal_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_engine_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_engine_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_float_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_float_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_int_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_special_myisam.result:
  Updated result
mysql-test/suite/parts/r/partition_syntax_innodb.result:
  Updated result
mysql-test/suite/parts/r/partition_syntax_myisam.result:
  Updated result
mysql-test/suite/parts/t/disabled.def:
  Fixes + cleanup
mysql-test/suite/parts/t/part_blocked_sql_func_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/part_blocked_sql_func_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/part_supported_sql_func_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/part_supported_sql_func_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/part_supported_sql_func_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter1_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter1_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter1_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter2_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter2_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter2_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter3_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter3_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter4_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_alter4_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_basic_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_basic_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_basic_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_bit_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_bit_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_bit_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_char_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_char_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_datetime_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_datetime_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_decimal_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_decimal_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_engine_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_engine_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_engine_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_float_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_float_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_int_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_int_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_int_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_special_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_special_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_syntax_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_syntax_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_syntax_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_value_innodb.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_value_myisam.test:
  Fixes + cleanup
mysql-test/suite/parts/t/partition_value_ndb.test:
  Fixes + cleanup
mysql-test/suite/parts/r/partition_char_myisam.result:
  Updated result
  bk rm + new file is caused by bk complaining about filetype
2007-11-20 16:04:07 +01:00

69 lines
3.2 KiB
PHP

################################################################################
# inc/partition_trigg3.inc #
# #
# Purpose: #
# Auxiliary script, only useful when sourced by inc/partition_check.inc. #
# The trigger uses new values (--> event UPDATE, INSERT only) #
# #
# 1. Create a trigger #
# 2. Execute a statement, which activates the trigger #
# 3. Check the results of the trigger activity #
# 4. Revert the modifications #
# #
#------------------------------------------------------------------------------#
# Original Author: mleich #
# Original Date: 2006-03-05 #
# Change Author: #
# Change Date: #
# Change: #
################################################################################
delimiter |;
# Original version of the trigger
# eval CREATE TRIGGER trg_3 $event ON t1 FOR EACH ROW
# BEGIN
# SET @counter = 1;
# SET @my_max1 = 0, @my_max2 = 0;
# SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
# SET new.f_int1 = @my_max1 + @counter,
# new.f_int2 = @my_min2 - @counter,
# new.f_charbig = '####updated per insert trigger####';
# SET @counter = @counter + 1;
# END|
#
# Bug/currently undocumented limitation:
# 17704: Triggers: MAX, Insert select with several rows, strange error
# "A trigger can not access (not even read data) the table it's defined for."
#
eval CREATE TRIGGER trg_3 $event ON t1 FOR EACH ROW
BEGIN
SET new.f_int1 = @my_max1 + @counter,
new.f_int2 = @my_min2 - @counter,
new.f_charbig = '####updated per insert trigger####';
SET @counter = @counter + 1;
END|
delimiter ;|
# Additional statements because of Bug(limitation)#17704
SET @counter = 1;
# Bug#18730 Partitions: NDB, crash on SELECT MIN(<unique column>)
SELECT MAX(f_int1), MIN(f_int2) INTO @my_max1,@my_min2 FROM t1;
# Additional statements end
eval $statement;
DROP TRIGGER trg_3;
# Check of preceding statement via Select
if ($no_debug)
{
--disable_query_log
}
# We insert records around max_row_div2 !
eval SELECT '# check trigger-$num success: ' AS "", COUNT(*) = 3 AS "" FROM t1
WHERE f_int1 = CAST(f_char1 AS SIGNED INT) + @max_row_div2 + 2
AND f_int2 = - CAST(f_char1 AS SIGNED INT) + @max_row_div2 - 1
AND f_charbig = '####updated per insert trigger####';
--enable_query_log
# Revert the changes
eval DELETE FROM t1
WHERE f_int1 <> CAST(f_char1 AS SIGNED INT)
AND f_int2 <> CAST(f_char1 AS SIGNED INT)
AND f_charbig = '####updated per insert trigger####';
inc $num;