[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.22.68.238: ~ $
# Tests which involve triggers and NDB storage engine
--source include/have_multi_ndb.inc
--source include/not_embedded.inc

# 
# Test for bug#18437 "Wrong values inserted with a before update
# trigger on NDB table". SQL-layer didn't properly inform handler
# about fields which were read and set in triggers. In some cases 
# this resulted in incorrect (garbage) values of OLD variables and
# lost changes to NEW variables.
# You can find similar tests for ON INSERT triggers in federated.test
# since this engine so far is the only engine in MySQL which cares
# about field mark-up during handler::write_row() operation.
#

--disable_warnings
connection server2;
drop table if exists t1, t2, t3, t4, t5;
flush status;
connection server1;
drop table if exists t1, t2, t3, t4, t5;
flush status;
--enable_warnings

create table t1 (id int primary key, a int not null, b decimal (63,30) default 0) engine=ndb;
create table t2 (op char(1), a int not null, b decimal (63,30)) engine=ndb;
create table t3  engine=ndb select 1 as i;
create table t4 (a int not null primary key, b int) engine=ndb;
create table t5 (a int not null primary key, b int) engine=ndb;

delimiter //;
create trigger t1_bu before update on t1 for each row
begin
  insert into t2 values ("u", old.a, old.b);
  set new.b = old.b + 10;
end;//
create trigger t1_bd before delete on t1 for each row
begin
  insert into t2 values ("d", old.a, old.b);
end;//
create trigger t4_au after update on t4
  for each row begin
   update t5 set b = b+1;
  end;
//
create trigger t4_ad after delete on t4
  for each row begin
    update t5 set b = b+1;
  end;
//
delimiter ;//

insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (3, 3, 3.05), (4, 4, 4.05);
insert into t4 values (1,1), (2,2), (3,3), (4, 4);
insert into t5 values (1,0);

# Check that usual update works as it should
update t1 set a=5 where a != 3;
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t2;
# Check that everything works for multi-update
update t1, t3 set a=6 where a = 5;
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t2;
# Check for delete
delete from t1 where a != 3;
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t2;
# Check for multi-delete
insert into t1 values (1, 1, 1.05), (2, 2, 2.05), (4, 4, 4.05);
delete t1 from t1, t3 where a != 3;
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t2;
# Check for insert ... on duplicate key update
insert into t1 values (4, 4, 4.05);
insert into t1 (id, a) values (4, 1), (3, 1) on duplicate key update a= a + 1;
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t2;
# Check for insert ... select ... on duplicate key update
delete from t3;
insert into t3 values (4), (3);
insert into t1 (id, a) (select i, 1 from t3) on duplicate key update a= a + 1;
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t2;
# Check for replace
replace into t1 (id, a) values (4, 1), (3, 1);
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t1;
delete from t2;
# Check for replace ... select ...
insert into t1 values (3, 1, 1.05), (4, 1, 2.05);
replace into t1 (id, a) (select i, 2 from t3);
select * from t1 order by id;
select * from t2 order by op, a, b;
delete from t1;
delete from t2;
# Check for load data replace
insert into t1 values (3, 1, 1.05), (5, 2, 2.05);
load data infile '../../../std_data/loaddata5.dat' replace into table t1 fields terminated by '' enclosed by '' ignore 1 lines (id, a);
select * from t1 order by id;
select * from t2 order by op, a, b;
update t4 set b = 10 where a = 1;
select * from t5 order by a;
update t5 set b = 0;
delete from t4 where a = 1;
select * from t5 order by a;
drop trigger t4_au;
drop trigger t4_ad;

drop table t1, t2, t3, t4, t5;
# Test for bug#26242
# Verify that AFTER UPDATE/DELETE triggers are executed
# after the change has actually taken place

CREATE TABLE t1 (
  id INT NOT NULL PRIMARY KEY,
  xy INT
) ENGINE=ndbcluster;

INSERT INTO t1 VALUES (1, 0);

DELIMITER //;
CREATE TRIGGER t1_update AFTER UPDATE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id = NEW.id; END //
DELIMITER ;//

CREATE TABLE t2 (
  id INT NOT NULL PRIMARY KEY,
  xy INT
) ENGINE=ndbcluster;

INSERT INTO t2 VALUES (2, 0);

CREATE TABLE t3 (id INT NOT NULL PRIMARY KEY) ENGINE=ndbcluster;

INSERT INTO t3 VALUES (1);

CREATE TABLE t4 LIKE t1;

DELIMITER //;
CREATE TRIGGER t4_update AFTER UPDATE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id = NEW.id; END //
DELIMITER ;//

CREATE TABLE t5 LIKE t2;

UPDATE t1 SET xy = 3 WHERE id = 1;
SELECT xy FROM t1 where id = 1;
SELECT xy FROM t2 where id = 1;

UPDATE t1 SET xy  = 4 WHERE id IN (SELECT id FROM t3 WHERE id = 1);
SELECT xy FROM t1 where id = 1;
SELECT xy FROM t2 where id = 1;

INSERT INTO t4 SELECT * FROM t1;
INSERT INTO t5 SELECT * FROM t2;
UPDATE t1,t4 SET t1.xy = 3, t4.xy = 3 WHERE t1.id = 1 AND t4.id = 1;
SELECT xy FROM t1 where id = 1;
SELECT xy FROM t2 where id = 1;
SELECT xy FROM t4 where id = 1;
SELECT xy FROM t5 where id = 1;

UPDATE t1,t4 SET t1.xy = 4, t4.xy = 4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 1) AND t4.id IN (SELECT id FROM t3 WHERE id = 1);
SELECT xy FROM t1 where id = 1;
SELECT xy FROM t2 where id = 1;
SELECT xy FROM t4 where id = 1;
SELECT xy FROM t5 where id = 1;

