commit
5875b8e99b
|
@ -2013,6 +2013,7 @@ static int16_t doGetColumnIndex(SQueryInfo* pQueryInfo, int32_t index, SSQLToken
|
||||||
|
|
||||||
if (strncasecmp(pSchema[i].name, pToken->z, pToken->n) == 0) {
|
if (strncasecmp(pSchema[i].name, pToken->z, pToken->n) == 0) {
|
||||||
columnIndex = i;
|
columnIndex = i;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2908,6 +2909,7 @@ static int32_t extractColumnFilterInfo(SQueryInfo* pQueryInfo, SColumnIndex* pIn
|
||||||
|
|
||||||
const char* msg1 = "non binary column not support like operator";
|
const char* msg1 = "non binary column not support like operator";
|
||||||
const char* msg2 = "binary column not support this operator";
|
const char* msg2 = "binary column not support this operator";
|
||||||
|
const char* msg3 = "bool column not support this operator";
|
||||||
|
|
||||||
SColumn* pColumn = tscColumnListInsert(pQueryInfo->colList, pIndex);
|
SColumn* pColumn = tscColumnListInsert(pQueryInfo->colList, pIndex);
|
||||||
SColumnFilterInfo* pColFilter = NULL;
|
SColumnFilterInfo* pColFilter = NULL;
|
||||||
|
@ -2941,6 +2943,12 @@ static int32_t extractColumnFilterInfo(SQueryInfo* pQueryInfo, SColumnIndex* pIn
|
||||||
if (pExpr->nSQLOptr == TK_LIKE) {
|
if (pExpr->nSQLOptr == TK_LIKE) {
|
||||||
return invalidSqlErrMsg(pQueryInfo->msg, msg1);
|
return invalidSqlErrMsg(pQueryInfo->msg, msg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pSchema->type == TSDB_DATA_TYPE_BOOL) {
|
||||||
|
if (pExpr->nSQLOptr != TK_EQ && pExpr->nSQLOptr != TK_NE) {
|
||||||
|
return invalidSqlErrMsg(pQueryInfo->msg, msg3);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pColumn->colIndex = *pIndex;
|
pColumn->colIndex = *pIndex;
|
||||||
|
@ -6073,6 +6081,16 @@ int32_t exprTreeFromSqlExpr(tExprNode **pExpr, const tSQLExpr* pSqlExpr, SArray*
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((*pExpr)->_node.optr != TSDB_RELATION_EQUAL && (*pExpr)->_node.optr != TSDB_RELATION_NOT_EQUAL) {
|
||||||
|
if (pRight->nodeType == TSQL_NODE_VALUE) {
|
||||||
|
if ( pRight->pVal->nType == TSDB_DATA_TYPE_BOOL
|
||||||
|
|| pRight->pVal->nType == TSDB_DATA_TYPE_BINARY
|
||||||
|
|| pRight->pVal->nType == TSDB_DATA_TYPE_NCHAR) {
|
||||||
|
return TSDB_CODE_TSC_INVALID_SQL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue