diff --git a/arex-compare-core/pom.xml b/arex-compare-core/pom.xml
index a4a9b60..5ba1b2c 100644
--- a/arex-compare-core/pom.xml
+++ b/arex-compare-core/pom.xml
@@ -5,7 +5,7 @@
arex-compare-parent
com.arextest
- 0.2.12
+ 0.2.13
4.0.0
diff --git a/arex-compare-core/src/main/java/com/arextest/diff/handler/log/filterrules/OnlyCompareSameColumnsFilter.java b/arex-compare-core/src/main/java/com/arextest/diff/handler/log/filterrules/OnlyCompareSameColumnsFilter.java
index 08720e9..65c48cb 100644
--- a/arex-compare-core/src/main/java/com/arextest/diff/handler/log/filterrules/OnlyCompareSameColumnsFilter.java
+++ b/arex-compare-core/src/main/java/com/arextest/diff/handler/log/filterrules/OnlyCompareSameColumnsFilter.java
@@ -47,7 +47,8 @@ private boolean isIgnorePath(List fuzzyPath) {
int fuzzyPathSize = fuzzyPath.size();
int ignorePathSize = ignoreNodePath.size();
- if (ignorePathSize < fuzzyPathSize) {
+ // such as parameters/parammap vs parameters
+ if (fuzzyPathSize - ignorePathSize == 1) {
boolean flag = true;
for (int i = 0; i < ignorePathSize; i++) {
if (!Objects.equals(ignoreNodePath.get(i), fuzzyPath.get(i))) {
diff --git a/arex-compare-core/src/test/java/com/arextest/diff/sdk/CompareSDKTest.java b/arex-compare-core/src/test/java/com/arextest/diff/sdk/CompareSDKTest.java
index de0aa1e..4c7eab9 100644
--- a/arex-compare-core/src/test/java/com/arextest/diff/sdk/CompareSDKTest.java
+++ b/arex-compare-core/src/test/java/com/arextest/diff/sdk/CompareSDKTest.java
@@ -499,7 +499,7 @@ public void testExpressionNodeIgnore() {
+ " },\n"
+ " {\n"
+ " \"info\": {\n"
- + " \"name\": \"apple\"\n"
+ + " \"name\": \"tiktok\"\n"
+ " },\n"
+ " \"age\": 20\n"
+ " }\n"
@@ -773,5 +773,41 @@ public void testTransFormConfigTest() {
Assertions.assertEquals(1, result.getLogs().size());
}
+ @Test
+ public void testParmeter() {
+ CompareSDK sdk = new CompareSDK();
+ sdk.getGlobalOptions().putOnlyCompareCoincidentColumn(true);
+
+ String str1 = "{\n"
+ + " \"parameters\": {\n"
+ + " \"parammap\": \"{\\\"link_type\\\":1,\\\"token\\\":\\\"1\\\"}\",\n"
+ + " \"tablename\": \"table\"\n"
+ + " },\n"
+ + " \"body\": \"insert into log (table_name, param_map) values (?, ?)\",\n"
+ + " \"dbname\": \"\"\n"
+ + " }\n"
+ + " ]\n"
+ + "}";
+
+ String str2 = "{\n"
+ + " \"parameters\": {\n"
+ + " \"parammap\": \"{\\\"link_type\\\":1}\",\n"
+ + " \"tablename\": \"table\"\n"
+ + " },\n"
+ + " \"body\": \"insert into log (table_name, param_map) values (?, ?)\",\n"
+ + " \"dbname\": \"\"\n"
+ + " }\n"
+ + " ]\n"
+ + "}";
+
+ CompareOptions compareOptions = CompareOptions.options();
+ compareOptions.putExclusions(Arrays.asList("body"));
+ compareOptions.putCategoryType(CategoryType.DATABASE);
+ compareOptions.putOnlyCompareCoincidentColumn(true);
+
+ CompareResult result = sdk.compare(str1, str2, compareOptions);
+ Assertions.assertEquals(1, result.getLogs().size());
+ }
+
}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index c51bb45..53875f1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
com.arextest
arex-compare-parent
pom
- 0.2.12
+ 0.2.13
arex-compare-extension
arex-compare-core