diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 915bb113816310f7fb0fe6e8349e8f2dc1a097e6..f4c107199bb0556b4d9476b6fb435d7a471affc8 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -4465,11 +4465,14 @@ static int32_t validateMatchExpr(tSqlExpr* pExpr, STableMeta* pTableMeta, int32_ SSchema* pSchema = tscGetTableSchema(pTableMeta); if ((pLeft->tokenId != TK_ARROW) && (!isTablenameToken(&pLeft->columnName)) - && (pSchema[index].type != TSDB_DATA_TYPE_BINARY) - && (pSchema[index].type == TSDB_DATA_TYPE_JSON && !JSON_TYPE_BINARY)) { + && (pSchema[index].type != TSDB_DATA_TYPE_BINARY)) { return invalidOperationMsg(msgBuf, msg2); } + if(pLeft->tokenId == TK_ARROW && pSchema[index].type == TSDB_DATA_TYPE_JSON && !JSON_TYPE_BINARY){ + return invalidOperationMsg(msgBuf, msg2); + } + if (!(pRight->type == SQL_NODE_VALUE && pRight->value.nType == TSDB_DATA_TYPE_BINARY)) { return invalidOperationMsg(msgBuf, msg3); }