diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 668beeaffd2aaf895125534927963ebaef94271d..c69e1a487b2556d888639b1c646d641031f33a89 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -2661,7 +2661,7 @@ static int32_t setExprInfoForFunctions(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SS } } else if (f == TSDB_FUNC_INTERP) { int32_t t1 = pSchema->type; - if (!IS_NUMERIC_TYPE(t1)) { + if (!IS_NUMERIC_TYPE(t1) && (t1 != TSDB_DATA_TYPE_BOOL)) { invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg1); return -1; } @@ -6875,7 +6875,7 @@ int32_t validateFillNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlNo if ((!isTimeWindowQuery(pQueryInfo)) && (!pointInterp)) { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg5); } - + if (QUERY_IS_JOIN_QUERY(pQueryInfo->type) && (!pointInterp)) { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg7); } @@ -6891,9 +6891,9 @@ int32_t validateFillNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlNo if (pItem->pVar.nType != TSDB_DATA_TYPE_BINARY) { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2); } - + size_t numOfFields = tscNumOfFields(pQueryInfo); - + if (pQueryInfo->fillVal == NULL) { pQueryInfo->fillVal = calloc(numOfFields, sizeof(int64_t)); pQueryInfo->numOfFillVal = (int32_t)numOfFields; @@ -6954,7 +6954,7 @@ int32_t validateFillNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlNo return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg4); } } - + if ((num < numOfFields) || ((num - 1 < numOfFields) && pointInterp)) { tVariantListItem* lastItem = taosArrayGetLast(pFillToken); @@ -6990,13 +6990,13 @@ int32_t validateRangeNode(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNode* pSqlN const char *msg0 = "invalid usage of range clause"; const char* msg1 = "invalid timestamp in range"; SSqlCmd* pCmd = &pSql->cmd; - + bool interpQuery = tscIsPointInterpQuery(pQueryInfo); if ((!interpQuery) && (pSqlNode->pRange.start || pSqlNode->pRange.end)) { return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg0); } - + if (pSqlNode->pRange.start == NULL || pSqlNode->pRange.end == NULL) { pQueryInfo->range.skey = INT64_MIN; pQueryInfo->range.ekey = INT64_MIN; diff --git a/src/common/src/tvariant.c b/src/common/src/tvariant.c index 13d67c5552098e948e27afa5f5d1be3aa0d7e718..a3544f49a1ddff83cd398fffa4913a9dc8f6348d 100644 --- a/src/common/src/tvariant.c +++ b/src/common/src/tvariant.c @@ -670,7 +670,7 @@ static int32_t convertToBool(tVariant *pVariant, int64_t *pDest) { if ((ret = convertToBoolImpl(pVariant->pz, pVariant->nLen)) < 0) { return ret; } - + *pDest = ret; } else if (pVariant->nType == TSDB_DATA_TYPE_NCHAR) { int32_t ret = 0; @@ -681,7 +681,7 @@ static int32_t convertToBool(tVariant *pVariant, int64_t *pDest) { } else if (pVariant->nType == TSDB_DATA_TYPE_NULL) { *pDest = TSDB_DATA_BOOL_NULL; } - + assert(*pDest == TSDB_TRUE || *pDest == TSDB_FALSE || *pDest == TSDB_DATA_BOOL_NULL); return 0; } @@ -702,7 +702,7 @@ int32_t tVariantDumpEx(tVariant *pVariant, char *payload, int16_t type, bool inc if (converted) { *converted = false; } - + if (pVariant == NULL || (pVariant->nType != 0 && !isValidDataType(pVariant->nType))) { return -1; } @@ -719,7 +719,7 @@ int32_t tVariantDumpEx(tVariant *pVariant, char *payload, int16_t type, bool inc *(int8_t *)payload = (int8_t)result; break; } - + case TSDB_DATA_TYPE_TINYINT: { if (convertToInteger(pVariant, &result, type, true, false, converted) < 0) { SET_EXT_INFO(converted, result, INT8_MIN + 1, INT8_MAX, extInfo); @@ -730,14 +730,14 @@ int32_t tVariantDumpEx(tVariant *pVariant, char *payload, int16_t type, bool inc } case TSDB_DATA_TYPE_UTINYINT: { - if (convertToInteger(pVariant, &result, type, false, false, converted) < 0) { + if (convertToInteger(pVariant, &result, type, false, false, converted) < 0) { SET_EXT_INFO(converted, result, 0, UINT8_MAX - 1, extInfo); return -1; } *((uint8_t *)payload) = (uint8_t) result; break; } - + case TSDB_DATA_TYPE_SMALLINT: { if (convertToInteger(pVariant, &result, type, true, false, converted) < 0) { SET_EXT_INFO(converted, result, INT16_MIN + 1, INT16_MAX, extInfo); @@ -755,7 +755,7 @@ int32_t tVariantDumpEx(tVariant *pVariant, char *payload, int16_t type, bool inc *((uint16_t *)payload) = (uint16_t)result; break; } - + case TSDB_DATA_TYPE_INT: { if (convertToInteger(pVariant, &result, type, true, false, converted) < 0) { SET_EXT_INFO(converted, result, INT32_MIN + 1, INT32_MAX, extInfo); @@ -773,7 +773,7 @@ int32_t tVariantDumpEx(tVariant *pVariant, char *payload, int16_t type, bool inc *((uint32_t *)payload) = (uint32_t)result; break; } - + case TSDB_DATA_TYPE_BIGINT: { if (convertToInteger(pVariant, &result, type, true, false, converted) < 0) { SET_EXT_INFO(converted, (int64_t)result, INT64_MIN + 1, INT64_MAX, extInfo); diff --git a/tests/script/general/parser/interp_full_test1.sim b/tests/script/general/parser/interp_full_test1.sim index 858d58768bd6c0ab78d6debf0e4208d375080ef8..d508b9350ef241293dafa495d9c42715065834fa 100644 --- a/tests/script/general/parser/interp_full_test1.sim +++ b/tests/script/general/parser/interp_full_test1.sim @@ -3,7 +3,6 @@ sql connect sql use db; -sql_error SELECT INTERP(c7) FROM tb1; sql_error SELECT INTERP(c8) FROM tb1; sql_error SELECT INTERP(c9) FROM tb1; sql_error SELECT INTERP(c1,c8) FROM tb1; diff --git a/tests/script/general/parser/interp_full_test2.sim b/tests/script/general/parser/interp_full_test2.sim index e044ef572bbb97d7d71ec96821e8f0e65b21389e..66bbf0ec973c28cba0299a7e441791b58ad46c37 100644 --- a/tests/script/general/parser/interp_full_test2.sim +++ b/tests/script/general/parser/interp_full_test2.sim @@ -2358,3 +2358,789 @@ endi if $data96 != tb2 then return -1 endi + + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(NULL); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +print $data01 +print $data11 +print $data21 +print $data31 +print $data41 +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != NULL then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != NULL then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != NULL then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != NULL then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != NULL then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != NULL then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(PREV); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 1 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 1 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 0 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 0 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 0 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(NEXT); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 1 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 0 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 1 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 1 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 1 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 1); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 1 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 1 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 1 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 1 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 1 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 1 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 1.5); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 1 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 1 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 1 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 1 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 1 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 1 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 1); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 1 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 1 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 1 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 1 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 1 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 1 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 0); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 0 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 0 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 0 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 0 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 0 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 0.0); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 0 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 0 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 0 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 0 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 0 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 0); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 0 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 0 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 0 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 0 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 0 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, 'abc'); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 0 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 0 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 0 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 0 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 0 then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(VALUE, NULL); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != NULL then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != NULL then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != NULL then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != NULL then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != NULL then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != NULL then + return -1 +endi + +sql SELECT INTERP(c7) FROM tb2 RANGE('2021-10-20 10:00:00','2021-10-20 10:00:14') EVERY(1s) FILL(LINEAR); +if $rows != 15 then + return -1 +endi +if $data00 != @21-10-20 10:00:00.000@ then + return -1 +endi +if $data01 != 1 then + return -1 +endi +if $data10 != @21-10-20 10:00:01.000@ then + return -1 +endi +if $data11 != 1 then + return -1 +endi +if $data20 != @21-10-20 10:00:02.000@ then + return -1 +endi +if $data21 != 1 then + return -1 +endi +if $data30 != @21-10-20 10:00:03.000@ then + return -1 +endi +if $data31 != 0 then + return -1 +endi +if $data40 != @21-10-20 10:00:04.000@ then + return -1 +endi +if $data41 != 0 then + return -1 +endi +if $data50 != @21-10-20 10:00:05.000@ then + return -1 +endi +if $data51 != 0 then + return -1 +endi +if $data60 != @21-10-20 10:00:06.000@ then + return -1 +endi +if $data61 != 0 then + return -1 +endi +if $data70 != @21-10-20 10:00:07.000@ then + return -1 +endi +if $data71 != 0 then + return -1 +endi +if $data80 != @21-10-20 10:00:08.000@ then + return -1 +endi +if $data81 != 0 then + return -1 +endi +if $data90 != @21-10-20 10:00:09.000@ then + return -1 +endi +if $data91 != 0 then + return -1 +endi