@@ -9230,7 +9230,7 @@ int ObDMLResolver::resolve_generated_column_expr(const ObString &expr_str,
92309230 if (OB_FAIL(check_need_fill_embedded_vec_expr_param(*stmt, *column_schema, need_fill))) {
92319231 LOG_WARN("fail to check need fill embedded_vec expr param", K(ret), KPC(column_schema), KPC(ref_expr));
92329232 } else if (need_fill) {
9233- if (OB_FAIL(fill_embedded_vec_expr_param(table_item.table_id_, table_item.ref_id_, basic_column_item->column_id_ , table_schema, ref_expr, stmt))) {
9233+ if (OB_FAIL(fill_embedded_vec_expr_param(table_item.table_id_, table_item.ref_id_, column_schema->get_column_id() , table_schema, ref_expr, stmt))) {
92349234 LOG_WARN("fail to fill embedded vec expr param", K(ret), K(table_item), KP(table_schema), KP(ref_expr));
92359235 }
92369236 }
@@ -17385,7 +17385,7 @@ int ObDMLResolver::fill_embedded_vec_expr_param(
1738517385 param,
1738617386 param_filled))) {
1738717387 LOG_WARN("failed to get vector index param", K(ret));
17388- } else if (table_schema->is_user_table() && OB_FAIL(ObVectorIndexUtil::check_hybrid_embedded_vec_table_readable (schema_checker_->get_schema_guard(), *table_schema, embedded_vec_tid, true))) {
17388+ } else if (table_schema->is_user_table() && OB_FAIL(ObVectorIndexUtil::check_hybrid_embedded_vec_cid_table_readable (schema_checker_->get_schema_guard(), *table_schema, column_id , embedded_vec_tid, true))) {
1738917389 LOG_WARN("not embedded vec expr", K(ret), "expr type", embedded_vec_expr->get_expr_type());
1739017390 } else if (OB_INVALID_ID == embedded_vec_tid) {
1739117391 // do nothing, skip the embedded vec column
@@ -18142,6 +18142,21 @@ int ObDMLResolver::check_domain_id_need_column_ref_expr(ObDMLStmt &stmt, ObSchem
1814218142 } else if (OB_INVALID_ID != rowkey_cid_tid) {
1814318143 need_column_ref_expr = true;
1814418144 }
18145+ } else if (col_schema->is_hybrid_embedded_vec_column()) {
18146+ uint64_t embedded_vec_tid = OB_INVALID_ID;
18147+ const share::schema::ObTableSchema *table = nullptr;
18148+ const ObSimpleTableSchemaV2 *index_schema = nullptr;
18149+ if (OB_FAIL(schema_checker_->get_table_schema(session_info_->get_effective_tenant_id(), col_schema->get_table_id(), table))) {
18150+ LOG_WARN("fail to get ddl table schema", K(ret));
18151+ } else if (OB_FAIL(ObVectorIndexUtil::check_hybrid_embedded_vec_cid_table_readable(
18152+ schema_guard,
18153+ *table,
18154+ col_schema->get_column_id(),
18155+ embedded_vec_tid))) {
18156+ LOG_WARN("fail to check hybrid vector embedding table", K(ret), KPC(table));
18157+ } else if (OB_INVALID_ID != embedded_vec_tid) {
18158+ need_column_ref_expr = true;
18159+ }
1814518160 } else {
1814618161 need_column_ref_expr = true;
1814718162 }
0 commit comments