[to #53391711] patch persist PL compile result from 4_2_x_release to master

This commit is contained in:
0xacc
2024-04-09 12:38:43 +00:00
committed by ob-robot
parent 0ea78d4b60
commit eed677c16e
34 changed files with 1848 additions and 187 deletions

View File

@ -363,6 +363,10 @@ public:
const ObSqlExpression *expr,
const int64_t result_idx,
ObObjParam *result);
static int spi_calc_expr_at_idx(pl::ObPLExecCtx *ctx,
const int64_t expr_idx,
const int64_t result_idx,
ObObjParam *result);
static int spi_calc_subprogram_expr(pl::ObPLExecCtx *ctx,
uint64_t package_id,
@ -400,11 +404,28 @@ public:
static int check_and_deep_copy_result(ObIAllocator &alloc,
const ObObj &src,
ObObj &dst);
static int spi_set_variable_to_expr(pl::ObPLExecCtx *ctx,
const int64_t expr_idx,
const ObObjParam *value,
bool is_default = false,
bool need_copy = false);
static int spi_set_variable(pl::ObPLExecCtx *ctx,
const ObSqlExpression* expr,
const ObObjParam *value,
bool is_default = false,
bool need_copy = false);
static int spi_query_into_expr_idx(pl::ObPLExecCtx *ctx,
const char* sql,
int64_t type,
const int64_t *into_exprs_idx = NULL,
int64_t into_count = 0,
const ObDataType *column_types = NULL,
int64_t type_count = 0,
const bool *exprs_not_null_flag = NULL,
const int64_t *pl_integer_ranges = NULL,
bool is_bulk = false,
bool is_type_record = false,
bool for_update = false);
static int spi_query(pl::ObPLExecCtx *ctx,
const char* sql,
int64_t type,
@ -427,6 +448,21 @@ public:
bool is_cursor,
pl::ObPLBlockNS *secondary_namespace,
ObSPIPrepareResult &prepare_result);
static int spi_execute_with_expr_idx(pl::ObPLExecCtx *ctx,
const char *ps_sql,
int64_t type,
const int64_t *param_exprs_idx,
int64_t param_count,
const int64_t *into_exprs_idx,
int64_t into_count,
const ObDataType *column_types,
int64_t type_count,
const bool *exprs_not_null_flag,
const int64_t *pl_integer_ranges,
bool is_bulk,
bool is_forall,
bool is_type_record,
bool for_update);
static int spi_execute(pl::ObPLExecCtx *ctx,
const char* ps_sql,
int64_t type,
@ -444,11 +480,11 @@ public:
bool for_update = false);
static int spi_execute_immediate(pl::ObPLExecCtx *ctx,
const ObSqlExpression *sql,
const int64_t sql_dix,
common::ObObjParam **params,
const int64_t *params_mode,
int64_t param_count,
const ObSqlExpression **into_exprs,
const int64_t *into_exprs_idx,
int64_t into_count,
const ObDataType *column_types,
int64_t type_count,
@ -492,6 +528,21 @@ public:
pl::ObPLCursorInfo *&cursor,
common::ObObjParam &obj,
ObCusorDeclareLoc loc);
static int spi_cursor_open_with_param_idx(pl::ObPLExecCtx *ctx,
const char *sql,
const char *ps_sql,
int64_t type,
bool for_update,
bool has_hidden_rowid,
const int64_t *sql_param_exprs,
int64_t sql_param_count,
uint64_t package_id,
uint64_t routine_id,
int64_t cursor_index,
const int64_t *formal_param_idxs,
const int64_t *actual_param_exprs,
int64_t cursor_param_count,
bool skip_locked);
static int spi_cursor_open(pl::ObPLExecCtx *ctx,
const char *sql,
const char *ps_sql,
@ -514,8 +565,8 @@ public:
bool for_update,
bool has_hidden_rowid);
static int spi_dynamic_open(pl::ObPLExecCtx *ctx,
const ObSqlExpression *sql,
const ObSqlExpression **sql_param_exprs,
const int64_t sql_idx,
const int64_t *sql_param_exprs_idx,
int64_t sql_param_count,
uint64_t package_id,
uint64_t routine_id,
@ -530,7 +581,7 @@ public:
uint64_t package_id,
uint64_t routine_id,
int64_t cursor_index,
const ObSqlExpression **into_exprs,
const int64_t *into_exprs,
int64_t into_count,
const ObDataType *column_types,
int64_t type_count,
@ -557,10 +608,10 @@ public:
int64_t *addr);
static int spi_extend_collection(pl::ObPLExecCtx *ctx,
const ObSqlExpression *collection_expr,
const int64_t collection_expr_idx,
int64_t column_count,
const ObSqlExpression *n_expr,
const ObSqlExpression *i_expr = NULL,
const int64_t n_expr_idx,
const int64_t i_expr_idx = OB_INVALID_ID,
uint64_t package_id = OB_INVALID_ID);
static int spi_set_collection(int64_t tenant_id,
@ -573,27 +624,27 @@ public:
static int spi_reset_collection(pl::ObPLCollection *coll);
static int spi_raise_application_error(pl::ObPLExecCtx *ctx,
const ObSqlExpression *errcode_expr,
const ObSqlExpression *errmsg_expr);
const int64_t errcode_expr_idx,
const int64_t errmsg_expr_idx);
static int spi_process_resignal(pl::ObPLExecCtx *ctx,
const ObSqlExpression *errcode_expr,
const ObSqlExpression *errmsg_expr,
const int64_t errcode_expr,
const int64_t errmsg_expr,
const char *sql_state,
int *error_code,
const char *resignal_sql_state,
bool is_signal);
static int spi_delete_collection(pl::ObPLExecCtx *ctx,
const ObSqlExpression *collection_expr,
const int64_t collection_expr_idx,
int64_t row_size,
const ObSqlExpression *m_expr,
const ObSqlExpression *n_expr);
const int64_t m_expr_idx,
const int64_t n_expr_idx);
static int spi_trim_collection(pl::ObPLExecCtx *ctx,
const ObSqlExpression *collection_expr,
const int64_t collection_expr_idx,
int64_t row_size,
const ObSqlExpression *n_expr);
const int64_t n_expr_idx);
static int acquire_spi_conn(ObMySQLProxy &sql_proxy,
ObSQLSessionInfo &session_info,