From 331b0fe79a315acf5ddfd52faf9c11a6920d5b0f Mon Sep 17 00:00:00 2001 From: Bin He <88796063+iceriver123@users.noreply.github.com> Date: Sun, 22 Sep 2024 07:32:08 -0700 Subject: [PATCH] fix: null options for equivalent change streams (#163) --- .../com/google/cloud/solutions/spannerddl/diff/DdlDiff.java | 2 ++ src/test/resources/newDdl.txt | 5 +++++ src/test/resources/originalDdl.txt | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/src/main/java/com/google/cloud/solutions/spannerddl/diff/DdlDiff.java b/src/main/java/com/google/cloud/solutions/spannerddl/diff/DdlDiff.java index 301d412..6cd760a 100644 --- a/src/main/java/com/google/cloud/solutions/spannerddl/diff/DdlDiff.java +++ b/src/main/java/com/google/cloud/solutions/spannerddl/diff/DdlDiff.java @@ -379,12 +379,14 @@ public List generateDifferenceStatements(Map options) String optionsDiff = generateOptionsUpdates(Maps.difference(oldOptionsKv, newOptionsKv)); + if (optionsDiff != null) { output.add( "ALTER CHANGE STREAM " + changedChangeStream.rightValue().getName() + " SET OPTIONS (" + optionsDiff + ")"); + } } } diff --git a/src/test/resources/newDdl.txt b/src/test/resources/newDdl.txt index b595477..7452fd7 100644 --- a/src/test/resources/newDdl.txt +++ b/src/test/resources/newDdl.txt @@ -431,6 +431,11 @@ Create UNIQUE NULL_filtered index IF NOT EXISTS test4 on test1 ( col1 ) STORING Create table myCreatedTable (mycol int64) primary key (mycol); create change stream toremain for all options (retention_period = '36h'); +create change stream toremain2 for all +OPTIONS ( +value_capture_type = 'OLD_AND_NEW_VALUES', +retention_period = '7d', +exclude_ttl_deletes = true); create change stream toBeChanged for myTable2 ( col1, col3, col4), mytable3 () options (retention_period = '48h'); create change stream toCreate for mytable4 options (retention_period = '36h'); create change stream toCreateAll for all; diff --git a/src/test/resources/originalDdl.txt b/src/test/resources/originalDdl.txt index 1d92ec4..861b823 100644 --- a/src/test/resources/originalDdl.txt +++ b/src/test/resources/originalDdl.txt @@ -430,6 +430,11 @@ Create index IF NOT EXISTS test4 on test1 ( col1 ) STORING ( col2 ) Create table myToBeDeletedTable (mycol int64) primary key (mycol); create change stream toremain for all options (retention_period = '36h'); +create change stream toremain2 for all +OPTIONS ( +retention_period = '7d', +value_capture_type = 'OLD_AND_NEW_VALUES', +exclude_ttl_deletes = true); create change stream toBeDeleted for myTable options (retention_period = '36h'); create change stream toBeChanged for myTable1, myTable2 ( col1, col3) options (retention_period = '36h'); create change stream toBeChangedOnlyTable for myTable1, myTable2 ( col1, col3) options (retention_period = '36h');