INSERT INTO t1 VALUES (1,0) ON DUPLICATE KEY UPDATE xy = 5;
SELECT xy FROM t1 where id = 1;
SELECT xy FROM t2 where id = 1;

DROP TRIGGER t1_update;
DROP TRIGGER t4_update;

DELIMITER //;
CREATE TRIGGER t1_delete AFTER DELETE ON t1 FOR EACH ROW BEGIN REPLACE INTO t2 SELECT * FROM t1 WHERE t1.id > 4; END //
DELIMITER ;//

DELIMITER //;
CREATE TRIGGER t4_delete AFTER DELETE ON t4 FOR EACH ROW BEGIN REPLACE INTO t5 SELECT * FROM t4 WHERE t4.id > 4; END //
DELIMITER ;//

INSERT INTO t1 VALUES (5, 0),(6,0);
INSERT INTO t2 VALUES (5, 1),(6,1);
INSERT INTO t3 VALUES (5);
SELECT * FROM t1 order by id;
SELECT * FROM t2 order by id;
DELETE FROM t1 WHERE id IN (SELECT id FROM t3 WHERE id = 5);
SELECT * FROM t1 order by id;
SELECT * FROM t2 order by id;

INSERT INTO t1 VALUES (5,0);
UPDATE t2 SET xy = 1 WHERE id = 6;
TRUNCATE t4;
INSERT INTO t4 SELECT * FROM t1;
TRUNCATE t5;
INSERT INTO t5 SELECT * FROM t2;
SELECT * FROM t1 order by id;
SELECT * FROM t2 order by id;
SELECT * FROM t4 order by id;
SELECT * FROM t5 order by id;
DELETE FROM t1,t4 USING t1,t3,t4 WHERE t1.id IN (SELECT id FROM t3 WHERE id = 5) AND t4.id IN (SELECT id FROM t3 WHERE id = 5);
SELECT * FROM t1 order by id;
SELECT * FROM t2 order by id;
SELECT * FROM t4 order by id;
SELECT * FROM t5 order by id;

