From 60b61c9a6c1e8317c2668660eb501c22088f25c0 Mon Sep 17 00:00:00 2001 From: LINxiansheng Date: Mon, 19 Feb 2024 12:42:27 +0000 Subject: [PATCH] add docker env to cluster name --- src/sql/engine/expr/ob_expr_ols_funcs.cpp | 4 ++-- src/sql/resolver/dml/ob_del_upd_resolver.cpp | 5 ++++- src/sql/resolver/dml/ob_del_upd_resolver.h | 4 +++- src/sql/resolver/dml/ob_insert_resolver.cpp | 17 ----------------- src/sql/resolver/dml/ob_insert_resolver.h | 1 - src/sql/resolver/dml/ob_merge_resolver.cpp | 5 ++++- src/sql/resolver/expr/ob_raw_expr.cpp | 4 ++++ tools/docker/standalone/step_2_boot/_boot | 1 + 8 files changed, 18 insertions(+), 23 deletions(-) diff --git a/src/sql/engine/expr/ob_expr_ols_funcs.cpp b/src/sql/engine/expr/ob_expr_ols_funcs.cpp index f7732f8e6..056fd936e 100644 --- a/src/sql/engine/expr/ob_expr_ols_funcs.cpp +++ b/src/sql/engine/expr/ob_expr_ols_funcs.cpp @@ -1296,7 +1296,7 @@ int ObExprOLSSessionLabel::eval_label(const ObExpr &expr, ObEvalCtx &ctx, ObDatu } else if (OB_FAIL(session->replace_new_session_label(policy_id, session_label))) { LOG_WARN("fail to replace new session label", K(ret)); } - LOG_DEBUG("load default session label", K(ret)); + LOG_DEBUG("load default session label", K(ret), K(session_label)); } } @@ -1592,7 +1592,7 @@ int ObExprOLSLabelCheck::eval_label_check(const ObExpr &expr, ObEvalCtx &ctx, Ob ols_label_schema))) { LOG_WARN("get label schema failed", K(ret)); } else if (OB_FAIL(LABEL_SCHEMA_CHECKER.validate(ols_label_schema))) { - LOG_WARN("label schema not exist", K(ret)); + LOG_WARN("label schema not exist", K(ret), K(label_tag_value), K(tenant_id)); } else if (ols_label_schema->get_flag() != 1) { ret = OB_ERR_POLICY_WITH_CHECK_OPTION_VIOLATION; LOG_WARN("data label is false for write dml", K(ret)); diff --git a/src/sql/resolver/dml/ob_del_upd_resolver.cpp b/src/sql/resolver/dml/ob_del_upd_resolver.cpp index 243a4523b..a31e00fad 100644 --- a/src/sql/resolver/dml/ob_del_upd_resolver.cpp +++ b/src/sql/resolver/dml/ob_del_upd_resolver.cpp @@ -3268,7 +3268,8 @@ int ObDelUpdResolver::resolve_insert_columns(const ParseNode *node, } int ObDelUpdResolver::resolve_insert_values(const ParseNode *node, - ObInsertTableInfo& table_info) + ObInsertTableInfo& table_info, + ObIArray &label_se_columns) { int ret = OB_SUCCESS; ObDelUpdStmt *del_upd_stmt = get_del_upd_stmt(); @@ -3497,6 +3498,8 @@ int ObDelUpdResolver::resolve_insert_values(const ParseNode *node, if (OB_SUCC(ret)) { if (OB_FAIL(add_new_value_for_oracle_temp_table(value_row))) { LOG_WARN("failed to add __session_id value"); + } else if (OB_FAIL(add_new_value_for_oracle_label_security_table(table_info, label_se_columns, value_row))) { + LOG_WARN("fail to add new value for oracle label security table", K(ret)); } else if (OB_FAIL(append(table_info.values_vector_, value_row))) { LOG_WARN("failed to append value row", K(ret)); } diff --git a/src/sql/resolver/dml/ob_del_upd_resolver.h b/src/sql/resolver/dml/ob_del_upd_resolver.h index 2f3b718d8..c85129d18 100644 --- a/src/sql/resolver/dml/ob_del_upd_resolver.h +++ b/src/sql/resolver/dml/ob_del_upd_resolver.h @@ -190,7 +190,9 @@ protected: int resolve_insert_columns(const ParseNode *node, ObInsertTableInfo& table_info); - int resolve_insert_values(const ParseNode *node, ObInsertTableInfo& table_info); + int resolve_insert_values(const ParseNode *node, + ObInsertTableInfo& table_info, + common::ObIArray &label_se_columns); int check_column_value_pair(common::ObArray *value_row, ObInsertTableInfo& table_info, const int64_t row_index, diff --git a/src/sql/resolver/dml/ob_insert_resolver.cpp b/src/sql/resolver/dml/ob_insert_resolver.cpp index e97dd03eb..00ce87107 100644 --- a/src/sql/resolver/dml/ob_insert_resolver.cpp +++ b/src/sql/resolver/dml/ob_insert_resolver.cpp @@ -1448,22 +1448,5 @@ int ObInsertResolver::try_expand_returning_exprs() return ret; } -int ObInsertResolver::resolve_insert_values(const ParseNode *node, - ObInsertTableInfo& table_info, - ObIArray& label_se_columns) -{ - int ret = OB_SUCCESS; - ObArray value_row; - if (OB_FAIL(ObDelUpdResolver::resolve_insert_values(node, table_info))) { - LOG_WARN("failed to resolve insert values", K(ret)); - } else if (OB_FAIL(add_new_value_for_oracle_label_security_table(table_info, label_se_columns, value_row))) { - LOG_WARN("fail to add new value for oracle label security table", K(ret)); - } else if (OB_FAIL(append(table_info.values_vector_, value_row))) { - LOG_WARN("failed to append value row", K(ret)); - } - value_row.reset(); - return ret; -} - } // namespace sql } // namespace oceanbase diff --git a/src/sql/resolver/dml/ob_insert_resolver.h b/src/sql/resolver/dml/ob_insert_resolver.h index dab0c5059..6597c25fb 100644 --- a/src/sql/resolver/dml/ob_insert_resolver.h +++ b/src/sql/resolver/dml/ob_insert_resolver.h @@ -60,7 +60,6 @@ protected: virtual int mock_values_column_ref(const ObColumnRefRawExpr *column_ref) override; virtual int resolve_order_item(const ParseNode &sort_node, OrderItem &order_item) override; virtual int resolve_column_ref_expr(const ObQualifiedName &q_name, ObRawExpr *&real_ref_expr) override; - int resolve_insert_values(const ParseNode *node, ObInsertTableInfo& table_info, ObIArray& label_se_columns); private: int resolve_insert_clause(const ParseNode &node); int resolve_insert_field(const ParseNode &insert_into, TableItem*& table_item); diff --git a/src/sql/resolver/dml/ob_merge_resolver.cpp b/src/sql/resolver/dml/ob_merge_resolver.cpp index 3a5d37432..de99e81c4 100644 --- a/src/sql/resolver/dml/ob_merge_resolver.cpp +++ b/src/sql/resolver/dml/ob_merge_resolver.cpp @@ -506,6 +506,7 @@ int ObMergeResolver::resolve_insert_clause(const ParseNode *insert_node) ParseNode *columns_node = NULL; ParseNode *value_node = NULL; ParseNode *where_node = NULL; + ObArray label_se_columns; if (OB_ISNULL(merge_stmt)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("merge stmt is NULL", K(ret)); @@ -525,7 +526,9 @@ int ObMergeResolver::resolve_insert_clause(const ParseNode *insert_node) } else if (OB_FAIL(check_insert_clause())) { LOG_WARN("failed to check insert columns", K(ret)); } else if (FALSE_IT(resolve_clause_ = INSERT_VALUE_CLAUSE)) { - } else if (OB_FAIL(resolve_insert_values(value_node, merge_stmt->get_merge_table_info()))) { + } else if (OB_FAIL(get_label_se_columns(merge_stmt->get_merge_table_info(), label_se_columns))) { + LOG_WARN("failed to get label se columns", K(ret)); + } else if (OB_FAIL(resolve_insert_values(value_node, merge_stmt->get_merge_table_info(), label_se_columns))) { LOG_WARN("fail to resolve values", K(ret)); } else if (OB_FAIL(generate_column_conv_function(merge_stmt->get_merge_table_info()))) { LOG_WARN("failed to generate column conv function", K(ret)); diff --git a/src/sql/resolver/expr/ob_raw_expr.cpp b/src/sql/resolver/expr/ob_raw_expr.cpp index ef49038ef..0f16b09d7 100644 --- a/src/sql/resolver/expr/ob_raw_expr.cpp +++ b/src/sql/resolver/expr/ob_raw_expr.cpp @@ -793,6 +793,8 @@ int ObRawExpr::is_const_inherit_expr(bool &is_const_inherit, || T_FUN_SYS_TO_BLOB == type_ || (T_FUN_SYS_SYSDATE == type_ && lib::is_mysql_mode()) || (param_need_replace ? is_not_calculable_expr() : cnt_not_calculable_expr()) + || T_FUN_LABEL_SE_SESSION_LABEL == type_ + || T_FUN_LABEL_SE_SESSION_ROW_LABEL == type_ || (T_FUN_UDF == type_ && !static_cast(this)->is_deterministic())) { is_const_inherit = false; @@ -836,6 +838,8 @@ int ObRawExpr::is_non_pure_sys_func_expr(bool &is_non_pure) const || T_FUN_SYS_USERENV == type_ || T_FUN_SYS_REGEXP_REPLACE == type_ || T_FUN_GET_TEMP_TABLE_SESSID == type_ + || T_FUN_LABEL_SE_SESSION_LABEL == type_ + || T_FUN_LABEL_SE_SESSION_ROW_LABEL == type_ || T_FUN_SYS_USER_CAN_ACCESS_OBJ == type_) { is_non_pure = true; } else if (T_FUN_SYS_TO_DATE == type_ || T_FUN_SYS_TO_TIMESTAMP == type_ || diff --git a/tools/docker/standalone/step_2_boot/_boot b/tools/docker/standalone/step_2_boot/_boot index 951968b08..fc8e8471d 100755 --- a/tools/docker/standalone/step_2_boot/_boot +++ b/tools/docker/standalone/step_2_boot/_boot @@ -3,6 +3,7 @@ CWD=$(cd `dirname $0`;pwd) cd "${CWD}" source _env export HOST_IP_MODE=1 +export ENV_TELEMETRY_REPORTER="docker_${OB_CLUSTER_NAME}" STAMP="$(date +%s)" STEP=1