提交 7fda5a86 编写于 作者: G Ganlin Zhao

fix(query): fix to_ISO8601 function crash when processing constant

illegal inputs

TD-15211
上级 b556d1fa
...@@ -1268,7 +1268,7 @@ static bool validateMinuteRange(int8_t hour, int8_t minute, char sign) { ...@@ -1268,7 +1268,7 @@ static bool validateMinuteRange(int8_t hour, int8_t minute, char sign) {
} }
static bool validateTimestampDigits(const SValueNode* pVal) { static bool validateTimestampDigits(const SValueNode* pVal) {
if (IS_INTEGER_TYPE(pVal->node.resType.type)) { if (!IS_INTEGER_TYPE(pVal->node.resType.type)) {
return false; return false;
} }
......
...@@ -856,10 +856,13 @@ int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutp ...@@ -856,10 +856,13 @@ int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutp
int32_t toISO8601Function(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput) { int32_t toISO8601Function(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutput) {
int32_t type = GET_PARAM_TYPE(pInput); int32_t type = GET_PARAM_TYPE(pInput);
bool tzPresent = (inputNum == 2) ? true : false;
char* tz; char* tz;
int32_t tzLen; int32_t tzLen;
tz = varDataVal(pInput[1].columnData->pData); if (tzPresent) {
tzLen = varDataLen(pInput[1].columnData->pData); tz = varDataVal(pInput[1].columnData->pData);
tzLen = varDataLen(pInput[1].columnData->pData);
}
for (int32_t i = 0; i < pInput[0].numOfRows; ++i) { for (int32_t i = 0; i < pInput[0].numOfRows; ++i) {
if (colDataIsNull_s(pInput[0].columnData, i)) { if (colDataIsNull_s(pInput[0].columnData, i)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册