diff --git a/deps/oblib/src/lib/ob_define.h b/deps/oblib/src/lib/ob_define.h index 12c06a58e4..01d2a7902e 100644 --- a/deps/oblib/src/lib/ob_define.h +++ b/deps/oblib/src/lib/ob_define.h @@ -210,6 +210,7 @@ const uint64_t OB_SERVER_USER_ID = 0; const int64_t OB_MAX_INDEX_PER_TABLE = 128; const int64_t OB_MAX_SSTABLE_PER_TABLE = OB_MAX_INDEX_PER_TABLE + 1; const int64_t OB_MAX_SQL_LENGTH = 64 * 1024; +const int64_t OB_TINY_SQL_LENGTH = 128; const int64_t OB_SHORT_SQL_LENGTH = 1 * 1024; // 1KB const int64_t OB_MEDIUM_SQL_LENGTH = 2 * OB_SHORT_SQL_LENGTH; // 2KB const int64_t OB_MAX_PROXY_SQL_STORE_LENGTH = 8 * 1024; // 8KB diff --git a/src/sql/executor/ob_task.cpp b/src/sql/executor/ob_task.cpp index 62f5231bbe..74caef8bdd 100644 --- a/src/sql/executor/ob_task.cpp +++ b/src/sql/executor/ob_task.cpp @@ -41,6 +41,7 @@ ObTask::ObTask() location_idx_(OB_INVALID_INDEX), max_sql_no_(-1) { + sql_string_[0] = '\0'; } ObTask::~ObTask() @@ -92,6 +93,7 @@ OB_DEF_SERIALIZE(ObTask) } LST_DO_CODE(OB_UNIS_ENCODE, ranges_); LST_DO_CODE(OB_UNIS_ENCODE, max_sql_no_); + OB_UNIS_ENCODE(ObString(sql_string_)); return ret; } @@ -153,6 +155,8 @@ OB_DEF_DESERIALIZE(ObTask) } } LST_DO_CODE(OB_UNIS_DECODE, max_sql_no_); + ObString sql_string; + OB_UNIS_DECODE(sql_string); return ret; } @@ -184,6 +188,7 @@ OB_DEF_SERIALIZE_SIZE(ObTask) LST_DO_CODE(OB_UNIS_ADD_LEN, ranges_); } LST_DO_CODE(OB_UNIS_ADD_LEN, max_sql_no_); + OB_UNIS_ADD_LEN(ObString(sql_string_)); return len; } diff --git a/src/sql/executor/ob_task.h b/src/sql/executor/ob_task.h index fa82051360..f2caf349f4 100644 --- a/src/sql/executor/ob_task.h +++ b/src/sql/executor/ob_task.h @@ -97,6 +97,7 @@ protected: // 本Task涉及到的扫描范围,默认涉及的一张表(一个或者多个partition) common::ObSEArray ranges_; int64_t max_sql_no_; + char sql_string_[common::OB_TINY_SQL_LENGTH + 1]; //DISALLOW_COPY_AND_ASSIGN(ObTask); }; diff --git a/src/sql/session/ob_basic_session_info.cpp b/src/sql/session/ob_basic_session_info.cpp index 0d226e2aeb..632853cde2 100644 --- a/src/sql/session/ob_basic_session_info.cpp +++ b/src/sql/session/ob_basic_session_info.cpp @@ -4445,6 +4445,7 @@ OB_DEF_SERIALIZE(ObBasicSessionInfo) is_client_sessid_support_, use_rich_vector_format_); }(); + OB_UNIS_ENCODE(ObString(sql_id_)); return ret; } @@ -4690,6 +4691,8 @@ OB_DEF_DESERIALIZE(ObBasicSessionInfo) release_to_pool_ = OB_SUCC(ret); force_rich_vector_format_ = ForceRichFormatStatus::Disable; }(); + ObString sql_id; + OB_UNIS_DECODE(sql_id); return ret; } @@ -4963,6 +4966,7 @@ OB_DEF_SERIALIZE_SIZE(ObBasicSessionInfo) exec_min_cluster_version_, is_client_sessid_support_, use_rich_vector_format_); + OB_UNIS_ADD_LEN(ObString(sql_id_)); return len; }