You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/11/09 11:18:28 UTC

[shardingsphere] branch master updated: feat: filter ERROR result while loading SQL case (#22043)

This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new a84a3471a3d feat: filter ERROR result while loading SQL case (#22043)
a84a3471a3d is described below

commit a84a3471a3d8f855fb44bfdd93b82cc6342ac02c
Author: Junfeng <i...@jacob953.com>
AuthorDate: Wed Nov 9 19:18:20 2022 +0800

    feat: filter ERROR result while loading SQL case (#22043)
    
    Co-authored-by: Jacob953 <ja...@csu.edu.cn>
---
 .../parser/base/DynamicLoadingSQLParserParameterizedTest.java  | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
index cba54141a21..ff77329f716 100644
--- a/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
+++ b/test/integration-test/sql-parser/src/test/java/org/apache/shardingsphere/sql/parser/base/DynamicLoadingSQLParserParameterizedTest.java
@@ -116,16 +116,20 @@ public abstract class DynamicLoadingSQLParserParameterizedTest {
         Collection<Object[]> result = new LinkedList<>();
         String[] lines = sqlCaseFileContent.split("\n");
         int sqlCaseEnum = 1;
-        for (String each : lines) {
-            if (!each.isEmpty() && Character.isLetter(each.charAt(0)) && each.charAt(each.length() - 1) == ';') {
+        for (int i = 0; i < lines.length; i++) {
+            if (isStatement(lines[i]) && (i + 1 == lines.length || !lines[i + 1].contains("ERROR"))) {
                 String sqlCaseId = sqlCaseFileName + sqlCaseEnum;
-                result.add(new Object[]{sqlCaseId, each});
+                result.add(new Object[]{sqlCaseId, lines[i]});
                 sqlCaseEnum++;
             }
         }
         return result;
     }
     
+    private static boolean isStatement(final String statement) {
+        return !statement.isEmpty() && Character.isLetter(statement.charAt(0)) && statement.charAt(statement.length() - 1) == ';';
+    }
+    
     @Test
     public final void assertParseSQL() {
         String result = "success";