Fix: replace into generated column return -4016

This commit is contained in:
obdev
2023-02-13 05:14:19 +00:00
committed by ob-robot
parent 7ff077d872
commit f5338e1cdd

View File

@ -649,8 +649,11 @@ int ObDmlCgService::convert_data_table_rowkey_info(ObLogDelUpd &op,
for (int64_t i = 0; OB_SUCC(ret) && i < rowkey_exprs.count(); ++i) {
ObRawExpr *expr = rowkey_exprs.at(i);
if (!expr->is_column_ref_expr()) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("expr type is not column_ref expr", K(ret), KPC(expr));
// do nothing.
// For a 4.x partition table without a primary key, there is no redundant partition key in the primary key,
// so its unique_key is a hidden auto-increment column + partition key. For replace and insert_up scenarios,
// here will be no primary key conflicts when writing the primary table , so the main table does not need to bring back unique_key
// (self-increment column + partition construction)
} else {
ObColumnRefRawExpr *col_expr = static_cast<ObColumnRefRawExpr *>(expr);
uint64_t base_cid = OB_INVALID_ID;