View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003513 | SymmetricDS | Bug | public | 2018-04-06 21:04 | 2025-04-30 17:32 |
Reporter | mmichalek | Assigned To | |||
Priority | low | ||||
Status | acknowledged | Resolution | open | ||
Product Version | 3.9.6 | ||||
Summary | 0003513: Long sym_trigger definitions don't capture and sync properly on Sybase | ||||
Description | Because of the 16k limit on Sybase, if the sum total of characters in a sym_trigger row are > 16k (for example, have a 10k custom_before_insert_text and a 10k custom_before_update_text) - then the row is captured incompletely and cannot be routed. Normally this can be worked around by settings stream_lobs on the trigger, but since sym_trigger does not have a configurable trigger, it's not clear how to accomplish this. We recently added logic to detect if a single field > 16k. Maybe we could modify that logic to handle this case where the whole row is 16k. Caused by: org.jumpmind.symmetric.SymmetricException: The number of recorded column names (37) did not match the number of captured data values (21). The data_id 1317 failed for an INSERT on sym_trigger. column_names: {trigger_id,source_catalog_name,source_schema_name,source_table_name,channel_id,reload_channel_id,sync_on_update,sync_on_insert,sync_on_delete,sync_on_incoming_batch,name_for_update_trigger,name_for_insert_trigger,name_for_delete_trigger,sync_on_update_condition,sync_on_insert_condition,sync_on_delete_condition,custom_before_update_text,custom_before_insert_text,custom_before_delete_text,custom_on_update_text,custom_on_insert_text,custom_on_delete_text,external_select,tx_id_expression,channel_expression,excluded_column_names,included_column_names,sync_key_names,use_stream_lobs,use_capture_lobs,use_capture_old_data,use_handle_key_updates,stream_row,create_time,last_update_by,last_update_time,description} values: {long data here...} at org.jumpmind.symmetric.route.AbstractDataRouter.testColumnNamesMatchValues(AbstractDataRouter.java:228) at org.jumpmind.symmetric.route.AbstractDataRouter.getDataAsString(AbstractDataRouter.java:102) at org.jumpmind.symmetric.route.AbstractDataRouter.getNewDataAsString(AbstractDataRouter.java:89) at org.jumpmind.symmetric.route.AbstractDataRouter.getDataMap(AbstractDataRouter.java:64) at org.jumpmind.symmetric.route.ConfigurationChangedDataRouter.routeToNodes(ConfigurationChangedDataRouter.java:132) at org.jumpmind.symmetric.service.impl.RouterService.routeData(RouterService.java:1010) ... 15 more | ||||
Tags | dialect: sybase, trigger | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2018-04-06 21:04 | mmichalek | New Issue | |
2019-04-24 17:42 | elong | Tag Attached: dialect: sybase | |
2019-04-24 17:42 | elong | Tag Attached: trigger | |
2025-04-30 17:31 | cquamme | Note Added: 0002856 | |
2025-04-30 17:32 | cquamme | Priority | normal => low |
2025-04-30 17:32 | cquamme | Status | new => acknowledged |