Fix prepare stmt error 4016

This commit is contained in:
obdev
2024-01-22 09:42:40 +00:00
committed by ob-robot
parent b3c59d1dc5
commit 7acad5e931
3 changed files with 11 additions and 3 deletions

View File

@ -3539,7 +3539,11 @@ int ObNumber::to_sci_str_(ObString &num_str, char *buf,
} }
buf[digit_start_pos] = '1'; buf[digit_start_pos] = '1';
buf[digit_start_pos + 1] = '.'; buf[digit_start_pos + 1] = '.';
++pow_size; if ('-' == pow_str[1]) {
--pow_size;
} else {
++pow_size;
}
} }
} }
} }

View File

@ -1696,7 +1696,11 @@ int ObNFMBase::num_str_to_sci(const common::ObString &num_str, const int32_t sca
if (decimal_appear) { if (decimal_appear) {
buf[digit_start_pos + 1] = '.'; buf[digit_start_pos + 1] = '.';
} }
++pow_size; if ('-' == pow_str[1]) {
--pow_size;
} else {
++pow_size;
}
} }
} }
} }

View File

@ -54,7 +54,7 @@ int ObPrepareResolver::resolve(const ParseNode &parse_tree)
prepare_stmt->set_prepare_sql(stmt_expr); prepare_stmt->set_prepare_sql(stmt_expr);
} }
} else { } else {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_PARSER_SYNTAX;
LOG_WARN("invalid name node", K(name_node->type_), K(ret)); LOG_WARN("invalid name node", K(name_node->type_), K(ret));
} }
} }