提交 f98055bd 编写于 作者: L Liang Zhang 提交者: Juan Pan(Trista)

Assert between predicate (#4073)

* add shardingsphere-ui-bin-distribution module

* add shardingsphere-ui-src-distribution module

* add final name for shardingsphere-ui

* assert between predicate

* fix test case for select_between_with_geography

* add null assert

* remove IN operator

* fix test case for select_between_with_single_table

* fix test case for select_count_like_concat

* fix test case for select_count_like_concat

* fix test case for select_count_with_binding_tables_with_join

* fix test case for select_count_tilde_concat

* fix test case for select_count_with_binding_tables_without_join

* fix test case for select_group_by_without_grouped_column

* fix test case for select_keyword_table_name_with_back_quotes

* fix test case for select_keyword_table_name_with_double_quotes

* fix test case for select_keyword_table_name_with_square_brackets

* fix test case for select_pagination_with_diff_group_by_and_order_by

* fix test case for select_pagination_with_group_by_and_order_by

* fix test case for select_pagination_with_limit_and_offset_keyword

* fix test case for select_pagination_with_limit_with_back_quotes

* fix test case for select_pagination_with_offset_and_limit

* fix test case for select_pagination_with_row_count

* fix test case for select_pagination_with_top

* fix test case for select_sharding_route_with_binding_tables

* fix test case for select_sharding_route_with_broadcast_table

* fix all cases
上级 0bb28bd1
...@@ -28,6 +28,7 @@ import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.Expect ...@@ -28,6 +28,7 @@ import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.Expect
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedOperator; import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedOperator;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedPredicate; import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedPredicate;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedWhere; import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.ExpectedWhere;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateBetweenRightValue;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateCompareRightValue; import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateCompareRightValue;
import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateInRightValue; import org.apache.shardingsphere.sql.parser.integrate.jaxb.impl.predicate.value.ExpectedPredicateInRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment; import org.apache.shardingsphere.sql.parser.sql.segment.dml.column.ColumnSegment;
...@@ -40,6 +41,7 @@ import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.simple.Paramete ...@@ -40,6 +41,7 @@ import org.apache.shardingsphere.sql.parser.sql.segment.dml.expr.simple.Paramete
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.AndPredicate; import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.AndPredicate;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.PredicateSegment; import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.PredicateSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.WhereSegment; import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.WhereSegment;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateBetweenRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateCompareRightValue; import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateCompareRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateInRightValue; import org.apache.shardingsphere.sql.parser.sql.segment.dml.predicate.value.PredicateInRightValue;
import org.apache.shardingsphere.sql.parser.sql.segment.generic.TableSegment; import org.apache.shardingsphere.sql.parser.sql.segment.generic.TableSegment;
...@@ -104,6 +106,9 @@ public final class WhereAssert { ...@@ -104,6 +106,9 @@ public final class WhereAssert {
} else if (each.getRightValue() instanceof PredicateInRightValue) { } else if (each.getRightValue() instanceof PredicateInRightValue) {
assertOperator(assertMessage, each, expectedPredicate.getOperator()); assertOperator(assertMessage, each, expectedPredicate.getOperator());
assertInRightValue(assertMessage, (PredicateInRightValue) each.getRightValue(), expectedPredicate.getInRightValue(), sqlCaseType); assertInRightValue(assertMessage, (PredicateInRightValue) each.getRightValue(), expectedPredicate.getInRightValue(), sqlCaseType);
} else if (each.getRightValue() instanceof PredicateBetweenRightValue) {
assertOperator(assertMessage, each, expectedPredicate.getOperator());
assertBetweenRightValue(assertMessage, (PredicateBetweenRightValue) each.getRightValue(), expectedPredicate.getBetweenRightValue(), sqlCaseType);
} }
// TODO add other right value assertion // TODO add other right value assertion
SQLSegmentAssert.assertIs(assertMessage, each, expectedPredicate, sqlCaseType); SQLSegmentAssert.assertIs(assertMessage, each, expectedPredicate, sqlCaseType);
...@@ -131,11 +136,9 @@ public final class WhereAssert { ...@@ -131,11 +136,9 @@ public final class WhereAssert {
} }
private static void assertOperator(final SQLStatementAssertMessage assertMessage, final PredicateSegment actual, final ExpectedOperator expected) { private static void assertOperator(final SQLStatementAssertMessage assertMessage, final PredicateSegment actual, final ExpectedOperator expected) {
assertNotNull(assertMessage.getText("Operator assertion error: "), expected);
if (actual.getRightValue() instanceof PredicateCompareRightValue) { if (actual.getRightValue() instanceof PredicateCompareRightValue) {
assertNotNull(assertMessage.getText("Operator assertion error: "), expected);
assertThat(assertMessage.getText("Operator assertion error: "), ((PredicateCompareRightValue) actual.getRightValue()).getOperator(), is(expected.getType())); assertThat(assertMessage.getText("Operator assertion error: "), ((PredicateCompareRightValue) actual.getRightValue()).getOperator(), is(expected.getType()));
} else if (actual.getRightValue() instanceof PredicateInRightValue) {
assertThat(assertMessage.getText("Operator assertion error: "), "IN", is(expected.getType()));
} }
// TODO assert operator start index and stop index // TODO assert operator start index and stop index
} }
...@@ -156,6 +159,7 @@ public final class WhereAssert { ...@@ -156,6 +159,7 @@ public final class WhereAssert {
private static void assertInRightValue(final SQLStatementAssertMessage assertMessage, private static void assertInRightValue(final SQLStatementAssertMessage assertMessage,
final PredicateInRightValue actual, final ExpectedPredicateInRightValue expected, final SQLCaseType sqlCaseType) { final PredicateInRightValue actual, final ExpectedPredicateInRightValue expected, final SQLCaseType sqlCaseType) {
assertNotNull(assertMessage.getText("Expected predicate in right value can not be null"), expected);
int count = 0; int count = 0;
for (ExpressionSegment each : actual.getSqlExpressions()) { for (ExpressionSegment each : actual.getSqlExpressions()) {
if (each instanceof ParameterMarkerExpressionSegment) { if (each instanceof ParameterMarkerExpressionSegment) {
...@@ -184,5 +188,48 @@ public final class WhereAssert { ...@@ -184,5 +188,48 @@ public final class WhereAssert {
count++; count++;
} }
} }
// SQLSegmentAssert.assertIs(assertMessage, actual, expected, sqlCaseType);
}
private static void assertBetweenRightValue(final SQLStatementAssertMessage assertMessage,
final PredicateBetweenRightValue actual, final ExpectedPredicateBetweenRightValue expected, final SQLCaseType sqlCaseType) {
assertNotNull(assertMessage.getText("Expected predicate between right value can not be null"), expected);
assertBetweenExpression(assertMessage, actual.getBetweenExpression(), expected, sqlCaseType);
assertAndExpression(assertMessage, actual.getAndExpression(), expected, sqlCaseType);
// SQLSegmentAssert.assertIs(assertMessage, actual, expected, sqlCaseType);
}
private static void assertBetweenExpression(final SQLStatementAssertMessage assertMessage,
final ExpressionSegment actual, final ExpectedPredicateBetweenRightValue expected, final SQLCaseType sqlCaseType) {
if (actual instanceof ParameterMarkerExpressionSegment) {
assertNotNull(assertMessage.getText("Expected between parameter marker expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertParameterMarkerExpression(assertMessage, (ParameterMarkerExpressionSegment) actual, expected.getBetweenParameterMarkerExpression(), sqlCaseType);
} else if (actual instanceof LiteralExpressionSegment) {
assertNotNull(assertMessage.getText("Expected between literal expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertLiteralExpression(assertMessage, (LiteralExpressionSegment) actual, expected.getBetweenLiteralExpression(), sqlCaseType);
} else if (actual instanceof CommonExpressionSegment) {
assertNotNull(assertMessage.getText("Expected between common expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertCommonExpression(assertMessage, (ComplexExpressionSegment) actual, expected.getBetweenCommonExpression(), sqlCaseType);
} else if (actual instanceof SubquerySegment) {
assertNotNull(assertMessage.getText("Expected between subquery expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertSubquery(assertMessage, (ComplexExpressionSegment) actual, expected.getBetweenSubquery(), sqlCaseType);
}
}
private static void assertAndExpression(final SQLStatementAssertMessage assertMessage,
final ExpressionSegment actual, final ExpectedPredicateBetweenRightValue expected, final SQLCaseType sqlCaseType) {
if (actual instanceof ParameterMarkerExpressionSegment) {
assertNotNull(assertMessage.getText("Expected and parameter marker expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertParameterMarkerExpression(assertMessage, (ParameterMarkerExpressionSegment) actual, expected.getAndParameterMarkerExpression(), sqlCaseType);
} else if (actual instanceof LiteralExpressionSegment) {
assertNotNull(assertMessage.getText("Expected and literal expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertLiteralExpression(assertMessage, (LiteralExpressionSegment) actual, expected.getAndLiteralExpression(), sqlCaseType);
} else if (actual instanceof CommonExpressionSegment) {
assertNotNull(assertMessage.getText("Expected and common expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertCommonExpression(assertMessage, (ComplexExpressionSegment) actual, expected.getAndCommonExpression(), sqlCaseType);
} else if (actual instanceof SubquerySegment) {
assertNotNull(assertMessage.getText("Expected and subquery expression can not be null"), expected.getBetweenParameterMarkerExpression());
ExpressionAssert.assertSubquery(assertMessage, (ComplexExpressionSegment) actual, expected.getAndSubquery(), sqlCaseType);
}
} }
} }
...@@ -34,7 +34,7 @@ import javax.xml.bind.annotation.XmlElement; ...@@ -34,7 +34,7 @@ import javax.xml.bind.annotation.XmlElement;
public final class ExpectedPredicateBetweenRightValue implements ExpectedPredicateRightValue { public final class ExpectedPredicateBetweenRightValue implements ExpectedPredicateRightValue {
@XmlElement(name = "between-parameter-marker-expression") @XmlElement(name = "between-parameter-marker-expression")
private ExpectedParameterMarkerExpression parameterMarkerExpression; private ExpectedParameterMarkerExpression betweenParameterMarkerExpression;
@XmlElement(name = "between-literal-expression") @XmlElement(name = "between-literal-expression")
private ExpectedLiteralExpression betweenLiteralExpression; private ExpectedLiteralExpression betweenLiteralExpression;
......
...@@ -294,9 +294,21 @@ ...@@ -294,9 +294,21 @@
<and-predicate> <and-predicate>
<predicate start-index="28" stop-index="50" literal-stop-index="51"> <predicate start-index="28" stop-index="50" literal-stop-index="51">
<column-left-value name="user_id" start-index="28" stop-index="34" /> <column-left-value name="user_id" start-index="28" stop-index="34" />
<between-right-value>
<between-parameter-marker-expression value="0" />
<between-literal-expression value="1" />
<and-parameter-marker-expression value="1" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
<predicate start-index="56" stop-index="79" literal-start-index="57" literal-stop-index="80"> <predicate start-index="56" stop-index="79" literal-start-index="57" literal-stop-index="80">
<column-left-value name="order_id" start-index="56" stop-index="63" literal-start-index="57" literal-stop-index="64" /> <column-left-value name="order_id" start-index="56" stop-index="63" literal-start-index="57" literal-stop-index="64" />
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="2" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="5" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -394,7 +406,6 @@ ...@@ -394,7 +406,6 @@
<and-predicate> <and-predicate>
<predicate start-index="28" stop-index="47"> <predicate start-index="28" stop-index="47">
<column-left-value name="user_id" start-index="28" stop-index="34" /> <column-left-value name="user_id" start-index="28" stop-index="34" />
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -406,7 +417,6 @@ ...@@ -406,7 +417,6 @@
</predicate> </predicate>
<predicate start-index="53" stop-index="70" literal-stop-index="71"> <predicate start-index="53" stop-index="70" literal-stop-index="71">
<column-left-value name="order_id" start-index="53" stop-index="60" /> <column-left-value name="order_id" start-index="53" stop-index="60" />
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="3" /> <parameter-marker-expression value="3" />
<parameter-marker-expression value="4" /> <parameter-marker-expression value="4" />
...@@ -446,7 +456,6 @@ ...@@ -446,7 +456,6 @@
<and-predicate> <and-predicate>
<predicate start-index="28" stop-index="45" literal-stop-index="51"> <predicate start-index="28" stop-index="45" literal-stop-index="51">
<column-left-value name="order_id" start-index="28" stop-index="35" /> <column-left-value name="order_id" start-index="28" stop-index="35" />
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -456,7 +465,6 @@ ...@@ -456,7 +465,6 @@
</predicate> </predicate>
<predicate start-index="51" stop-index="68" literal-start-index="57" literal-stop-index="80"> <predicate start-index="51" stop-index="68" literal-start-index="57" literal-stop-index="80">
<column-left-value name="order_id" start-index="51" stop-index="58" literal-start-index="57" literal-stop-index="64" /> <column-left-value name="order_id" start-index="51" stop-index="58" literal-start-index="57" literal-stop-index="64" />
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="2" /> <parameter-marker-expression value="2" />
<parameter-marker-expression value="3" /> <parameter-marker-expression value="3" />
...@@ -502,7 +510,6 @@ ...@@ -502,7 +510,6 @@
<column-left-value name="user_id" start-index="93" stop-index="101" literal-start-index="98" literal-stop-index="106"> <column-left-value name="user_id" start-index="93" stop-index="101" literal-start-index="98" literal-stop-index="106">
<owner name="o" start-index="93" stop-index="93" literal-start-index="98" literal-stop-index="98" /> <owner name="o" start-index="93" stop-index="93" literal-start-index="98" literal-stop-index="98" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
<parameter-marker-expression value="2" /> <parameter-marker-expression value="2" />
...@@ -514,6 +521,12 @@ ...@@ -514,6 +521,12 @@
<column-left-value name="order_id" start-index="117" stop-index="126" literal-start-index="122" literal-stop-index="131"> <column-left-value name="order_id" start-index="117" stop-index="126" literal-start-index="122" literal-stop-index="131">
<owner name="o" start-index="117" stop-index="117" literal-start-index="122" literal-stop-index="122" /> <owner name="o" start-index="117" stop-index="117" literal-start-index="122" literal-stop-index="122" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="3" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="4" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -550,7 +563,6 @@ ...@@ -550,7 +563,6 @@
<column-left-value name="user_id" start-index="91" stop-index="99" literal-start-index="96" literal-stop-index="104"> <column-left-value name="user_id" start-index="91" stop-index="99" literal-start-index="96" literal-stop-index="104">
<owner name="o" start-index="91" stop-index="91" literal-start-index="96" literal-stop-index="96" /> <owner name="o" start-index="91" stop-index="91" literal-start-index="96" literal-stop-index="96" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
<parameter-marker-expression value="2" /> <parameter-marker-expression value="2" />
...@@ -562,6 +574,12 @@ ...@@ -562,6 +574,12 @@
<column-left-value name="order_id" start-index="115" stop-index="124" literal-start-index="120" literal-stop-index="129"> <column-left-value name="order_id" start-index="115" stop-index="124" literal-start-index="120" literal-stop-index="129">
<owner name="o" start-index="115" stop-index="115" literal-start-index="120" literal-stop-index="120" /> <owner name="o" start-index="115" stop-index="115" literal-start-index="120" literal-stop-index="120" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="3" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="4" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -595,7 +613,6 @@ ...@@ -595,7 +613,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113"> <column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" /> <owner name="o" start-index="105" stop-index="105" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -607,6 +624,12 @@ ...@@ -607,6 +624,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138"> <column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" /> <owner name="o" start-index="129" stop-index="129" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -659,7 +682,6 @@ ...@@ -659,7 +682,6 @@
<column-left-value name="user_id" start-index="153" stop-index="161"> <column-left-value name="user_id" start-index="153" stop-index="161">
<owner name="o" start-index="153" stop-index="153" /> <owner name="o" start-index="153" stop-index="153" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -671,6 +693,12 @@ ...@@ -671,6 +693,12 @@
<column-left-value name="order_id" start-index="177" stop-index="186"> <column-left-value name="order_id" start-index="177" stop-index="186">
<owner name="o" start-index="177" stop-index="177" /> <owner name="o" start-index="177" stop-index="177" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
<predicate start-index="208" stop-index="219" literal-start-index="209" literal-stop-index="225"> <predicate start-index="208" stop-index="219" literal-start-index="209" literal-stop-index="225">
<column-left-value name="status" start-index="208" stop-index="215" literal-start-index="209" literal-stop-index="216"> <column-left-value name="status" start-index="208" stop-index="215" literal-start-index="209" literal-stop-index="216">
...@@ -723,7 +751,6 @@ ...@@ -723,7 +751,6 @@
<column-left-value name="user_id" start-index="144" stop-index="152"> <column-left-value name="user_id" start-index="144" stop-index="152">
<owner name="o" start-index="144" stop-index="144" /> <owner name="o" start-index="144" stop-index="144" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -735,6 +762,12 @@ ...@@ -735,6 +762,12 @@
<column-left-value name="order_id" start-index="168" stop-index="177"> <column-left-value name="order_id" start-index="168" stop-index="177">
<owner name="o" start-index="168" stop-index="168" /> <owner name="o" start-index="168" stop-index="168" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
<predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216"> <predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216">
<column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207"> <column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207">
...@@ -787,7 +820,6 @@ ...@@ -787,7 +820,6 @@
<column-left-value name="user_id" start-index="144" stop-index="152"> <column-left-value name="user_id" start-index="144" stop-index="152">
<owner name="o" start-index="144" stop-index="144" /> <owner name="o" start-index="144" stop-index="144" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -799,6 +831,12 @@ ...@@ -799,6 +831,12 @@
<column-left-value name="order_id" start-index="168" stop-index="177"> <column-left-value name="order_id" start-index="168" stop-index="177">
<owner name="o" start-index="168" stop-index="168" /> <owner name="o" start-index="168" stop-index="168" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
<predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216"> <predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216">
<column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207"> <column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207">
...@@ -846,7 +884,6 @@ ...@@ -846,7 +884,6 @@
<column-left-value name="user_id" start-index="144" stop-index="152"> <column-left-value name="user_id" start-index="144" stop-index="152">
<owner name="o" start-index="144" stop-index="144" /> <owner name="o" start-index="144" stop-index="144" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -858,6 +895,12 @@ ...@@ -858,6 +895,12 @@
<column-left-value name="order_id" start-index="168" stop-index="177"> <column-left-value name="order_id" start-index="168" stop-index="177">
<owner name="o" start-index="168" stop-index="168" /> <owner name="o" start-index="168" stop-index="168" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
<predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216"> <predicate start-index="199" stop-index="210" literal-start-index="200" literal-stop-index="216">
<column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207"> <column-left-value name="status" start-index="199" stop-index="206" literal-start-index="200" literal-stop-index="207">
...@@ -1016,7 +1059,6 @@ ...@@ -1016,7 +1059,6 @@
<and-predicate> <and-predicate>
<predicate start-index="28" stop-index="55" literal-stop-index="91"> <predicate start-index="28" stop-index="55" literal-stop-index="91">
<column-left-value name="rule" start-index="28" stop-index="31" /> <column-left-value name="rule" start-index="28" stop-index="31" />
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -1070,6 +1112,12 @@ ...@@ -1070,6 +1112,12 @@
<and-predicate> <and-predicate>
<predicate start-index="28" stop-index="61" literal-stop-index="97"> <predicate start-index="28" stop-index="61" literal-stop-index="97">
<column-left-value name="rule" start-index="28" stop-index="31" /> <column-left-value name="rule" start-index="28" stop-index="31" />
<between-right-value>
<between-parameter-marker-expression value="0" />
<between-literal-expression value="{&quot;rule2&quot;:&quot;null2&quot;}'::json" />
<and-parameter-marker-expression value="1" />
<and-literal-expression value="{&quot;rule3&quot;:&quot;null3&quot;}'::json" />
</between-right-value>
</predicate> </predicate>
<predicate start-index="67" stop-index="134" literal-start-index="103" literal-stop-index="174"> <predicate start-index="67" stop-index="134" literal-start-index="103" literal-stop-index="174">
<column-left-value name="start_point" start-index="67" stop-index="77" literal-start-index="103" literal-stop-index="113" /> <column-left-value name="start_point" start-index="67" stop-index="77" literal-start-index="103" literal-stop-index="113" />
......
...@@ -132,7 +132,6 @@ ...@@ -132,7 +132,6 @@
<column-left-value name="user_id" start-index="122" stop-index="130"> <column-left-value name="user_id" start-index="122" stop-index="130">
<owner name="o" start-index="122" stop-index="122" /> <owner name="o" start-index="122" stop-index="122" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -144,6 +143,12 @@ ...@@ -144,6 +143,12 @@
<column-left-value name="order_id" start-index="146" stop-index="155"> <column-left-value name="order_id" start-index="146" stop-index="155">
<owner name="o" start-index="146" stop-index="146" /> <owner name="o" start-index="146" stop-index="146" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -175,7 +180,6 @@ ...@@ -175,7 +180,6 @@
<column-left-value name="user_id" start-index="125" stop-index="133"> <column-left-value name="user_id" start-index="125" stop-index="133">
<owner name="o" start-index="125" stop-index="125" /> <owner name="o" start-index="125" stop-index="125" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -187,6 +191,12 @@ ...@@ -187,6 +191,12 @@
<column-left-value name="order_id" start-index="149" stop-index="158"> <column-left-value name="order_id" start-index="149" stop-index="158">
<owner name="o" start-index="149" stop-index="149" /> <owner name="o" start-index="149" stop-index="149" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
......
...@@ -61,7 +61,6 @@ ...@@ -61,7 +61,6 @@
<column-left-value name="item_id" start-index="57" stop-index="65" literal-start-index="62" literal-stop-index="70"> <column-left-value name="item_id" start-index="57" stop-index="65" literal-start-index="62" literal-stop-index="70">
<owner name="t" start-index="57" stop-index="57" literal-start-index="62" literal-stop-index="62" /> <owner name="t" start-index="57" stop-index="57" literal-start-index="62" literal-stop-index="62" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
<parameter-marker-expression value="2" /> <parameter-marker-expression value="2" />
......
...@@ -127,7 +127,6 @@ ...@@ -127,7 +127,6 @@
<column-left-value name="user_id" start-index="125" stop-index="133"> <column-left-value name="user_id" start-index="125" stop-index="133">
<owner name="o" start-index="125" stop-index="125" /> <owner name="o" start-index="125" stop-index="125" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -139,6 +138,12 @@ ...@@ -139,6 +138,12 @@
<column-left-value name="order_id" start-index="149" stop-index="158"> <column-left-value name="order_id" start-index="149" stop-index="158">
<owner name="o" start-index="149" stop-index="149" /> <owner name="o" start-index="149" stop-index="149" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -221,7 +226,6 @@ ...@@ -221,7 +226,6 @@
<and-predicate> <and-predicate>
<predicate start-index="112" stop-index="129" literal-stop-index="135"> <predicate start-index="112" stop-index="129" literal-stop-index="135">
<column-left-value name="order_id" start-index="112" stop-index="119" /> <column-left-value name="order_id" start-index="112" stop-index="119" />
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113"> <column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" /> <owner name="o" start-index="105" stop-index="105" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -45,6 +44,12 @@ ...@@ -45,6 +44,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138"> <column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" /> <owner name="o" start-index="129" stop-index="129" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -82,7 +87,6 @@ ...@@ -82,7 +87,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113"> <column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" /> <owner name="o" start-index="105" stop-index="105" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -94,6 +98,12 @@ ...@@ -94,6 +98,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138"> <column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" /> <owner name="o" start-index="129" stop-index="129" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -131,7 +141,6 @@ ...@@ -131,7 +141,6 @@
<column-left-value name="user_id" start-delimiter="`" end-delimiter="`" start-index="109" stop-index="119"> <column-left-value name="user_id" start-delimiter="`" end-delimiter="`" start-index="109" stop-index="119">
<owner name="o" start-index="109" stop-index="109" /> <owner name="o" start-index="109" stop-index="109" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -143,6 +152,12 @@ ...@@ -143,6 +152,12 @@
<column-left-value name="order_id" start-delimiter="`" end-delimiter="`" start-index="135" stop-index="146"> <column-left-value name="order_id" start-delimiter="`" end-delimiter="`" start-index="135" stop-index="146">
<owner name="o" start-index="135" stop-index="135" /> <owner name="o" start-index="135" stop-index="135" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -181,7 +196,6 @@ ...@@ -181,7 +196,6 @@
<column-left-value name="user_id" start-delimiter="`" end-delimiter="`" start-index="109" stop-index="119"> <column-left-value name="user_id" start-delimiter="`" end-delimiter="`" start-index="109" stop-index="119">
<owner name="o" start-index="109" stop-index="109" /> <owner name="o" start-index="109" stop-index="109" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -193,6 +207,12 @@ ...@@ -193,6 +207,12 @@
<column-left-value name="order_id" start-delimiter="`" end-delimiter="`" start-index="135" stop-index="146"> <column-left-value name="order_id" start-delimiter="`" end-delimiter="`" start-index="135" stop-index="146">
<owner name="o" start-index="135" stop-index="135" /> <owner name="o" start-index="135" stop-index="135" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -243,7 +263,6 @@ ...@@ -243,7 +263,6 @@
<column-left-value name="user_id" start-index="256" stop-index="264"> <column-left-value name="user_id" start-index="256" stop-index="264">
<owner name="o" start-index="256" stop-index="256" /> <owner name="o" start-index="256" stop-index="256" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
<parameter-marker-expression value="2" /> <parameter-marker-expression value="2" />
...@@ -255,6 +274,12 @@ ...@@ -255,6 +274,12 @@
<column-left-value name="order_id" start-index="280" stop-index="289"> <column-left-value name="order_id" start-index="280" stop-index="289">
<owner name="o" start-index="280" stop-index="280" /> <owner name="o" start-index="280" stop-index="280" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="3" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="4" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -292,7 +317,6 @@ ...@@ -292,7 +317,6 @@
<column-left-value name="user_id" start-index="105" stop-index="113"> <column-left-value name="user_id" start-index="105" stop-index="113">
<owner name="o" start-index="105" stop-index="105" /> <owner name="o" start-index="105" stop-index="105" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -304,6 +328,12 @@ ...@@ -304,6 +328,12 @@
<column-left-value name="order_id" start-index="129" stop-index="138"> <column-left-value name="order_id" start-index="129" stop-index="138">
<owner name="o" start-index="129" stop-index="129" /> <owner name="o" start-index="129" stop-index="129" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
<column-left-value name="user_id" start-index="111" stop-index="119"> <column-left-value name="user_id" start-index="111" stop-index="119">
<owner name="o" start-index="111" stop-index="111" /> <owner name="o" start-index="111" stop-index="111" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -45,6 +44,12 @@ ...@@ -45,6 +44,12 @@
<column-left-value name="order_id" start-index="135" stop-index="144"> <column-left-value name="order_id" start-index="135" stop-index="144">
<owner name="o" start-index="135" stop-index="135" /> <owner name="o" start-index="135" stop-index="135" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
...@@ -87,7 +92,6 @@ ...@@ -87,7 +92,6 @@
<column-left-value name="user_id" start-index="111" stop-index="119"> <column-left-value name="user_id" start-index="111" stop-index="119">
<owner name="o" start-index="111" stop-index="111" /> <owner name="o" start-index="111" stop-index="111" />
</column-left-value> </column-left-value>
<operator type="IN" />
<in-right-value> <in-right-value>
<parameter-marker-expression value="0" /> <parameter-marker-expression value="0" />
<parameter-marker-expression value="1" /> <parameter-marker-expression value="1" />
...@@ -99,6 +103,12 @@ ...@@ -99,6 +103,12 @@
<column-left-value name="order_id" start-index="135" stop-index="144"> <column-left-value name="order_id" start-index="135" stop-index="144">
<owner name="o" start-index="135" stop-index="135" /> <owner name="o" start-index="135" stop-index="135" />
</column-left-value> </column-left-value>
<between-right-value>
<between-parameter-marker-expression value="2" />
<between-literal-expression value="9" />
<and-parameter-marker-expression value="3" />
<and-literal-expression value="10" />
</between-right-value>
</predicate> </predicate>
</and-predicate> </and-predicate>
</where> </where>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册