diff --git a/symmetric/src/test/java/org/jumpmind/symmetric/IntegrationTest.java b/symmetric/src/test/java/org/jumpmind/symmetric/IntegrationTest.java index 7985fcc15b..955a457797 100644 --- a/symmetric/src/test/java/org/jumpmind/symmetric/IntegrationTest.java +++ b/symmetric/src/test/java/org/jumpmind/symmetric/IntegrationTest.java @@ -71,6 +71,7 @@ public void testLifecycle() { testSyncInsertCondition(); testSyncUpdateCondition(); testSyncUpdateWithEmptyKey(); + testCaseSensitiveTableNames(); testIgnoreNodeChannel(); testPurge(); testHeartbeat(); @@ -252,6 +253,17 @@ protected void testVirtualTransactionId() { Assert.assertEquals(rootJdbcTemplate.update("delete from test_very_long_table_name_1234 where id='42'"), 1); Assert.assertEquals(rootJdbcTemplate.queryForObject("select transaction_id from sym_data_event where data_id in (select max(data_id) from sym_data)", String.class), "42", "The hardcoded transaction id was not found."); } + + protected void testCaseSensitiveTableNames() { + rootJdbcTemplate.update("insert into TEST_ALL_CAPS values(1, 'HELLO')"); + getClientEngine().pull(); + Assert.assertEquals(clientJdbcTemplate.queryForInt("select count(*) from TEST_ALL_CAPS where ALL_CAPS_ID = 1"), + 1, "Table name in all caps was not synced"); + rootJdbcTemplate.update("insert into Test_Mixed_Case values(1, 'Hello')"); + getClientEngine().pull(); + Assert.assertEquals(clientJdbcTemplate.queryForInt("select count(*) from Test_Mixed_Case where Mixed_Case_Id = 1"), + 1, "Table name in mixed case was not synced"); + } protected void testMultipleChannels() { } diff --git a/symmetric/src/test/resources/test-integration-root-setup.sql b/symmetric/src/test/resources/test-integration-root-setup.sql index c6b2bb933f..b11e4c56ed 100644 --- a/symmetric/src/test/resources/test-integration-root-setup.sql +++ b/symmetric/src/test/resources/test-integration-root-setup.sql @@ -40,6 +40,14 @@ insert into sym_trigger (source_table_name,source_node_group_id,target_node_group_id,channel_id,sync_on_update,sync_on_insert,sync_on_delete,sync_on_update_condition,sync_on_insert_condition,sync_on_delete_condition,initial_load_select,node_select,tx_id_expression,initial_load_order,last_updated_by,last_updated_time,name_for_insert_trigger,create_time) values('test_store_status','test-node-group','test-root-group','testchannel', 1, 1, 1, null, null, null, null, null, null, 1, 'erilong', current_timestamp,null,current_timestamp); +insert into sym_trigger +(source_table_name,source_node_group_id,target_node_group_id,channel_id,sync_on_update,sync_on_insert,sync_on_delete,sync_on_update_condition,sync_on_insert_condition,sync_on_delete_condition,initial_load_select,node_select,tx_id_expression,initial_load_order,last_updated_by,last_updated_time,name_for_insert_trigger,create_time) +values('TEST_ALL_CAPS','test-root-group','test-node-group','testchannel', 1, 1, 1, null, null, null, null, null, null, 1, 'erilong', current_timestamp,null,current_timestamp); + +insert into sym_trigger +(source_table_name,source_node_group_id,target_node_group_id,channel_id,sync_on_update,sync_on_insert,sync_on_delete,sync_on_update_condition,sync_on_insert_condition,sync_on_delete_condition,initial_load_select,node_select,tx_id_expression,initial_load_order,last_updated_by,last_updated_time,name_for_insert_trigger,create_time) +values('Test_Mixed_Case','test-root-group','test-node-group','testchannel', 1, 1, 1, null, null, null, null, null, null, 1, 'erilong', current_timestamp,null,current_timestamp); + insert into test_customer (customer_id, name, is_active, address, city, state, zip, entry_time) values(100, 'John Smith', '1', '300 Main Street', 'Columbus', 'OH', 43230, {ts '2007-01-02 11:30:00'}); diff --git a/symmetric/src/test/resources/test-tables-ddl.xml b/symmetric/src/test/resources/test-tables-ddl.xml index 8eb50bb2d9..36853357a8 100644 --- a/symmetric/src/test/resources/test-tables-ddl.xml +++ b/symmetric/src/test/resources/test-tables-ddl.xml @@ -68,4 +68,14 @@ + + + +
+ + + + +
+ \ No newline at end of file