feat:[TS-5613]support bool in cast
This commit is contained in:
parent
47e23e3d99
commit
ee0f7a4d38
|
@ -1454,13 +1454,13 @@ boolean_value_expression(A) ::= NOT(C) boolean_primary(B).
|
|||
A = createRawExprNodeExt(pCxt, &C, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, B), NULL));
|
||||
}
|
||||
boolean_value_expression(A) ::=
|
||||
boolean_value_expression(B) OR boolean_value_expression(C). {
|
||||
expr_or_subquery(B) OR expr_or_subquery(C). {
|
||||
SToken s = getTokenFromRawExprNode(pCxt, B);
|
||||
SToken e = getTokenFromRawExprNode(pCxt, C);
|
||||
A = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, B), releaseRawExprNode(pCxt, C)));
|
||||
}
|
||||
boolean_value_expression(A) ::=
|
||||
boolean_value_expression(B) AND boolean_value_expression(C). {
|
||||
expr_or_subquery(B) AND expr_or_subquery(C). {
|
||||
SToken s = getTokenFromRawExprNode(pCxt, B);
|
||||
SToken e = getTokenFromRawExprNode(pCxt, C);
|
||||
A = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, B), releaseRawExprNode(pCxt, C)));
|
||||
|
|
|
@ -60,6 +60,18 @@ class TDTestCase:
|
|||
tdSql.query(sql)
|
||||
tdSql.checkData(0,0,1)
|
||||
|
||||
sql = "select cast(2 not in(3) as int) from t"
|
||||
tdSql.query(sql)
|
||||
tdSql.checkData(0,0,1)
|
||||
|
||||
sql = "select cast(2 is NULL as int) from t"
|
||||
tdSql.query(sql)
|
||||
tdSql.checkData(0,0,0)
|
||||
|
||||
sql = "select cast(2 and 1 as int) from t"
|
||||
tdSql.query(sql)
|
||||
tdSql.checkData(0,0,1)
|
||||
|
||||
def stop(self):
|
||||
tdSql.close()
|
||||
tdLog.success("%s successfully executed" % __file__)
|
||||
|
|
Loading…
Reference in New Issue