INSERT INTO t1 VALUES (5, 0);
REPLACE INTO t2 VALUES (6,1);
SELECT * FROM t1 order by id;
SELECT * FROM t2 order by id;
REPLACE INTO t1 VALUES (5, 1);
SELECT * FROM t1 order by id;
SELECT * FROM t2 order by id;

DROP TRIGGER t1_delete;
DROP TRIGGER t4_delete;
DROP TABLE t1, t2, t3, t4, t5;

# Test for bug#36658
# Verify that rename table
# doesn't remove triggers

connection server1;
create table t1(a int, b varchar(10), c date) engine=ndb;
delimiter //;
CREATE TRIGGER trg1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN
   SET new.c = date(now());
End //
delimiter ;//
select trigger_name,event_object_table from information_schema.triggers where
trigger_name='trg1';

connection server2;
delimiter //;
CREATE TRIGGER trg1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN
   SET new.c = date(now());
End //
delimiter ;//
select trigger_name,event_object_table from information_schema.triggers where
trigger_name='trg1';

connection server1;
rename table t1 to t2;
select trigger_name,event_object_table from information_schema.triggers where
trigger_name='trg1';

connection server2;
select trigger_name,event_object_table from information_schema.triggers where
trigger_name='trg1';

connection server1;
drop table t2;

# bug#38034: last_insert_id() value not shown in table with trigger
#
# testing that last_insert_id is correct in ongoing transaction.

create table t1(c1 int(11) not null auto_increment primary key, c2 int(11) not null) engine=ndb;

delimiter |;

create trigger bi_t1 before insert on t1
FOR EACH ROW BEGIN 
   SET new.c2 = last_insert_id();
End
|

delimiter ;|


INSERT INTO t1 (c2) VALUES (17);
INSERT INTO t1 (c2) VALUES (17);
INSERT INTO t1 (c2) VALUES (17);
select c1 from t1 where c1=last_insert_id();
select * from t1 order by c1;
start transaction;
INSERT INTO t1 (c2) VALUES (17);
INSERT INTO t1 (c2) VALUES (17);
select c1 from t1 where c1=last_insert_id();
select * from t1 order by c1;
rollback;
select c1 from t1 where c1=last_insert_id();
select * from t1 order by c1;
start transaction;
INSERT INTO t1 (c2) VALUES (17);
INSERT INTO t1 (c2) VALUES (17);
select c1 from t1 where c1=last_insert_id();
select * from t1 order by c1;
commit;
select c1 from t1 where c1=last_insert_id();
select * from t1 order by c1;
drop trigger bi_t1;
drop table t1;

--echo End of 5.1 tests

Filemanager

