mysql> ================================== CREATE TABLE `test_car` (`car_uuid` BINARY(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', `car_vin_uuid` BINARY(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', `car_builder_uuid` BINARY(16) DEFAULT NULL, `car_product_time` INT UNSIGNED NOT NULL DEFAULT 0); sybase > ================================== CREATE TABLE `test_car` (`car_uuid` BINARY(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', `car_vin_uuid` BINARY(16) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', `car_builder_uuid` BINARY(16) DEFAULT NULL, `car_product_time` UNSIGNED INT NOT NULL DEFAULT 0); mysql> ================================== insert into sym_trigger (trigger_id,source_table_name,channel_id,last_update_time,create_time,use_capture_lobs,use_stream_lobs) values('test_car_I','test_car','sybase_to_mysql',current_timestamp,current_timestamp,0, 0); mysql> ================================== insert into sym_trigger_router (trigger_id,router_id,initial_load_order,last_update_time,create_time) values('test_car_I','csm_2_ims' , 200, current_timestamp, current_timestamp); #RESTART SymmetricDS sybase > ================================== INSERT INTO test_car (car_uuid, car_vin_uuid, car_builder_uuid, car_product_time) VALUES (STRTOBIN('e9aa3560c41c11e4a49bdb15e4accc86'), STRTOBIN('e9aa3560c41c11e4a49bdb15e4accc86'), STRTOBIN('e9aa3560c41c11e4a49bdb15e4accc86') , 0); sybase > =================================== select trigger_defn from systrigger where table_id=(select table_id from systab where table_name='test_car'); sybase > 3.7.8 INSERT TRIGER =================================== create trigger "SYM_ON_I_FOR_TST_CR__CSM" on "vms"."DBA"."test_car" for insert as begin declare @DataRow varchar(16384) declare @newpk0 bigint declare @ChannelId varchar(20) if("vms"."DBA"."sym_triggers_disabled"(0) = 0) begin declare "DataCursor" dynamic scroll cursor for select case when "inserted"."car_product_time" is null then '' else('"'+convert(varchar,"inserted"."car_product_time")+'"') end+',' +case when "orig"."car_uuid" is null then '' else '"'+"base64_encode"("orig"."car_uuid")+'"' end+',' +case when "orig"."car_vin_uuid" is null then '' else '"'+"base64_encode"("orig"."car_vin_uuid")+'"' end+',' +case when "orig"."car_builder_uuid" is null then '' else '"'+"base64_encode"("orig"."car_builder_uuid")+'"' end,"inserted"."car_product_time",'sybase_to_mysql' from "inserted" join "vms"."DBA"."test_car" as "orig" on "orig"."car_product_time" = "inserted"."car_product_time" where 1 = 1 open "DataCursor" fetch next "DataCursor" into @DataRow,@newpk0,@ChannelId while @@FETCH_STATUS = 0 begin insert into "vms"."DBA"."sym_data"( "table_name","event_type","trigger_hist_id","row_data","channel_id","transaction_id","source_node_id","external_data","create_time" ) values( 'test_car','I',59,@DataRow,@ChannelId,"vms"."DBA"."sym_txid"(0),"vms"."DBA"."sym_node_disabled"(0),null,"getdate"() ) fetch next "DataCursor" into @DataRow,@newpk0,@ChannelId end close "DataCursor" deallocate cursor "DataCursor" end end sybase > 3.7.9 INSERT TRIGER =================================== create trigger "SYM_ON_I_FOR_TST_CR__CSM" on "vms"."DBA"."test_car" for insert as begin declare @DataRow varchar(16384) declare @newpk0 varbinary(16384) declare @newpk1 varbinary(16384) declare @newpk2 varbinary(16384) declare @newpk3 bigint declare @ChannelId varchar(20) if("vms"."DBA"."sym_triggers_disabled"(0) = 0) begin declare "DataCursor" dynamic scroll cursor for select case when "orig"."car_uuid" is null then '' else '"'+"base64_encode"("orig"."car_uuid")+'"' end+',' +case when "orig"."car_vin_uuid" is null then '' else '"'+"base64_encode"("orig"."car_vin_uuid")+'"' end+',' +case when "orig"."car_builder_uuid" is null then '' else '"'+"base64_encode"("orig"."car_builder_uuid")+'"' end+',' +case when "inserted"."car_product_time" is null then '' else('"'+convert(varchar,"inserted"."car_product_time")+'"') end,"inserted"."car_uuid","inserted"."car_vin_uuid","inserted"."car_builder_uuid","inserted"."car_product_time",'sybase_to_mysql' from "inserted" where 1 = 1 open "DataCursor" fetch next "DataCursor" into @DataRow,@newpk0,@newpk1,@newpk2,@newpk3,@ChannelId while @@FETCH_STATUS = 0 begin insert into "vms"."DBA"."sym_data"( "table_name","event_type","trigger_hist_id","row_data","channel_id","transaction_id","source_node_id","external_data","create_time" ) values( 'test_car','I',59,@DataRow,@ChannelId,"vms"."DBA"."sym_txid"(0),"vms"."DBA"."sym_node_disabled"(0),null,"getdate"() ) fetch next "DataCursor" into @DataRow,@newpk0,@newpk1,@newpk2,@newpk3,@ChannelId end close "DataCursor" deallocate cursor "DataCursor" end end sybase > 3.7.8 UPDATE TRIGER =================================== create trigger "SYM_ON_U_FOR_TST_CR__CSM" on "vms"."DBA"."test_car" for update as begin declare @DataRow varchar(16384) declare @OldPk varchar(2000) declare @OldDataRow varchar(16384) declare @ChannelId varchar(20) declare @oldpk0 bigint declare @newpk0 bigint if("vms"."DBA"."sym_triggers_disabled"(0) = 0) begin declare "DataCursor" dynamic scroll cursor for select case when "inserted"."car_product_time" is null then '' else('"'+convert(varchar,"inserted"."car_product_time")+'"') end+',' +case when "orig"."car_uuid" is null then '' else '"'+"base64_encode"("orig"."car_uuid")+'"' end+',' +case when "orig"."car_vin_uuid" is null then '' else '"'+"base64_encode"("orig"."car_vin_uuid")+'"' end+',' +case when "orig"."car_builder_uuid" is null then '' else '"'+"base64_encode"("orig"."car_builder_uuid")+'"' end, case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end, case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end+',' +''+',' +''+',' +'',"deleted"."car_product_time","inserted"."car_product_time",'sybase_to_mysql' from "inserted" join "vms"."DBA"."test_car" as "orig" on "orig"."car_product_time" = "inserted"."car_product_time" join "deleted" on "deleted"."car_product_time" = "inserted"."car_product_time" where 1 = 1 open "DataCursor" fetch next "DataCursor" into @DataRow,@OldPk,@OldDataRow,@oldpk0,@newpk0,@ChannelId while @@FETCH_STATUS = 0 begin insert into "vms"."DBA"."sym_data"( "table_name","event_type","trigger_hist_id","row_data","pk_data","old_data","channel_id","transaction_id","source_node_id","external_data","create_time" ) values( 'test_car','U',59,@DataRow,@OldPk,@OldDataRow,@ChannelId,"vms"."DBA"."sym_txid"(0),"vms"."DBA"."sym_node_disabled"(0),null,"getdate"() ) fetch next "DataCursor" into @DataRow,@OldPk,@OldDataRow,@oldpk0,@newpk0,@ChannelId end close "DataCursor" deallocate cursor "DataCursor" end end sybase > 3.7.9 UPDATE TRIGER =================================== create trigger "SYM_ON_U_FOR_TST_CR__CSM" on "vms"."DBA"."test_car" for update as begin declare @DataRow varchar(16384) declare @OldPk varchar(2000) declare @OldDataRow varchar(16384) declare @ChannelId varchar(20) declare @oldpk0 varbinary(16384) declare @oldpk1 varbinary(16384) declare @oldpk2 varbinary(16384) declare @oldpk3 bigint declare @newpk0 varbinary(16384) declare @newpk1 varbinary(16384) declare @newpk2 varbinary(16384) declare @newpk3 bigint if("vms"."DBA"."sym_triggers_disabled"(0) = 0) begin declare "DataCursor" dynamic scroll cursor for select case when "orig"."car_uuid" is null then '' else '"'+"base64_encode"("orig"."car_uuid")+'"' end+',' +case when "orig"."car_vin_uuid" is null then '' else '"'+"base64_encode"("orig"."car_vin_uuid")+'"' end+',' +case when "orig"."car_builder_uuid" is null then '' else '"'+"base64_encode"("orig"."car_builder_uuid")+'"' end+',' +case when "inserted"."car_product_time" is null then '' else('"'+convert(varchar,"inserted"."car_product_time")+'"') end, ''+',' +''+',' +''+',' +case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end, ''+',' +''+',' +''+',' +case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end,"deleted"."car_uuid","deleted"."car_vin_uuid","deleted"."car_builder_uuid","deleted"."car_product_time","inserted"."car_uuid","inserted"."car_vin_uuid","inserted"."car_builder_uuid","inserted"."car_product_time",'sybase_to_mysql' from "inserted" join "deleted" on "deleted"."car_uuid" = "inserted"."car_uuid" and "deleted"."car_vin_uuid" = "inserted"."car_vin_uuid" and "deleted"."car_builder_uuid" = "inserted"."car_builder_uuid" and "deleted"."car_product_time" = "inserted"."car_product_time" where 1 = 1 open "DataCursor" fetch next "DataCursor" into @DataRow,@OldPk,@OldDataRow,@oldpk0,@oldpk1,@oldpk2,@oldpk3,@newpk0,@newpk1,@newpk2,@newpk3,@ChannelId while @@FETCH_STATUS = 0 begin insert into "vms"."DBA"."sym_data"( "table_name","event_type","trigger_hist_id","row_data","pk_data","old_data","channel_id","transaction_id","source_node_id","external_data","create_time" ) values( 'test_car','U',59,@DataRow,@OldPk,@OldDataRow,@ChannelId,"vms"."DBA"."sym_txid"(0),"vms"."DBA"."sym_node_disabled"(0),null,"getdate"() ) fetch next "DataCursor" into @DataRow,@OldPk,@OldDataRow,@oldpk0,@oldpk1,@oldpk2,@oldpk3,@newpk0,@newpk1,@newpk2,@newpk3,@ChannelId end close "DataCursor" deallocate cursor "DataCursor" end end sybase > 3.7.8 DELETE TRIGER =================================== create trigger "SYM_ON_D_FOR_TST_CR__CSM" on "vms"."DBA"."test_car" for delete as begin declare @OldPk varchar(2000) declare @OldDataRow varchar(16384) declare @ChannelId varchar(20) declare @oldpk0 bigint if("vms"."DBA"."sym_triggers_disabled"(0) = 0) begin declare "DataCursor" dynamic scroll cursor for select case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end, case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end+',' +''+',' +''+',' +'',"deleted"."car_product_time",'sybase_to_mysql' from "deleted" where 1 = 1 open "DataCursor" fetch next "DataCursor" into @OldPk,@OldDataRow,@oldpk0,@ChannelId while @@FETCH_STATUS = 0 begin insert into "vms"."DBA"."sym_data"( "table_name","event_type","trigger_hist_id","pk_data","old_data","channel_id","transaction_id","source_node_id","external_data","create_time" ) values( 'test_car','D',59,@OldPk,@OldDataRow,@ChannelId,"vms"."DBA"."sym_txid"(0),"vms"."DBA"."sym_node_disabled"(0),null,"getdate"() ) fetch next "DataCursor" into @OldPk,@OldDataRow,@oldpk0,@ChannelId end close "DataCursor" deallocate cursor "DataCursor" end end sybase > 3.7.9 DELETE TRIGER =================================== create trigger "SYM_ON_D_FOR_TST_CR__CSM" on "vms"."DBA"."test_car" for delete as begin declare @OldPk varchar(2000) declare @OldDataRow varchar(16384) declare @ChannelId varchar(20) declare @oldpk0 varbinary(16384) declare @oldpk1 varbinary(16384) declare @oldpk2 varbinary(16384) declare @oldpk3 bigint if("vms"."DBA"."sym_triggers_disabled"(0) = 0) begin declare "DataCursor" dynamic scroll cursor for select ''+',' +''+',' +''+',' +case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end, ''+',' +''+',' +''+',' +case when "deleted"."car_product_time" is null then '' else('"'+convert(varchar,"deleted"."car_product_time")+'"') end,"deleted"."car_uuid","deleted"."car_vin_uuid","deleted"."car_builder_uuid","deleted"."car_product_time",'sybase_to_mysql' from "deleted" where 1 = 1 open "DataCursor" fetch next "DataCursor" into @OldPk,@OldDataRow,@oldpk0,@oldpk1,@oldpk2,@oldpk3,@ChannelId while @@FETCH_STATUS = 0 begin insert into "vms"."DBA"."sym_data"( "table_name","event_type","trigger_hist_id","pk_data","old_data","channel_id","transaction_id","source_node_id","external_data","create_time" ) values( 'test_car','D',59,@OldPk,@OldDataRow,@ChannelId,"vms"."DBA"."sym_txid"(0),"vms"."DBA"."sym_node_disabled"(0),null,"getdate"() ) fetch next "DataCursor" into @OldPk,@OldDataRow,@oldpk0,@oldpk1,@oldpk2,@oldpk3,@ChannelId end close "DataCursor" deallocate cursor "DataCursor" end end