Add cap for session variable synchronization for proxy version compatibility

This commit is contained in:
obdev
2023-02-10 10:41:10 +00:00
committed by ob-robot
parent 8fab2d62ff
commit 48554a6c5f
5 changed files with 22 additions and 6 deletions

View File

@ -701,6 +701,10 @@ public:
inline void set_ob20_protocol(bool is_20protocol) { is_ob20_protocol_ = is_20protocol; }
inline bool is_ob20_protocol() { return is_ob20_protocol_; }
inline void set_session_var_sync(bool is_session_var_sync)
{ is_session_var_sync_ = is_session_var_sync; }
inline bool is_session_var_sync() { return is_session_var_sync_; }
int replace_user_variable(const common::ObString &name, const ObSessionVariable &value);
int replace_user_variable(
ObExecContext &ctx, const common::ObString &name, const ObSessionVariable &value);
@ -1104,6 +1108,8 @@ private:
bool pl_ps_protocol_; // send query result use this protocol
bool is_ob20_protocol_; // mark as whether use oceanbase 2.0 protocol
bool is_session_var_sync_; //session var sync support flag.
int64_t last_plan_id_; // 记录上一个计划的 plan_id,用于 show trace 中显示 sql 物理计划
common::hash::ObHashSet<common::ObString> *pl_sync_pkg_vars_ = NULL;