opti:modify case when result type

This commit is contained in:
lyh250-666 2024-10-15 17:32:04 +08:00
parent e7215c5a24
commit babd3f6360
1 changed files with 12 additions and 7 deletions

View File

@ -3213,15 +3213,20 @@ static bool selectCommonType(SDataType* commonType, const SDataType* newType) {
} else {
resultType = gDisplyTypes[type2][type1];
}
if (resultType == -1) {
if (resultType == -1 || resultType == 0) {
return false;
} else if (resultType == 0) {
return false;
} else {
commonType->type = resultType;
commonType->bytes = (commonType->bytes >= newType->bytes) ? commonType->bytes : newType->bytes;
return true;
}
if (resultType == commonType->type){
return true;
}
if(resultType == newType->type) {
*commonType = *newType;
return true;
}
commonType->type = resultType;
commonType->bytes = TYPE_BYTES[resultType];
return true;
}
static EDealRes translateCaseWhen(STranslateContext* pCxt, SCaseWhenNode* pCaseWhen) {