Name Type Size Permission Actions
bug36547.test File 386 B 0644
clusterj.test File 1.8 KB 0644
clusterj_jpa.test File 2.46 KB 0644
disabled.def File 918 B 0644
have_ndb_dist_priv.inc File 857 B 0644
have_ndb_error_insert.inc File 931 B 0644
have_ndbinfo.inc File 821 B 0644
loaddata_autocom_ndb.test File 98 B 0644
ndb_add_partition.test File 6.78 KB 0644
ndb_addnode.cnf File 664 B 0644
ndb_addnode.test File 2.18 KB 0644
ndb_alter_table.test File 9.6 KB 0644
ndb_alter_table2.test File 1.31 KB 0644
ndb_alter_table3.test File 1.47 KB 0644
ndb_alter_table_backup.test File 1.53 KB 0644
ndb_alter_table_error.test File 953 B 0644
ndb_alter_table_online.test File 21.47 KB 0644
ndb_alter_table_online2.test File 4.82 KB 0644
ndb_alter_table_online_multi.test File 1.92 KB 0644
ndb_auto_increment.test File 11.59 KB 0644
ndb_autoinc.test File 642 B 0644
ndb_basic.test File 20.68 KB 0644
ndb_bitfield.test File 6.33 KB 0644
ndb_blob.test File 17.7 KB 0644
ndb_blob_big.cnf File 353 B 0644
ndb_blob_big.test File 1.62 KB 0644
ndb_blob_partition.test File 4.28 KB 0644
ndb_bug26793.test File 843 B 0644
ndb_bug31477.test File 2.13 KB 0644
ndb_bug31754.test File 206 B 0644
ndb_bulk_delete.test File 3.92 KB 0644
ndb_cache.test File 7.92 KB 0644
ndb_cache2.test File 11.05 KB 0644
ndb_cache_multi.test File 1.89 KB 0644
ndb_cache_multi2.test File 4.3 KB 0644
ndb_cache_trans.test File 4.64 KB 0644
ndb_charset.test File 6.41 KB 0644
ndb_column_properties.test File 4.48 KB 0644
ndb_condition_pushdown.test File 80.54 KB 0644
ndb_config.test File 3.53 KB 0644
ndb_config2.test File 346 B 0644
ndb_create_table.test File 795 B 0644
ndb_cursor.test File 918 B 0644
ndb_database.test File 2.99 KB 0644
ndb_dbug_lock.test File 1.94 KB 0644
ndb_dbug_tc_select.test File 3.81 KB 0644
ndb_dbug_tc_select_1.inc File 1.83 KB 0644
ndb_dbug_tc_select_2.inc File 1.91 KB 0644
ndb_dbug_tc_select_3.inc File 2.06 KB 0644
ndb_dd_alter.test File 7.87 KB 0644
ndb_dd_basic.test File 20.17 KB 0644
ndb_dd_bug12581213.cnf File 111 B 0644
ndb_dd_bug12581213.test File 370 B 0644
ndb_dd_ddl.test File 7.37 KB 0644
ndb_dd_disk2memory.test File 10.02 KB 0644
ndb_dd_dump.test File 10.58 KB 0644
ndb_dd_restore_compat.test File 949 B 0644
ndb_dd_sql_features.test File 16.14 KB 0644
ndb_ddl_open_trans.test File 2.54 KB 0644
ndb_disconnect_ddl.test File 1.31 KB 0644
ndb_discover_db-master.opt File 43 B 0644
ndb_discover_db.test File 1.88 KB 0644
ndb_dist_priv.test File 7.09 KB 0644
ndb_gis.test File 211 B 0644
ndb_global_schema_lock.test File 3.51 KB 0644
ndb_global_schema_lock_error.test File 1.53 KB 0644
ndb_grant.later File 10.98 KB 0644
ndb_hidden_pk.test File 2.55 KB 0644
ndb_index.test File 11.9 KB 0644
ndb_index_ordered.test File 15.46 KB 0644
ndb_index_stat.test File 9.91 KB 0644
ndb_index_stat_enable.inc File 1.18 KB 0644
ndb_index_unique.test File 14.63 KB 0644
ndb_init_schema_locks_count.inc File 226 B 0644
ndb_insert.test File 36.32 KB 0644
ndb_join_pushdown.test File 110.53 KB 0644
ndb_jtie.test File 990 B 0644
ndb_limit.test File 2.25 KB 0644
ndb_load.test File 2.12 KB 0644
ndb_loaddatalocal.test File 2.43 KB 0644
ndb_lock.test File 5.69 KB 0644
ndb_lock_table.test File 284 B 0644
ndb_mgm.inc File 130 B 0644
ndb_mgm.test File 3.38 KB 0644
ndb_minmax.test File 1.28 KB 0644
ndb_multi.test File 5.79 KB 0644
ndb_multi_row.test File 1.78 KB 0644
ndb_native_default_support.test File 25.47 KB 0644
ndb_optimize_table.test File 2.44 KB 0644
ndb_optimized_node_selection.test File 908 B 0644
ndb_partition_error.test File 1.83 KB 0644
ndb_partition_error2.test File 369 B 0644
ndb_partition_hash.test File 1.53 KB 0644
ndb_partition_key.test File 6.85 KB 0644
ndb_partition_list.test File 2.67 KB 0644
ndb_partition_range.test File 7.91 KB 0644
ndb_read_multi_range.test File 14.6 KB 0644
ndb_reconnect.test File 1.76 KB 0644
ndb_rename.test File 858 B 0644
ndb_replace.test File 3.95 KB 0644
ndb_restart_nostart.inc File 147 B 0644
ndb_restart_start.inc File 130 B 0644
ndb_restore_compat_compression-master.opt File 46 B 0644
ndb_restore_compat_compression.test File 589 B 0644
ndb_restore_compat_downward.test File 3.99 KB 0644
ndb_restore_compat_endianness.test File 6.68 KB 0644
ndb_restore_conv_lossy_charbinary.test File 16.86 KB 0644
ndb_restore_conv_lossy_integral.test File 22.53 KB 0644
ndb_restore_conv_padding.test File 9.09 KB 0644
ndb_restore_conv_promotion.test File 12.71 KB 0644
ndb_restore_discover.test File 1.72 KB 0644
ndb_restore_misc.test File 23.18 KB 0644
ndb_restore_print.test File 6.82 KB 0644
ndb_restore_schema_blobs.test File 4.26 KB 0644
ndb_restore_schema_partitions.test File 14.93 KB 0644
ndb_restore_schema_rewrites.test File 16.26 KB 0644
ndb_restore_schema_subsets.test File 10.97 KB 0644
ndb_restore_schema_tolerance.test File 6.55 KB 0644
ndb_restore_undolog.test File 16.53 KB 0644
ndb_row_count.test File 2.95 KB 0644
ndb_row_format.test File 1.89 KB 0644
ndb_schema_locks_count.inc File 209 B 0644
ndb_select_count.test File 364 B 0644
ndb_share.cnf File 652 B 0644
ndb_share.test File 9.38 KB 0644
ndb_short_sigs.cnf File 170 B 0644
ndb_short_sigs.test File 2.5 KB 0644
ndb_show_tables_result.inc File 563 B 0644
ndb_single_user-master.opt File 32 B 0644
ndb_single_user.test File 4.76 KB 0644
ndb_sp.test File 909 B 0644
ndb_sql_allow_batching.test File 1.12 KB 0644
ndb_statistics.inc File 3.33 KB 0644
ndb_statistics0.test File 232 B 0644
ndb_statistics1.test File 231 B 0644
ndb_subquery.test File 2.53 KB 0644
ndb_temporary.test File 1.08 KB 0644
ndb_tmp_table_and_DDL.test File 393 B 0644
ndb_transaction.test File 5.76 KB 0644
ndb_trigger.test File 8.77 KB 0644
ndb_truncate.test File 794 B 0644
ndb_types.test File 2.69 KB 0644
ndb_update.test File 2.74 KB 0644
ndb_update_no_read.test File 16.91 KB 0644
ndb_view.test File 607 B 0644
ndb_wait_nostart.inc File 103 B 0644
ndb_wait_started.inc File 84 B 0644
ndb_waiter.inc File 148 B 0644
ndbapi.test File 1.98 KB 0644
ndbinfo.test File 6.85 KB 0644
ndbinfo_cache.test File 794 B 0644
ndbinfo_create.inc File 387 B 0644
ndbinfo_drop.inc File 127 B 0644
ndbinfo_dump.test File 626 B 0644
ps_7ndb.test File 898 B 0644
show_attributes.inc File 664 B 0644
show_primary_keys.inc File 609 B 0644
show_varpart.inc File 762 B 0644
strict_autoinc_5ndb.test File 146 B 0644
test_mgmd.cnf File 232 B 0644
test_mgmd.test File 195 B 0644
test_ndbinfo.test File 229 B 0644