Unverified Commit c1321769 authored by 张亮's avatar 张亮 Committed by GitHub
Browse files

Merge pull request #2264 from codefairy08/dev_bug_fixs_2211

#2253 bug fixes
parents 41a46fc1 4819c03e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.core.exception.ShardingException;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLIgnoreExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLNumberExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLPlaceholderExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLTextExpression;
@@ -132,6 +133,8 @@ public abstract class InsertOptimizeResultUnit {
            return "?";
        } else if (sqlExpression instanceof SQLTextExpression) {
            return String.format("'%s'", ((SQLTextExpression) sqlExpression).getText());
        } else if (sqlExpression instanceof SQLIgnoreExpression) {
            return ((SQLIgnoreExpression) sqlExpression).getExpression();
        } else {
            return String.valueOf(((SQLNumberExpression) sqlExpression).getNumber());
        }
+2 −1
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.core.parse.old.lexer.token.DefaultKeyword;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLIgnoreExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLNumberExpression;
import org.apache.shardingsphere.core.parse.old.parser.expression.SQLTextExpression;

@@ -53,6 +54,6 @@ public final class LiteralExpressionSegment implements ExpressionSegment {
        if (DefaultKeyword.NULL.name().equalsIgnoreCase(value)) {
            return new SQLNumberExpression(null);
        }
        return new SQLTextExpression(value);
        return new SQLIgnoreExpression(value);
    } 
}
+20 −0
Original line number Diff line number Diff line
@@ -37,6 +37,26 @@
        </or-condition>
    </parser-result>
    
    <parser-result sql-case-id="insert_with_now_function" parameters="1, 1, 'init'">
        <tables>
            <table name="t_order" />
        </tables>
        <tokens>
            <table-token start-index="12" table-name="t_order" length="7" />
            <insert-values-token begin-position="20" />
        </tokens>
        <or-condition>
            <and-condition>
                <condition column-name="order_id" table-name="t_order" operator="EQUAL">
                    <value index="0" literal="1" type="int" />
                </condition>
                <condition column-name="user_id" table-name="t_order" operator="EQUAL">
                    <value index="1" literal="1" type="int" />
                </condition>
            </and-condition>
        </or-condition>
    </parser-result>
    
    <parser-result sql-case-id="insert_without_parameters">
        <tables>
            <table name="t_order" />
+2 −2
Original line number Diff line number Diff line
@@ -866,7 +866,7 @@
            </aggregation-select-items>
        </select-items>
    </parser-result>
    <parser-result sql-case-id="select_with_coloumns_in_paren">
    <parser-result sql-case-id="select_with_row_subquery_without_row_keyword">
        <tables>
            <table name="t_order"/>
        </tables>
@@ -874,7 +874,7 @@
            <table-token start-index="14" table-name="t_order" length="7" />
        </tokens>
    </parser-result>
    <parser-result sql-case-id="select_with_coloumns_in_row">
    <parser-result sql-case-id="select_with_row_subquery">
        <tables>
            <table name="t_order"/>
        </tables>
+5 −0
Original line number Diff line number Diff line
@@ -21,6 +21,11 @@
       <assertion parameters="2:int, 2:int, insert:String" expected-data-file="insert_for_order_2.xml" />
    </dml-test-case>
    
    <dml-test-case sql-case-id="insert_with_now_function">
       <assertion parameters="1:int, 1:int, insert:String" expected-data-file="insert_for_order_1.xml" />
       <assertion parameters="2:int, 2:int, insert:String" expected-data-file="insert_for_order_2.xml" />
    </dml-test-case>

    <dml-test-case sql-case-id="insert_without_parameters">
        <assertion expected-data-file="insert_for_order_1.xml" />
    </dml-test-case>
Loading