提交 a6a56e21 编写于 作者: L LINxiansheng 提交者: wangzelin.wzl

Remove cmake warning configuration (August)

上级 0d7efce1
......@@ -435,7 +435,7 @@ public:
int broadcast_info(const common::ObMemberList& mem_list, const common::ObPartitionKey& key,
const common::ObReplicaType& replica_type, const uint64_t max_confirmed_log_id) override;
int send_restore_check_rqst(const common::ObAddr& server, const int64_t dst_cluster_id,
const common::ObPartitionKey& key, const ObRestoreCheckType restore_type);
const common::ObPartitionKey& key, const ObRestoreCheckType restore_type) override;
// confirmed_info msg is special that no need compare proposal_id
int submit_confirmed_info(const share::ObCascadMemberList& mem_list, const common::ObPartitionKey& key,
const uint64_t log_id, const ObConfirmedInfo& confirmed_info, const bool batch_committed) override;
......@@ -476,7 +476,7 @@ public:
int get_remote_mc_ctx_array(
const common::ObAddr& server, const common::ObPartitionArray& partition_array, McCtxArray& mc_ctx_array);
int send_query_restore_end_id_resp(const common::ObAddr& server, const int64_t cluster_id,
const common::ObPartitionKey& partition_key, const uint64_t last_restore_log_id);
const common::ObPartitionKey& partition_key, const uint64_t last_restore_log_id) override;
int update_min_using_file_id();
uint32_t get_clog_min_using_file_id() const override;
uint32_t get_clog_min_file_id() const override;
......
......@@ -115,7 +115,7 @@ public:
const int64_t new_quorum, obrpc::ObMCLogInfo& log_info) override;
virtual int64_t get_replica_num() const override;
virtual common::ObReplicaType get_replica_type() const override;
virtual bool is_single_member_mode() const
virtual bool is_single_member_mode() const override
{
return (1 == replica_num_);
}
......
......@@ -542,7 +542,7 @@ private:
int try_freeze_aggre_buffer_(const uint64_t log_id);
int submit_freeze_aggre_buffer_task_(const uint64_t log_id);
int submit_aggre_log_(ObAggreBuffer* buffer, const uint64_t log_id, const int64_t submit_timestamp);
int try_update_submit_timestamp(const int64_t base_ts);
int try_update_submit_timestamp(const int64_t base_ts) override;
bool is_confirm_match_(const uint64_t log_id, const int64_t log_data_checksum, const int64_t log_epoch_id,
const int64_t log_submit_timestamp, const int64_t confirmed_info_data_checksum,
const int64_t confirmed_info_epoch_id, const int64_t confirmed_info_submit_timestamp);
......
......@@ -555,7 +555,7 @@ public:
const ObProposalID& ms_proposal_id) override;
virtual int fake_receive_log(const ObAddr& server, const uint64_t log_id, const ObProposalID& proposal_id) override;
virtual int process_restore_check_req(
const common::ObAddr& server, const int64_t cluster_id, const ObRestoreCheckType restore_type);
const common::ObAddr& server, const int64_t cluster_id, const ObRestoreCheckType restore_type) override;
virtual int get_log(const common::ObAddr& server, const uint64_t log_id, const int64_t log_num,
const ObFetchLogType fetch_type, const common::ObProposalID& proposal_id, const int64_t cluster_id,
const common::ObReplicaType replica_type, const int64_t network_limit,
......@@ -790,7 +790,7 @@ private:
int response_sliding_window_info_(const common::ObAddr& server, const bool is_leader);
int process_replica_type_change_();
int process_reject_msg(
const common::ObAddr& server, const int64_t cluster_id, const int32_t msg_type, const int64_t timestamp);
const common::ObAddr& server, const int64_t cluster_id, const int32_t msg_type, const int64_t timestamp) override;
int process_reregister_msg(
const common::ObAddr& src_server, const share::ObCascadMember& new_leader, const int64_t send_ts) override;
int process_restore_alive_msg(const common::ObAddr& server, const uint64_t start_log_id) override;
......
......@@ -45,14 +45,14 @@ public:
virtual ~ObMPQuery();
public:
virtual void disconnect();
virtual void update_last_pkt_pos()
virtual void disconnect() override;
virtual void update_last_pkt_pos() override
{
if (NULL != ez_buf_) {
comp_context_.update_last_pkt_pos(ez_buf_->last);
}
}
virtual int response_packet(obmysql::ObMySQLPacket& pkt)
virtual int response_packet(obmysql::ObMySQLPacket& pkt) override
{
return ObMPBase::response_packet(pkt);
}
......@@ -60,19 +60,19 @@ public:
{
return ObMPBase::flush_buffer(is_last);
}
virtual int send_error_packet(int err, const char* errmsg, bool is_partition_hit = true, void* extra_err_info = NULL)
virtual int send_error_packet(int err, const char* errmsg, bool is_partition_hit = true, void* extra_err_info = NULL) override
{
return ObMPBase::send_error_packet(err, errmsg, is_partition_hit, extra_err_info);
}
virtual int send_ok_packet(sql::ObSQLSessionInfo& session, ObOKPParam& ok_param)
virtual int send_ok_packet(sql::ObSQLSessionInfo& session, ObOKPParam& ok_param) override
{
return ObMPBase::send_ok_packet(session, ok_param);
}
virtual int send_eof_packet(const sql::ObSQLSessionInfo& session, const ObMySQLResultSet& result)
virtual int send_eof_packet(const sql::ObSQLSessionInfo& session, const ObMySQLResultSet& result) override
{
return ObMPBase::send_eof_packet(session, result);
}
virtual bool need_send_extra_ok_packet()
virtual bool need_send_extra_ok_packet() override
{
return OB_NOT_NULL(get_conn()) && get_conn()->need_send_extra_ok_packet();
}
......@@ -103,11 +103,11 @@ public:
}
protected:
int process();
int deserialize();
int process() override;
int deserialize() override;
int check_readonly_stmt(ObMySQLResultSet& result);
int is_readonly_stmt(ObMySQLResultSet& result, bool& is_readonly);
virtual int after_process();
virtual int after_process() override;
private:
int register_callback_with_async(ObQueryExecCtx& query_ctx);
......@@ -119,7 +119,7 @@ private:
int process_single_stmt(const sql::ObMultiStmtItem& multi_stmt_item, sql::ObSQLSessionInfo& session,
bool has_more_result, bool force_sync_resp, bool& async_resp_used, bool& need_disconnect);
virtual int before_response()
virtual int before_response() override
{
return OB_SUCCESS;
}
......
......@@ -73,42 +73,42 @@ public:
}
protected:
virtual int deserialize()
virtual int deserialize() override
{
return common::OB_SUCCESS;
}
virtual int process();
virtual void disconnect()
virtual int process() override;
virtual void disconnect() override
{
ObMPBase::disconnect();
}
virtual void update_last_pkt_pos()
virtual void update_last_pkt_pos() override
{
if (NULL != ez_buf_) {
comp_context_.update_last_pkt_pos(ez_buf_->last);
}
}
virtual int send_error_packet(int err, const char* errmsg, bool is_partition_hit = true, void* extra_err_info = NULL)
virtual int send_error_packet(int err, const char* errmsg, bool is_partition_hit = true, void* extra_err_info = NULL) override
{
return ObMPBase::send_error_packet(err, errmsg, is_partition_hit, extra_err_info);
}
virtual int send_ok_packet(sql::ObSQLSessionInfo& session, ObOKPParam& ok_param)
virtual int send_ok_packet(sql::ObSQLSessionInfo& session, ObOKPParam& ok_param) override
{
return ObMPBase::send_ok_packet(session, ok_param);
}
virtual int send_eof_packet(const sql::ObSQLSessionInfo& session, const ObMySQLResultSet& result)
virtual int send_eof_packet(const sql::ObSQLSessionInfo& session, const ObMySQLResultSet& result) override
{
return ObMPBase::send_eof_packet(session, result);
}
virtual bool need_send_extra_ok_packet()
virtual bool need_send_extra_ok_packet() override
{
return OB_NOT_NULL(get_conn()) && get_conn()->need_send_extra_ok_packet();
}
virtual int response_packet(obmysql::ObMySQLPacket& pkt)
virtual int response_packet(obmysql::ObMySQLPacket& pkt) override
{
return ObMPBase::response_packet(pkt);
}
virtual int after_process()
virtual int after_process() override
{
return ObMPBase::after_process();
}
......@@ -153,11 +153,11 @@ private:
const common::ObTimeZoneInfo* tz_info, sql::TypeInfo* type_info, sql::TypeInfo* dst_type_info, ObObjParam& param);
int decode_type_info(const char*& buf, sql::TypeInfo& type_info);
virtual int before_response()
virtual int before_response() override
{
return OB_SUCCESS;
}
virtual int before_process();
virtual int before_process() override;
void record_stat(const sql::stmt::StmtType type, const int64_t end_time) const;
// copy or convert string, resove %extra_buf_len before result string.
......
......@@ -61,37 +61,37 @@ public:
}
protected:
virtual int deserialize();
virtual int deserialize() override;
virtual int before_process() override;
virtual int process();
virtual int process() override;
virtual void disconnect()
virtual void disconnect() override
{
ObMPBase::disconnect();
}
virtual void update_last_pkt_pos()
virtual void update_last_pkt_pos() override
{
if (NULL != ez_buf_) {
comp_context_.update_last_pkt_pos(ez_buf_->last);
}
}
virtual int send_error_packet(int err, const char* errmsg, bool is_partition_hit = true, void* extra_err_info = NULL)
virtual int send_error_packet(int err, const char* errmsg, bool is_partition_hit = true, void* extra_err_info = NULL) override
{
return ObMPBase::send_error_packet(err, errmsg, is_partition_hit, extra_err_info);
}
virtual int send_ok_packet(sql::ObSQLSessionInfo& session, ObOKPParam& ok_param)
virtual int send_ok_packet(sql::ObSQLSessionInfo& session, ObOKPParam& ok_param) override
{
return ObMPBase::send_ok_packet(session, ok_param);
}
virtual int send_eof_packet(const sql::ObSQLSessionInfo& session, const ObMySQLResultSet& result)
virtual int send_eof_packet(const sql::ObSQLSessionInfo& session, const ObMySQLResultSet& result) override
{
return ObMPBase::send_eof_packet(session, result);
}
virtual int response_packet(obmysql::ObMySQLPacket& pkt)
virtual int response_packet(obmysql::ObMySQLPacket& pkt) override
{
return ObMPBase::response_packet(pkt);
}
virtual bool need_send_extra_ok_packet()
virtual bool need_send_extra_ok_packet() override
{
return OB_NOT_NULL(get_conn()) && get_conn()->need_send_extra_ok_packet();
}
......
......@@ -58,7 +58,7 @@ public:
virtual ~ObSqlQueryExecutor()
{}
virtual int execute(sql::ObSql& engine, sql::ObSqlCtx& ctx, sql::ObResultSet& res)
virtual int execute(sql::ObSql& engine, sql::ObSqlCtx& ctx, sql::ObResultSet& res) override
{
observer::ObReqTimeGuard req_timeinfo_guard;
int ret = OB_SUCCESS;
......
......@@ -80,7 +80,7 @@ public:
}
protected:
virtual int get_all_diag_info();
virtual int get_all_diag_info() override;
private:
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualSessionEventI1);
......
......@@ -72,7 +72,7 @@ public:
}
protected:
virtual int get_all_diag_info();
virtual int get_all_diag_info() override;
private:
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualSessionStatI1);
......
......@@ -83,7 +83,7 @@ public:
}
protected:
virtual int get_all_diag_info();
virtual int get_all_diag_info() override;
private:
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualSessionWaitI1);
......
......@@ -83,7 +83,7 @@ public:
}
protected:
virtual int get_all_diag_info();
virtual int get_all_diag_info() override;
private:
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualSessionWaitHistoryI1);
......
......@@ -76,7 +76,7 @@ public:
}
protected:
virtual int get_all_diag_info();
virtual int get_all_diag_info() override;
private:
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualSysEventI1);
......
......@@ -76,7 +76,7 @@ public:
}
protected:
virtual int get_all_diag_info();
virtual int get_all_diag_info() override;
private:
DISALLOW_COPY_AND_ASSIGN(ObAllVirtualSysStatI1);
......
......@@ -37,7 +37,7 @@ public:
private:
virtual int init_non_exist_map_item(MapItem& item, const share::schema::ObColumnSchemaV2& col) override;
virtual int setup_inital_rowkey_condition(common::ObSqlString& cols, common::ObSqlString& vals);
virtual int setup_inital_rowkey_condition(common::ObSqlString& cols, common::ObSqlString& vals) override;
virtual int add_extra_condition(common::ObSqlString& sql) override;
bool check_tenant_in_range(const uint64_t tenant_id, const common::ObNewRange& range);
......
......@@ -274,7 +274,7 @@ public:
public:
virtual void run3() override;
virtual int blocking_run()
virtual int blocking_run() override
{
BLOCKING_RUN_IMPLEMENT();
}
......@@ -289,7 +289,7 @@ public:
int on_check_pg_recovery_finished(const common::ObAddr& server, const int ret_code);
int update_file_recovery_status(const common::ObAddr& server, const common::ObAddr& dest_server,
const uint64_t tenant_id, const int64_t file_id, FileRecoveryStatus pre_status, FileRecoveryStatus cur_status);
void stop();
void stop() override;
private:
// Machine const
......
......@@ -65,8 +65,8 @@ public:
{
zu_ = my_zu;
}
virtual const share::ObUnitInfo* at(int64_t idx) const;
virtual int64_t count() const;
virtual const share::ObUnitInfo* at(int64_t idx) const override;
virtual int64_t count() const override;
virtual int get_target_unit_idx(const int64_t unit_offset, common::hash::ObHashSet<int64_t>& unit_set,
const bool is_primary_partition, int64_t& unit_idx) const override;
virtual int update_tg_pg_count(const int64_t unit_idx, const bool is_primary_partition) override;
......@@ -141,8 +141,8 @@ public:
{
all_unit_ = all_unit;
}
virtual const share::ObUnitInfo* at(int64_t idx) const;
virtual int64_t count() const;
virtual const share::ObUnitInfo* at(int64_t idx) const override;
virtual int64_t count() const override;
virtual int get_target_unit_idx(const int64_t unit_offset, common::hash::ObHashSet<int64_t>& unit_set,
const bool is_primary_partition, int64_t& unit_idx) const override;
virtual int update_tg_pg_count(const int64_t unit_idx, const bool is_primary_partition) override;
......@@ -161,7 +161,7 @@ public:
{}
virtual ~ObZoneLogonlyUnitProvider()
{}
virtual int find_zone(const common::ObZone& zone, const ObZoneUnitAdaptor*& zua);
virtual int find_zone(const common::ObZone& zone, const ObZoneUnitAdaptor*& zua) override;
virtual int get_all_zone_units(ZoneUnitArray& zone_unit) const override;
virtual int get_all_ptr_zone_units(ZoneUnitPtrArray& zone_unit_ptr) const override;
virtual bool exist(const ObZone& zone, const uint64_t unit_id) const override;
......@@ -184,7 +184,7 @@ public:
{}
virtual int get_all_zone_units(ZoneUnitArray& zone_unit) const override;
virtual int get_all_ptr_zone_units(ZoneUnitPtrArray& zone_unit_ptr) const override;
virtual int find_zone(const common::ObZone& zone, const ObZoneUnitAdaptor*& zua);
virtual int find_zone(const common::ObZone& zone, const ObZoneUnitAdaptor*& zua) override;
private:
const ZoneUnitArray& all_zone_units_;
......@@ -201,7 +201,7 @@ public:
{}
virtual ~ObAllZoneUnitsProvider()
{}
virtual int find_zone(const common::ObZone& zone, const ObZoneUnitAdaptor*& zua);
virtual int find_zone(const common::ObZone& zone, const ObZoneUnitAdaptor*& zua) override;
virtual int get_all_zone_units(ZoneUnitArray& zone_unit) const override;
virtual int get_all_ptr_zone_units(ZoneUnitPtrArray& zone_unit_ptr) const override;
......
......@@ -156,7 +156,7 @@ public:
{}
virtual ~ObKVPartitionTableProxy()
{}
virtual int reset()
virtual int reset() override
{
is_loaded_ = false;
implicit_trans_started_ = false;
......@@ -170,7 +170,7 @@ public:
virtual int fetch_partition_info(const bool lock_replica, const uint64_t table_id, const int64_t partition_id,
const bool filter_flag_replica, ObPartitionInfo& partition_info, const bool need_fetch_faillist = false,
const int64_t cluster_id = common::OB_INVALID_ID);
const int64_t cluster_id = common::OB_INVALID_ID) override;
virtual int fetch_partition_infos(const uint64_t tenant_id, const uint64_t start_table_id,
const int64_t start_partition_id, const bool filter_flag_replica, int64_t& max_fetch_count,
......@@ -179,36 +179,36 @@ public:
virtual int fetch_partition_infos_pt(const uint64_t pt_table_id, const int64_t pt_partition_id,
const uint64_t start_table_id, const int64_t start_partition_id, int64_t& max_fetch_count,
common::ObIArray<ObPartitionInfo>& partition_infos, const bool need_fetch_faillist = false);
common::ObIArray<ObPartitionInfo>& partition_infos, const bool need_fetch_faillist = false) override;
virtual int batch_fetch_partition_infos(const common::ObIArray<common::ObPartitionKey>& keys,
common::ObIAllocator& allocator, common::ObArray<ObPartitionInfo*>& partitions,
const int64_t cluster_id = common::OB_INVALID_ID) override;
virtual int update_replica(const ObPartitionReplica& replica, const bool replace);
virtual int update_replica(const ObPartitionReplica& replica);
virtual int update_replica(const ObPartitionReplica& replica, const bool replace) override;
virtual int update_replica(const ObPartitionReplica& replica) override;
virtual int batch_report_with_optimization(
const common::ObIArray<ObPartitionReplica>& replicas, const bool with_role);
const common::ObIArray<ObPartitionReplica>& replicas, const bool with_role) override;
virtual int batch_report_partition_role(
const common::ObIArray<share::ObPartitionReplica>& tasks, const common::ObRole new_role);
const common::ObIArray<share::ObPartitionReplica>& tasks, const common::ObRole new_role) override;
virtual int set_to_follower_role(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server);
virtual int set_to_follower_role(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server) override;
virtual int remove(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server);
virtual int remove(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server) override;
virtual int set_unit_id(
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const uint64_t unit_id);
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const uint64_t unit_id) override;
virtual int set_original_leader(const uint64_t table_id, const int64_t partition_id, const bool is_original_leader);
virtual int set_original_leader(const uint64_t table_id, const int64_t partition_id, const bool is_original_leader) override;
virtual int update_rebuild_flag(
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const bool rebuild);
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const bool rebuild) override;
virtual int update_fail_list(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server,
const ObPartitionReplica::FailList& fail_list);
const ObPartitionReplica::FailList& fail_list) override;
virtual int update_replica_status(
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const ObReplicaStatus status);
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const ObReplicaStatus status) override;
static int fill_dml_splicer_for_update(const ObPartitionReplica& replica, ObDMLSqlSplicer& dml_splicer);
......@@ -240,7 +240,7 @@ public:
virtual int fetch_partition_info(const bool lock_replica, const uint64_t table_id, const int64_t partition_id,
const bool filter_flag_replica, ObPartitionInfo& partition_info, const bool need_fetch_faillist = false,
const int64_t cluster_id = common::OB_INVALID_ID);
const int64_t cluster_id = common::OB_INVALID_ID) override;
virtual int fetch_partition_infos(const uint64_t tenant_id, const uint64_t start_table_id,
const int64_t start_partition_id, const bool filter_flag_replica, int64_t& max_fetch_count,
......@@ -249,35 +249,35 @@ public:
virtual int fetch_partition_infos_pt(const uint64_t pt_table_id, const int64_t pt_partition_id,
const uint64_t start_table_id, const int64_t start_partition_id, int64_t& max_fetch_count,
common::ObIArray<ObPartitionInfo>& partition_infos, const bool need_fetch_faillist = false);
common::ObIArray<ObPartitionInfo>& partition_infos, const bool need_fetch_faillist = false) override;
virtual int batch_fetch_partition_infos(const common::ObIArray<common::ObPartitionKey>& keys,
common::ObIAllocator& allocator, common::ObArray<ObPartitionInfo*>& partitions,
const int64_t cluster_id = common::OB_INVALID_ID) override;
virtual int update_replica(const ObPartitionReplica& replica, const bool replace);
virtual int update_replica(const ObPartitionReplica& replica);
virtual int update_replica(const ObPartitionReplica& replica, const bool replace) override;
virtual int update_replica(const ObPartitionReplica& replica) override;
virtual int batch_report_with_optimization(
const common::ObIArray<ObPartitionReplica>& replicas, const bool with_role);
const common::ObIArray<ObPartitionReplica>& replicas, const bool with_role) override;
virtual int batch_report_partition_role(
const common::ObIArray<share::ObPartitionReplica>& tasks, const common::ObRole new_role);
const common::ObIArray<share::ObPartitionReplica>& tasks, const common::ObRole new_role) override;
virtual int set_to_follower_role(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server);
virtual int set_to_follower_role(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server) override;
virtual int remove(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server);
virtual int remove(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server) override;
virtual int set_unit_id(
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const uint64_t unit_id);
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const uint64_t unit_id) override;
virtual int update_rebuild_flag(
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const bool rebuild);
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const bool rebuild) override;
virtual int set_original_leader(const uint64_t table_id, const int64_t partition_id, const bool is_original_leader);
virtual int set_original_leader(const uint64_t table_id, const int64_t partition_id, const bool is_original_leader) override;
virtual int update_fail_list(const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server,
const ObPartitionReplica::FailList& fail_list);
const ObPartitionReplica::FailList& fail_list) override;
virtual int update_replica_status(
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const ObReplicaStatus status);
const uint64_t table_id, const int64_t partition_id, const common::ObAddr& server, const ObReplicaStatus status) override;
// batch update data_version of replicas which been creating right now.
// Note: only support __all_tenant_meta_table partitions
......
......@@ -343,7 +343,7 @@ public:
explicit ObDtlBasicChannel(const uint64_t tenant_id, const uint64_t id, const common::ObAddr& peer);
virtual ~ObDtlBasicChannel();
virtual DtlChannelType get_channel_type()
virtual DtlChannelType get_channel_type() override
{
return DtlChannelType::BASIC_CHANNEL;
}
......@@ -368,7 +368,7 @@ public:
virtual int send(
const ObDtlMsg& msg, int64_t timeout_ts, ObEvalCtx* eval_ctx = nullptr, bool is_eof = false) override;
virtual int feedup(ObDtlLinkedBuffer*& buffer) override;
virtual int attach(ObDtlLinkedBuffer*& linked_buffer, bool is_first_buffer_cached = false);
virtual int attach(ObDtlLinkedBuffer*& linked_buffer, bool is_first_buffer_cached = false) override;
// don't call send&flush in different threads.
virtual int flush(bool wait = true, bool wait_response = true) override;
......@@ -397,8 +397,8 @@ public:
int unblock_on_decrease_size(int64_t size);
bool belong_to_receive_data();
bool belong_to_transmit_data();
virtual int clear_response_block();
virtual int wait_response();
virtual int clear_response_block() override;
virtual int wait_response() override;
void inc_send_buffer_cnt()
{
++send_buffer_cnt_;
......@@ -425,12 +425,12 @@ public:
}
int get_processed_buffer(int64_t timeout);
virtual int clean_recv_list();
virtual int clean_recv_list() override;
void clean_broadcast_buffer();
bool has_less_buffer_cnt();
int push_back_send_list(ObDtlLinkedBuffer* buffer);
void set_dfc_idx(int64_t idx)
void set_dfc_idx(int64_t idx) override
{
dfc_idx_ = idx;
}
......@@ -461,7 +461,7 @@ protected:
return &msg_response_;
}
OB_INLINE virtual bool has_msg()
OB_INLINE virtual bool has_msg() override
{
return recv_buffer_cnt_ > processed_buffer_cnt_;
}
......
......@@ -109,7 +109,7 @@ private:
public:
int unblock_channels(int64_t data_channel_idx);
void add_last_data_list(ObDtlChannel* ch);
void add_last_data_list(ObDtlChannel* ch) override;
virtual void remove_data_list(ObDtlChannel* ch, bool force) override;
void add(ObDtlChannel* prev, ObDtlChannel* node, ObDtlChannel* next);
virtual void set_first_no_data(ObDtlChannel* ch) override
......
......@@ -37,7 +37,7 @@ public:
explicit ObDtlLocalChannel(const uint64_t tenant_id, const uint64_t id, const common::ObAddr& peer);
virtual ~ObDtlLocalChannel();
virtual DtlChannelType get_channel_type()
virtual DtlChannelType get_channel_type() override
{
return DtlChannelType::LOCAL_CHANNEL;
}
......@@ -46,7 +46,7 @@ public:
virtual void destroy();
virtual int feedup(ObDtlLinkedBuffer*& buffer) override;
virtual int send_message(ObDtlLinkedBuffer*& buf);
virtual int send_message(ObDtlLinkedBuffer*& buf) override;
private:
int send_shared_message(ObDtlLinkedBuffer*& buf);
......
......@@ -92,7 +92,7 @@ public:
explicit ObDtlRpcChannel(const uint64_t tenant_id, const uint64_t id, const common::ObAddr& peer);
virtual ~ObDtlRpcChannel();
virtual DtlChannelType get_channel_type()
virtual DtlChannelType get_channel_type() override
{
return DtlChannelType::RPC_CHANNEL;
}
......@@ -101,7 +101,7 @@ public:
virtual void destroy();
virtual int feedup(ObDtlLinkedBuffer*& buffer) override;
virtual int send_message(ObDtlLinkedBuffer*& buf);
virtual int send_message(ObDtlLinkedBuffer*& buf) override;
};
} // namespace dtl
......
......@@ -53,7 +53,7 @@ public:
}
virtual int inner_open() override;
virtual int inner_get_next_row() = 0;
virtual int inner_get_next_row() override = 0;
virtual int rescan() override;
virtual int switch_iterator() override;
virtual int inner_close() override;
......
......@@ -134,7 +134,7 @@ public:
virtual ~ObConnectByCtx()
{}
void reset();
virtual void destroy()
virtual void destroy() override
{
connect_by_pump_.~ObConnectByPump(); // must be call
ObConnectByBaseCtx::destroy();
......
......@@ -169,7 +169,7 @@ public:
{}
virtual ~ObTableModifyOpInput()
{}
virtual void reset()
virtual void reset() override
{
location_idx_ = common::OB_INVALID_INDEX;
part_infos_.reset();
......@@ -187,7 +187,7 @@ public:
* @brief set allocator which is used for deserialize, but not all objects will use allocator
* while deserializing, so you can override it if you need.
*/
virtual void set_deserialize_allocator(common::ObIAllocator* allocator)
virtual void set_deserialize_allocator(common::ObIAllocator* allocator) override
{
part_infos_.set_allocator(allocator);
}
......@@ -351,9 +351,9 @@ public:
}
protected:
OperatorOpenOrder get_operator_open_order() const;
virtual int inner_open();
virtual int inner_close();
OperatorOpenOrder get_operator_open_order() const override;
virtual int inner_open() override;
virtual int inner_close() override;
// project expressions to old style row, allocate cells from ctx_.get_allocator() if needed.
int project_row(ObExpr* const* exprs, const int64_t cnt, common::ObNewRow& row) const;
......
......@@ -60,7 +60,7 @@ public:
explicit ObExprCalcPartitionId(common::ObIAllocator& alloc);
virtual ~ObExprCalcPartitionId();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_no_partition_location(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
static int calc_partition_level_one(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......
......@@ -22,11 +22,11 @@ public:
explicit ObExprCalcURowID(common::ObIAllocator& alloc);
virtual ~ObExprCalcURowID();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_statck, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_typeN(ObExprResType& type, ObExprResType* types_statck, int64_t param_num,
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* obj_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* obj_stack, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -23,9 +23,9 @@ public:
virtual ~ObExprConcat();
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObIAllocator* allocator, const common::ObObjType result_type, bool is_oracle_mode);
// Check result length with %max_result_len (if %max_result_len greater than zero)
......
......@@ -22,9 +22,9 @@ public:
explicit ObExprConcatWs(common::ObIAllocator& alloc);
virtual ~ObExprConcatWs();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
// connect two strings by separator
static int concat_ws(
const common::ObString obj1, const common::ObString obj2, const int64_t buf_len, char** string_buf, int64_t& pos);
......
......@@ -24,9 +24,9 @@ public:
virtual ~ObExprDiv()
{}
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& res, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObIAllocator* allocator, common::ObScale calc_scale);
static int calc_for_avg(common::ObObj& res, const common::ObObj& obj1, const common::ObObj& obj2,
......
......@@ -38,9 +38,9 @@ public:
explicit ObExprFormat(common::ObIAllocator& alloc);
virtual ~ObExprFormat();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_format_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......
......@@ -22,10 +22,10 @@ public:
ObExprGreaterEqual();
explicit ObExprGreaterEqual(common::ObIAllocator& alloc);
virtual ~ObExprGreaterEqual(){};
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override
{
......
......@@ -24,10 +24,10 @@ public:
ObExprGreaterThan();
explicit ObExprGreaterThan(common::ObIAllocator& alloc);
virtual ~ObExprGreaterThan(){};
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override
{
......
......@@ -21,9 +21,9 @@ class ObExprHex : public ObStringExprOperator {
public:
explicit ObExprHex(common::ObIAllocator& alloc);
virtual ~ObExprHex();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, common::ObCastCtx& cast_ctx);
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -22,8 +22,10 @@ class ObExprInitcap : public ObStringExprOperator {
public:
explicit ObExprInitcap(common::ObIAllocator& alloc);
virtual ~ObExprInitcap();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& text_obj, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(
ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(
common::ObObj& result, const common::ObObj& text_obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int initcap_string(const common::ObString& text, const common::ObCollationType cs_type,
common::ObIAllocator* allocator, common::ObString& res_str);
......
......@@ -21,9 +21,9 @@ class ObExprInt2ip : public ObStringExprOperator {
public:
explicit ObExprInt2ip(common::ObIAllocator& alloc);
virtual ~ObExprInt2ip();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, common::ObExprStringBuf& string_buf);
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int int2ip_varchar(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -21,9 +21,9 @@ public:
explicit ObExprIntDiv(common::ObIAllocator& alloc);
virtual ~ObExprIntDiv(){};
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(
common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2,
common::ObIAllocator* allocator, common::ObScale scale);
static int div_int_int(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -30,7 +30,7 @@ public:
virtual ~ObExprInterval()
{}
virtual int assign(const ObExprOperator& other);
virtual int assign(const ObExprOperator& other) override;
OB_INLINE void set_use_binary_search(bool use_binary_search)
{
......
......@@ -21,9 +21,9 @@ class ObExprIp2int : public ObFuncExprOperator {
public:
explicit ObExprIp2int(common::ObIAllocator& alloc);
virtual ~ObExprIp2int();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx);
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int ip2int_varchar(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -59,9 +59,9 @@ public:
virtual ~ObExprIs(){};
virtual int calc_with_null(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
const common::ObObj& obj3, common::ObCastCtx& cast_ctx) const;
const common::ObObj& obj3, common::ObCastCtx& cast_ctx) const override;
virtual int calc_with_int(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObCastCtx& cast_ctx) const;
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObCastCtx& cast_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_is_date_int_null(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
static int calc_is_null(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......@@ -89,9 +89,9 @@ public:
virtual ~ObExprIsNot(){};
virtual int calc_with_null(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
const common::ObObj& obj3, common::ObCastCtx& cast_ctx) const;
const common::ObObj& obj3, common::ObCastCtx& cast_ctx) const override;
virtual int calc_with_int(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObCastCtx& cast_ctx) const;
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObCastCtx& cast_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_is_not_null(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
static int int_is_not_true(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -23,9 +23,9 @@ public:
virtual ~ObExprIsServingTenant();
virtual int calc_result_type3(ObExprResType& type, ObExprResType& type1, ObExprResType& type2, ObExprResType& type3,
common::ObExprTypeCtx& type_ctx) const;
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result3(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
const common::ObObj& obj3, common::ObExprCtx& expr_ctx) const;
const common::ObObj& obj3, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int eval_is_serving_tenant(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -19,8 +19,8 @@ class ObExprLastExecId : public ObStringExprOperator {
public:
explicit ObExprLastExecId(common::ObIAllocator& alloc);
virtual ~ObExprLastExecId();
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const override;
static int eval_last_exec_id(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprLastInsertID(common::ObIAllocator& alloc);
virtual ~ObExprLastInsertID();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -21,8 +21,8 @@ class ObExprLastTraceId : public ObStringExprOperator {
public:
explicit ObExprLastTraceId(common::ObIAllocator& alloc);
virtual ~ObExprLastTraceId();
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const override;
static int eval_last_trace_id(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -40,9 +40,9 @@ public:
const char* name = N_LEAST);
virtual ~ObExprBaseLeast();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_stack, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types_stack, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num,
const ObExprResType& expected_type, common::ObExprCtx& expr_ctx);
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -21,9 +21,9 @@ class ObExprLength : public ObFuncExprOperator {
public:
explicit ObExprLength(common::ObIAllocator& alloc);
virtual ~ObExprLength();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx);
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_null(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
static int calc_oracle_mode(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -24,9 +24,9 @@ class ObExprLengthb : public ObFuncExprOperator {
public:
explicit ObExprLengthb(common::ObIAllocator& alloc);
virtual ~ObExprLengthb();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx);
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_lengthb_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprLessEqual(common::ObIAllocator& alloc);
virtual ~ObExprLessEqual(){};
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
const common::ObCompareCtx& cmp_ctx, common::ObCastCtx& cast_ctx);
static int calc_nocast(
......
......@@ -25,9 +25,9 @@ public:
explicit ObExprLessThan(common::ObIAllocator& alloc);
virtual ~ObExprLessThan(){};
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
const common::ObCompareCtx& cmp_ctx, common::ObCastCtx& cast_ctx);
static int calc_nocast(
......
......@@ -95,9 +95,9 @@ public:
explicit ObExprLike(common::ObIAllocator& alloc);
virtual ~ObExprLike();
virtual int calc_result_type3(ObExprResType& type, ObExprResType& type1, ObExprResType& type2, ObExprResType& type3,
common::ObExprTypeCtx& type_ctx) const;
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result3(common::ObObj& result, const common::ObObj& obj, const common::ObObj& pattern,
const common::ObObj& escape, common::ObExprCtx& expr_ctx) const;
const common::ObObj& escape, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& result, common::ObCollationType coll_type, const common::ObObj& obj,
const common::ObObj& pattern, const common::ObObj& escape, common::ObExprCtx& expr_ctx,
const bool is_going_optimization, const uint64_t like_id, const bool check_optimization);
......@@ -105,7 +105,7 @@ public:
static int calc_with_non_instr_mode(T& result, const common::ObCollationType coll_type,
const common::ObCollationType escape_coll, const common::ObString& text_val, const common::ObString& pattern_val,
const common::ObString& escape_val);
int assign(const ObExprOperator& other);
int assign(const ObExprOperator& other) override;
OB_INLINE bool is_pattern_literal() const
{
return is_pattern_literal_;
......
......@@ -21,8 +21,8 @@ class ObExprFuncLnnvl : public ObFuncExprOperator {
public:
explicit ObExprFuncLnnvl(common::ObIAllocator& alloc);
virtual ~ObExprFuncLnnvl();
virtual int calc_result1(common::ObObj& result, const common::ObObj& input, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& input, common::ObExprCtx& expr_ctx) const override;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int eval_lnnvl(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -21,8 +21,8 @@ class ObExprLog10 : public ObFuncExprOperator {
public:
explicit ObExprLog10(common::ObIAllocator& alloc);
virtual ~ObExprLog10();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -21,8 +21,8 @@ class ObExprLog2 : public ObFuncExprOperator {
public:
explicit ObExprLog2(common::ObIAllocator& alloc);
virtual ~ObExprLog2();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -55,8 +55,8 @@ public:
virtual ~ObExprLower()
{}
virtual int calc(const common::ObCollationType cs_type, char* src, int32_t src_len, char* dest, int32_t det_len,
int32_t& out_len) const;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const;
int32_t& out_len) const override;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_lower(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......@@ -70,8 +70,8 @@ public:
virtual ~ObExprUpper()
{}
virtual int calc(const common::ObCollationType cs_type, char* src, int32_t src_len, char* dest, int32_t det_len,
int32_t& out_len) const;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const;
int32_t& out_len) const override;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_upper(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......@@ -85,8 +85,8 @@ public:
virtual ~ObExprNlsLower()
{}
virtual int calc(const common::ObCollationType cs_type, char* src, int32_t src_len, char* dest, int32_t det_len,
int32_t& out_len) const;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const;
int32_t& out_len) const override;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_lower(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......@@ -100,8 +100,8 @@ public:
virtual ~ObExprNlsUpper()
{}
virtual int calc(const common::ObCollationType cs_type, char* src, int32_t src_len, char* dest, int32_t det_len,
int32_t& out_len) const;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const;
int32_t& out_len) const override;
virtual int32_t get_case_mutiply(const common::ObCollationType cs_type) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_upper(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -100,7 +100,7 @@ public:
virtual int calc_result3(common::ObObj& result, const common::ObObj& text, const common::ObObj& len,
const common::ObObj& pad_text, common::ObExprCtx& expr_ctx) const override;
// for engine 3.0
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_mysql_rpad_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res);
private:
......@@ -118,7 +118,7 @@ public:
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
// for engine 3.0
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_oracle_lpad_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res);
private:
......@@ -136,7 +136,7 @@ public:
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
// for engine 3.0
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_oracle_rpad_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res);
private:
......
......@@ -24,8 +24,8 @@ public:
virtual ~ObExprMd5();
public:
virtual int calc_result_type1(ObExprResType& type, ObExprResType& str, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& str_obj, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& str, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(common::ObObj& result, const common::ObObj& str_obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_md5(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprMinus(common::ObIAllocator& alloc, ObExprOperatorType type = T_OP_MINUS);
virtual ~ObExprMinus(){};
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2,
common::ObIAllocator* allocator, common::ObScale scale);
static int calc(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx,
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprMod(common::ObIAllocator& alloc);
virtual ~ObExprMod(){};
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result2(
common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2,
common::ObIAllocator* allocator, common::ObScale scale);
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprMul(common::ObIAllocator& alloc, ObExprOperatorType type = T_OP_MUL);
virtual ~ObExprMul(){};
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(common::ObObj& result, const common::ObObj& left, const common::ObObj& right,
common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2,
common::ObIAllocator* allocator, common::ObScale scale);
static int calc(common::ObObj& res, const common::ObObj& ojb1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx,
......
......@@ -24,15 +24,15 @@ public:
ObExprNotEqual();
explicit ObExprNotEqual(common::ObIAllocator& alloc);
virtual ~ObExprNotEqual(){};
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_stack, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
const common::ObCompareCtx& cmp_ctx, common::ObCastCtx& cast_ctx);
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override
{
......
......@@ -36,9 +36,9 @@ public:
explicit ObExprRandom(common::ObIAllocator& alloc);
virtual ~ObExprRandom();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
inline void set_seed_const(bool is_seed_const);
// engine 3.0
......
......@@ -25,12 +25,12 @@ public:
explicit ObExprRegexp(common::ObIAllocator& alloc);
virtual ~ObExprRegexp();
virtual int assign(const ObExprOperator& other);
virtual int assign(const ObExprOperator& other) override;
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj, const common::ObObj& pattern, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(common::ObObj& result, const common::ObObj& obj, const common::ObObj& pattern,
common::ObExprCtx& expr_ctx) const override;
virtual inline void reset()
{
regexp_idx_ = common::OB_COMPACT_INVALID_INDEX;
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprRegexpCount(common::ObIAllocator& alloc);
virtual ~ObExprRegexpCount();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprRegexpInstr(common::ObIAllocator& alloc);
virtual ~ObExprRegexpInstr();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int eval_regexp_instr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprRegexpLike(common::ObIAllocator& alloc);
virtual ~ObExprRegexpLike();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -24,9 +24,9 @@ public:
explicit ObExprRegexpReplace(common::ObIAllocator& alloc);
virtual ~ObExprRegexpReplace();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprRegexpSubstr(common::ObIAllocator& alloc);
virtual ~ObExprRegexpSubstr();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -22,7 +22,7 @@ public:
explicit ObExprRepeat(common::ObIAllocator& alloc);
virtual ~ObExprRepeat();
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& text, ObExprResType& count, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& text, ObExprResType& count, common::ObExprTypeCtx& type_ctx) const override;
///@brief call function calc(), implementation of ObExprOperator::calc_result2()
///
///@param [out] result result of RPEAT(str, count)
......@@ -31,7 +31,7 @@ public:
///@param [in] allocator:ObExprStringBuf
///@return OB_SUCCESS success, others failure
virtual int calc_result2(
common::ObObj& result, const common::ObObj& text, const common::ObObj& count, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& text, const common::ObObj& count, common::ObExprCtx& expr_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, const common::ObObj& count,
common::ObIAllocator* allocator, const common::ObObjType res_type, const int64_t max_result_size);
static int calc(common::ObObj& result, const common::ObObjType type, const common::ObString& text,
......
......@@ -24,7 +24,7 @@ public:
explicit ObExprReplace(common::ObIAllocator& alloc);
virtual ~ObExprReplace();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, const common::ObObj& from, const common::ObObj& to,
common::ObExprStringBuf& string_buf);
......
......@@ -20,8 +20,9 @@ class ObExprSinh : public ObFuncExprOperator {
public:
explicit ObExprSinh(common::ObIAllocator& alloc);
virtual ~ObExprSinh();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(
ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -20,8 +20,8 @@ class ObExprSqrt : public ObFuncExprOperator {
public:
explicit ObExprSqrt(common::ObIAllocator& alloc);
virtual ~ObExprSqrt();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprStrToDate(common::ObIAllocator& alloc);
virtual ~ObExprStrToDate();
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& date, ObExprResType& format, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& date, const common::ObObj& format, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& date, ObExprResType& format, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(common::ObObj& result, const common::ObObj& date, const common::ObObj& format,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprStrcmp(common::ObIAllocator& alloc);
virtual ~ObExprStrcmp(){};
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override
{
......
......@@ -30,7 +30,7 @@ public:
private:
virtual int compare_single_row(const common::ObNewRow& left_row, const common::ObNewRow& right_row,
common::ObExprCtx& expr_ctx, common::ObObj& result) const;
common::ObExprCtx& expr_ctx, common::ObObj& result) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprSubQueryGreaterEqual);
......
......@@ -30,7 +30,7 @@ public:
private:
virtual int compare_single_row(const common::ObNewRow& left_row, const common::ObNewRow& right_row,
common::ObExprCtx& expr_ctx, common::ObObj& result) const;
common::ObExprCtx& expr_ctx, common::ObObj& result) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprSubQueryGreaterThan);
......
......@@ -30,7 +30,7 @@ public:
private:
virtual int compare_single_row(const common::ObNewRow& left_row, const common::ObNewRow& right_row,
common::ObExprCtx& expr_ctx, common::ObObj& result) const;
common::ObExprCtx& expr_ctx, common::ObObj& result) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprSubQueryLessEqual);
......
......@@ -30,7 +30,7 @@ public:
private:
virtual int compare_single_row(const common::ObNewRow& left_row, const common::ObNewRow& right_row,
common::ObExprCtx& expr_ctx, common::ObObj& result) const;
common::ObExprCtx& expr_ctx, common::ObObj& result) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprSubQueryLessThan);
......
......@@ -28,7 +28,7 @@ public:
private:
virtual int compare_single_row(const common::ObNewRow& left_row, const common::ObNewRow& right_row,
common::ObExprCtx& expr_ctx, common::ObObj& result) const;
common::ObExprCtx& expr_ctx, common::ObObj& result) const override;
private:
DISALLOW_COPY_AND_ASSIGN(ObExprSubQueryNotEqual);
......
......@@ -28,7 +28,7 @@ public:
private:
virtual int compare_single_row(const common::ObNewRow& left_row, const common::ObNewRow& right_row,
common::ObExprCtx& expr_ctx, common::ObObj& result) const;
common::ObExprCtx& expr_ctx, common::ObObj& result) const override;
DISALLOW_COPY_AND_ASSIGN(ObExprSubQueryNSEqual);
};
} // namespace sql
......
......@@ -46,11 +46,11 @@ public:
explicit ObExprSubQueryRef(common::ObIAllocator& alloc);
virtual ~ObExprSubQueryRef();
virtual int assign(const ObExprOperator& other);
virtual int assign(const ObExprOperator& other) override;
virtual void reset();
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const;
virtual void reset() override;
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int expr_eval(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -23,13 +23,13 @@ public:
explicit ObExprSubstr(common::ObIAllocator& alloc);
virtual ~ObExprSubstr();
virtual int calc_result2(common::ObObj& result, const common::ObObj& text, const common::ObObj& start_pos,
common::ObExprCtx& expr_ctx) const;
common::ObExprCtx& expr_ctx) const override;
virtual int calc_result3(common::ObObj& result, const common::ObObj& text, const common::ObObj& start_pos,
const common::ObObj& length, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_stack, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
const common::ObObj& length, common::ObExprCtx& expr_ctx) const override;
virtual int calc_result_typeN(ObExprResType& type, ObExprResType* types_stack, int64_t param_num,
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
static int substr(common::ObString& output, const common::ObString& input, const int64_t pos, const int64_t len,
common::ObCollationType cs_type);
......
......@@ -23,9 +23,9 @@ public:
explicit ObExprSubstringIndex(common::ObIAllocator& alloc);
virtual ~ObExprSubstringIndex();
virtual int calc_result_type3(ObExprResType& type, ObExprResType& str, ObExprResType& delim, ObExprResType& count,
common::ObExprTypeCtx& type_ctx) const;
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result3(common::ObObj& result, const common::ObObj& str, const common::ObObj& delim,
const common::ObObj& count, common::ObExprCtx& expr_ctx) const;
const common::ObObj& count, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -24,9 +24,9 @@ public:
virtual ~ObExprSysConnectByPath()
{}
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& left, const common::ObObj& right, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_sys_path(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
static int eval_sys_connect_by_path(
......
......@@ -20,11 +20,11 @@ public:
explicit ObExprSysPrivilegeCheck(common::ObIAllocator& alloc);
virtual ~ObExprSysPrivilegeCheck();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
/// obj_array(level, tenant, db, table)
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* obj_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* obj_array, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int eval_sys_privilege_check(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -22,10 +22,10 @@ public:
explicit ObExprTimeStampDiff(common::ObIAllocator& alloc);
virtual ~ObExprTimeStampDiff();
virtual int calc_result_type3(ObExprResType& type, ObExprResType& unit, ObExprResType& left, ObExprResType& right,
common::ObExprTypeCtx& type_ctx) const;
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result3(common::ObObj& result, const common::ObObj& unit, const common::ObObj& left,
const common::ObObj& right, common::ObExprCtx& expr_ctx) const;
virtual common::ObCastMode get_cast_mode() const
const common::ObObj& right, common::ObExprCtx& expr_ctx) const override;
virtual common::ObCastMode get_cast_mode() const override
{
return CM_NULL_ON_WARN;
}
......
......@@ -22,9 +22,9 @@ public:
explicit ObExprTimestampNvl(common::ObIAllocator& alloc);
virtual ~ObExprTimestampNvl();
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_timestampnvl(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......
......@@ -21,8 +21,9 @@ public:
ObExprToDays();
explicit ObExprToDays(common::ObIAllocator& alloc);
virtual ~ObExprToDays();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& date, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& date, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(
ObExprResType& type, ObExprResType& date, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(common::ObObj& result, const common::ObObj& date, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -21,8 +21,8 @@ class ObExprToYMInterval : public ObFuncExprOperator {
public:
explicit ObExprToYMInterval(common::ObIAllocator& alloc);
virtual ~ObExprToYMInterval();
int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_yminterval(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......@@ -34,8 +34,8 @@ class ObExprToDSInterval : public ObFuncExprOperator {
public:
explicit ObExprToDSInterval(common::ObIAllocator& alloc);
virtual ~ObExprToDSInterval();
int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const;
int calc_result_type1(ObExprResType& type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
int calc_result1(common::ObObj& result, const common::ObObj& obj, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_dsinterval(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
......@@ -48,9 +48,9 @@ public:
explicit ObExprNumToYMInterval(common::ObIAllocator& alloc);
virtual ~ObExprNumToYMInterval();
int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
template <class T>
static int calc_result_common(
const T& obj1, const T& obj2, common::ObIAllocator& calc_buf, common::ObIntervalYMValue& ym_value);
......@@ -66,9 +66,9 @@ public:
explicit ObExprNumToDSInterval(common::ObIAllocator& alloc);
virtual ~ObExprNumToDSInterval();
int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
int calc_result2(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
template <class R, class T>
static int calc_result_common(R& result, const T& obj1, const T& obj2, common::ObIAllocator& calc_buf);
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -38,7 +38,7 @@ public:
virtual ~ObExprToNumber();
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_(const ObString& in_str, const ObString& in_fmt_str, ObIAllocator& alloc, number::ObNumber& res_nmb);
// for engine 3.0
......@@ -54,9 +54,9 @@ public:
virtual ~ObExprToBinaryFloat();
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_(const ObString& in_str, const ObString& in_fmt_str, ObIAllocator& alloc, number::ObNumber& res_nmb);
static int calc_to_binaryfloat_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......@@ -71,9 +71,9 @@ public:
virtual ~ObExprToBinaryDouble();
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* objs, int64_t param_num, common::ObExprCtx& expr_ctx) const override;
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_binarydouble_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......
......@@ -23,10 +23,10 @@ public:
explicit ObExprToTemporalBase(common::ObIAllocator& alloc, ObExprOperatorType type, const char* name);
virtual ~ObExprToTemporalBase()
{}
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types_array, int64_t param_num, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_typeN(ObExprResType& type, ObExprResType* types_array, int64_t param_num,
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
virtual int set_my_result_from_ob_time(
common::ObExprCtx& expr_ctx, common::ObTime& ob_time, common::ObObj& result) const = 0;
virtual common::ObObjType get_my_target_obj_type() const = 0;
......
......@@ -41,7 +41,7 @@ public:
const common::ObFixedArray<size_t, common::ObIAllocator>&);
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override
{
return deduce_result_type(type, types, param_num, type_ctx);
}
......@@ -49,8 +49,8 @@ public:
static int deduce_result_type(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx);
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......@@ -84,10 +84,11 @@ public:
explicit ObExprLtrim(common::ObIAllocator& alloc, ObExprOperatorType type, const char* name, int32_t param_num);
virtual ~ObExprLtrim();
virtual int calc_result_type1(ObExprResType& res_type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result_type1(
ObExprResType& res_type, ObExprResType& type1, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx) const override
{
return deduce_result_type(type, types, param_num, type_ctx);
}
......@@ -95,12 +96,13 @@ public:
static int deduce_result_type(
ObExprResType& type, ObExprResType* types, int64_t param_num, common::ObExprTypeCtx& type_ctx);
virtual int calc_result1(common::ObObj& res_obj, const common::ObObj& obj1, common::ObExprCtx& expr_ctx) const;
virtual int calc_result1(
common::ObObj& res_obj, const common::ObObj& obj1, common::ObExprCtx& expr_ctx) const override;
int calc(common::ObObj& res_obj, const common::ObObj& obj1, common::ObExprCtx& expr_ctx, int64_t trim_type_val) const;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* objs_array, int64_t param_num, common::ObExprCtx& expr_ctx) const;
virtual int calc_resultN(common::ObObj& result, const common::ObObj* objs_array, int64_t param_num,
common::ObExprCtx& expr_ctx) const override;
static int calc_oracle_mode(common::ObObj& result, const int64_t trim_type, const common::ObString& pattern,
const common::ObString& text, const common::ObObjType& res_type, common::ObExprCtx& expr_ctx,
......
......@@ -27,7 +27,7 @@ public:
virtual int calc_result2(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int set_trunc_val(
common::ObObj& result, common::number::ObNumber& nmb, common::ObExprCtx& expr_ctx, common::ObObjType res_type);
......
......@@ -105,8 +105,8 @@ class ObExprSetToStr : public ObExprTypeToStr {
public:
explicit ObExprSetToStr(common::ObIAllocator& alloc);
virtual ~ObExprSetToStr();
virtual int calc(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
virtual int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_str_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......@@ -119,8 +119,8 @@ class ObExprEnumToStr : public ObExprTypeToStr {
public:
explicit ObExprEnumToStr(common::ObIAllocator& alloc);
virtual ~ObExprEnumToStr();
virtual int calc(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
virtual int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_str_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......@@ -134,9 +134,9 @@ public:
explicit ObExprSetToInnerType(common::ObIAllocator& alloc);
virtual ~ObExprSetToInnerType();
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
virtual int calc(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_inner_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......@@ -150,9 +150,9 @@ public:
explicit ObExprEnumToInnerType(common::ObIAllocator& alloc);
virtual ~ObExprEnumToInnerType();
virtual int calc_result_type2(
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const;
virtual int calc(
common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2, common::ObExprCtx& expr_ctx) const;
ObExprResType& type, ObExprResType& type1, ObExprResType& type2, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc(common::ObObj& result, const common::ObObj& obj1, const common::ObObj& obj2,
common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int calc_to_inner_expr(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......
......@@ -21,8 +21,8 @@ class ObExprUid : public ObFuncExprOperator {
public:
explicit ObExprUid(common::ObIAllocator& alloc);
virtual ~ObExprUid();
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const override;
static int eval_uid(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -21,10 +21,11 @@ class ObExprUnhex : public ObStringExprOperator {
public:
explicit ObExprUnhex(common::ObIAllocator& alloc);
virtual ~ObExprUnhex();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const;
static int calc(
common::ObObj& result, const common::ObObj& text, common::ObCastCtx& cast_ctx, common::ObExprCtx& expr_ctx);
virtual int calc_result1(common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(
ObExprResType& type, ObExprResType& text, common::ObExprTypeCtx& type_ctx) const override;
static int calc(common::ObObj& result, const common::ObObj& text, common::ObCastCtx& cast_ctx, common::ObExprCtx& expr_ctx);
virtual int calc_result1(
common::ObObj& result, const common::ObObj& text, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
static int eval_unhex(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res_datum);
......
......@@ -22,9 +22,9 @@ public:
explicit ObExprUnixTimestamp(common::ObIAllocator& alloc);
virtual ~ObExprUnixTimestamp();
virtual int calc_result_typeN(
ObExprResType& type, ObExprResType* type_array, int64_t param, common::ObExprTypeCtx& type_ctx) const;
ObExprResType& type, ObExprResType* type_array, int64_t param, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_resultN(
common::ObObj& result, const common::ObObj* date_param, int64_t param, common::ObExprCtx& expr_ctx) const;
common::ObObj& result, const common::ObObj* date_param, int64_t param, common::ObExprCtx& expr_ctx) const override;
static int calc(
common::ObObj& result, const common::ObObj& dt_date, const ObExprResType& res_type, common::ObCastCtx& cast_ctx);
static int eval_unix_timestamp(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& res);
......
......@@ -20,8 +20,10 @@ class ObExprUsecToTime : public ObFuncExprOperator {
public:
explicit ObExprUsecToTime(common::ObIAllocator& alloc);
virtual ~ObExprUsecToTime();
virtual int calc_result_type1(ObExprResType& type, ObExprResType& usec, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result1(common::ObObj& result, const common::ObObj& usec, common::ObExprCtx& expr_ctx) const;
virtual int calc_result_type1(
ObExprResType& type, ObExprResType& usec, common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result1(
common::ObObj& result, const common::ObObj& usec, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
private:
......
......@@ -22,7 +22,7 @@ public:
explicit ObExprUser(common::ObIAllocator& alloc);
virtual ~ObExprUser();
virtual int calc_result_type0(ObExprResType& type, common::ObExprTypeCtx& type_ctx) const;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const;
virtual int calc_result0(common::ObObj& result, common::ObExprCtx& expr_ctx) const override;
static int eval_user(const ObExpr& expr, ObEvalCtx& ctx, ObDatum& expr_datum);
virtual int cg_expr(ObExprCGCtx& op_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -25,10 +25,10 @@ public:
explicit ObExprUserCanAccessObj(common::ObIAllocator& alloc);
virtual ~ObExprUserCanAccessObj();
virtual int calc_result_type3(ObExprResType& type, ObExprResType& arg1, ObExprResType& arg2, ObExprResType& arg3,
common::ObExprTypeCtx& type_ctx) const;
common::ObExprTypeCtx& type_ctx) const override;
virtual int calc_result3(common::ObObj& result, const common::ObObj& arg1, const common::ObObj& arg2,
const common::ObObj& arg3, common::ObExprCtx& expr_ctx) const;
const common::ObObj& arg3, common::ObExprCtx& expr_ctx) const override;
virtual int cg_expr(ObExprCGCtx& expr_cg_ctx, const ObRawExpr& raw_expr, ObExpr& rt_expr) const override;
......
......@@ -73,8 +73,8 @@ protected:
public:
explicit ObBasicNestedLoopJoin(common::ObIAllocator& alloc);
virtual ~ObBasicNestedLoopJoin();
virtual void reset();
virtual void reuse();
virtual void reset() override;
virtual void reuse() override;
int init_param_count(int64_t count)
{
return init_array_size<>(rescan_params_, count);
......@@ -95,7 +95,7 @@ public:
other_join_conds_, N_INNER_GET, is_inner_get_, N_SELF_JOIN, is_self_join_);
protected:
int get_next_left_row(ObJoinCtx& join_ctx) const;
int get_next_left_row(ObJoinCtx& join_ctx) const override;
int prepare_rescan_params(ObBasicNestedLoopJoinCtx& join_ctx) const;
inline bool use_batch_index_join(ObPhyOperatorType right_op_type) const
{
......
......@@ -421,7 +421,7 @@ private:
int next();
int join_end_operate();
int join_end_func_end();
int get_next_left_row();
int get_next_left_row() override;
int reuse_for_next_chunk();
int load_next_chunk();
int build_hash_table_for_nest_loop(int64_t& num_left_rows);
......@@ -448,7 +448,7 @@ private:
int split_partition_and_build_hash_table(int64_t& num_left_rows);
int recursive_process(bool& need_not_read_right);
int adaptive_process(bool& need_not_read_right);
int get_next_right_row();
int get_next_right_row() override;
int read_right_operate();
int calc_hash_value(const ObIArray<ObExpr*>& join_keys, const ObIArray<ObHashFunc>& hash_funcs, uint64_t& hash_value);
int calc_right_hash_value();
......
......@@ -100,9 +100,9 @@ private:
public:
explicit ObMergeJoin(common::ObIAllocator& alloc);
virtual ~ObMergeJoin();
virtual void reset();
virtual void reuse();
virtual int rescan(ObExecContext& exec_ctx) const;
virtual void reset() override;
virtual void reuse() override;
virtual int rescan(ObExecContext& exec_ctx) const override;
virtual int switch_iterator(ObExecContext& ctx) const override;
inline void set_left_unique(const bool u)
{
......@@ -137,19 +137,19 @@ private:
// state operation and transfer functions.
typedef int (ObMergeJoin::*state_operation_func_type)(ObMergeJoinCtx& join_ctx) const;
typedef int (ObMergeJoin::*state_function_func_type)(ObMergeJoinCtx& join_ctx, const common::ObNewRow*& row) const;
virtual int inner_get_next_row(ObExecContext& exec_ctx, const common::ObNewRow*& row) const;
virtual int inner_get_next_row(ObExecContext& exec_ctx, const common::ObNewRow*& row) const override;
/**
* @brief open operator, not including children operators.
* called by open.
* Every op should implement this method.
*/
virtual int inner_open(ObExecContext& exec_ctx) const;
virtual int inner_open(ObExecContext& exec_ctx) const override;
/**
* @brief close operator, not including children operators.
* Every op should implement this method.
*/
virtual int inner_close(ObExecContext& exec_ctx) const;
virtual int inner_create_operator_ctx(ObExecContext& exec_ctx, ObPhyOperatorCtx*& op_ctx) const;
virtual int inner_close(ObExecContext& exec_ctx) const override;
virtual int inner_create_operator_ctx(ObExecContext& exec_ctx, ObPhyOperatorCtx*& op_ctx) const override;
private:
// JS_JOIN_END state operation and transfer functions.
......
......@@ -61,8 +61,8 @@ private:
public:
explicit ObNestedLoopJoin(common::ObIAllocator& alloc);
virtual ~ObNestedLoopJoin();
virtual void reset();
virtual void reuse();
virtual void reset() override;
virtual void reuse() override;
virtual int rescan(ObExecContext& exec_ctx) const;
virtual int switch_iterator(ObExecContext& ctx) const override;
......@@ -96,14 +96,14 @@ private:
typedef int (ObNestedLoopJoin::*state_operation_func_type)(ObNestedLoopJoinCtx& join_ctx) const;
typedef int (ObNestedLoopJoin::*state_function_func_type)(
ObNestedLoopJoinCtx& join_ctx, const common::ObNewRow*& row) const;
virtual int inner_get_next_row(ObExecContext& exec_ctx, const common::ObNewRow*& row) const;
virtual int inner_get_next_row(ObExecContext& exec_ctx, const common::ObNewRow*& row) const override;
/**
* @brief open operator, not including children operators.
* called by open.
* Every op should implement this method.
*/
virtual int inner_open(ObExecContext& exec_ctx) const;
virtual int inner_create_operator_ctx(ObExecContext& exec_ctx, ObPhyOperatorCtx*& op_ctx) const;
virtual int inner_open(ObExecContext& exec_ctx) const override;
virtual int inner_create_operator_ctx(ObExecContext& exec_ctx, ObPhyOperatorCtx*& op_ctx) const override;
int prepare_rescan_params_for_group(ObNestedLoopJoinCtx& join_ctx) const;
// JS_JOIN_END state operation and transfer functions.
int join_end_operate(ObNestedLoopJoinCtx& join_ctx) const;
......@@ -124,9 +124,8 @@ private:
state_operation_func_type state_operation_func_[JS_STATE_COUNT];
state_function_func_type state_function_func_[JS_STATE_COUNT][FT_TYPE_COUNT];
// nested loop join with index seek, batch
int batch_index_join_get_next(ObExecContext &exec_ctx,
const common::ObNewRow *&row) const;
int reset_rescan_params(ObExecContext &ctx) const;
int batch_index_join_get_next(ObExecContext& exec_ctx, const common::ObNewRow*& row) const;
int reset_rescan_params(ObExecContext& ctx) const;
private:
int bij_fill_left_rows(ObExecContext& exec_ctx) const;
......
......@@ -132,10 +132,10 @@ protected:
return partition_id_idx_;
}
virtual int do_transmit(ObExecContext& ctx) const = 0;
int inner_open(ObExecContext& exec_ctx) const;
int get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const;
int inner_open(ObExecContext& exec_ctx) const override;
int get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const override;
int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const override;
int inner_close(ObExecContext& exec_ctx) const;
int inner_close(ObExecContext& exec_ctx) const override;
static int link_ch_sets(
ObPxTaskChSet& ch_set, common::ObIArray<dtl::ObDtlChannel*>& channels, dtl::ObDtlFlowControl* dfc = nullptr);
int send_rows(ObExecContext& exec_ctx, ObPxTransmitCtx& transmit_ctx, ObSliceIdxCalc& slice_calc) const;
......
......@@ -163,7 +163,7 @@ public:
virtual int inner_close(ObExecContext& ctx) const override;
virtual int inner_create_operator_ctx(ObExecContext& ctx, ObPhyOperatorCtx*& op_ctx) const;
virtual int inner_get_next_row(ObExecContext& exec_ctx, const common::ObNewRow*& row) const override;
virtual int create_operator_input(ObExecContext& ctx) const;
virtual int create_operator_input(ObExecContext& ctx) const override;
virtual OperatorOpenOrder get_operator_open_order(ObExecContext& ctx) const override
{
UNUSED(ctx);
......
......@@ -26,9 +26,9 @@ public:
explicit ObSubPlanFilter(common::ObIAllocator& alloc);
virtual ~ObSubPlanFilter();
void reset();
void reuse();
int rescan(ObExecContext& ctx) const;
void reset() override;
void reuse() override;
int rescan(ObExecContext& ctx) const override;
/**
* @brief add rescan param to subplan filter
......@@ -65,7 +65,7 @@ public:
{
return update_set_;
}
virtual int open(ObExecContext& ctx) const;
virtual int open(ObExecContext& ctx) const override;
virtual int switch_iterator(ObExecContext& ctx) const override;
private:
......@@ -74,34 +74,34 @@ private:
* @param ctx[in], execute context
* @return if success, return OB_SUCCESS, otherwise, return errno
*/
virtual int init_op_ctx(ObExecContext& ctx) const;
virtual int init_op_ctx(ObExecContext& ctx) const override;
/**
* @brief called by get_next_row(), get a row from the child operator or row_store
* @param ctx[in], execute context
* @param row[out], ObNewRow an obj array and row_size
*/
virtual int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const;
virtual int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const override;
/**
* @brief open operator, not including children operators.
* called by open.
* Every op should implement this method.
*/
virtual int inner_open(ObExecContext& ctx) const;
virtual int inner_open(ObExecContext& ctx) const override;
/**
* @brief close operator, not including children operators.
* Every op should implement this method.
*/
virtual int inner_close(ObExecContext& ctx) const;
virtual int inner_close(ObExecContext& ctx) const override;
/**
* @brief wrap the object of ObExprCtx, and reset calc_buf
* @param exec_ctx[in], execute context
* @param expr_ctx[out], sql expression calculate buffer context
* @return if success, return OB_SUCCESS
*/
virtual int wrap_expr_ctx(ObExecContext& exec_ctx, common::ObExprCtx& expr_ctx) const;
virtual int wrap_expr_ctx(ObExecContext& exec_ctx, common::ObExprCtx& expr_ctx) const override;
int prepare_rescan_params(ObExecContext& ctx, const common::ObNewRow& row) const;
int prepare_onetime_exprs(ObExecContext& ctx) const;
virtual int64_t to_string_kv(char* buf, const int64_t buf_len) const;
virtual int64_t to_string_kv(char* buf, const int64_t buf_len) const override;
int handle_update_set(ObSubPlanFilterCtx* subplan_ctx, const common::ObNewRow*& row) const;
int construct_array_params(ObExecContext& ctx) const;
int reset_rescan_params(ObExecContext &ctx) const;
......
......@@ -40,8 +40,8 @@ public:
virtual ~ObBlockSampleScan()
{}
virtual int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const;
virtual int init_op_ctx(ObExecContext& ctx) const;
virtual int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const override;
virtual int init_op_ctx(ObExecContext& ctx) const override;
inline void set_sample_info(const common::SampleInfo& sample_info)
{
sample_info_ = sample_info;
......@@ -54,7 +54,7 @@ public:
{
return sample_info_;
}
virtual int prepare_scan_param(ObExecContext& ctx) const;
virtual int prepare_scan_param(ObExecContext& ctx) const override;
OB_INLINE virtual bool need_filter_row() const override
{
return true;
......
......@@ -27,8 +27,8 @@ public:
{}
virtual ~ObMultiPartTableScanInput();
virtual void reset() override;
virtual int init(ObExecContext& ctx, ObTaskInfo& task_info, const ObPhyOperator& op);
virtual ObPhyOperatorType get_phy_op_type() const
virtual int init(ObExecContext& ctx, ObTaskInfo& task_info, const ObPhyOperator& op) override;
virtual ObPhyOperatorType get_phy_op_type() const override
{
return PHY_MULTI_PART_TABLE_SCAN;
};
......@@ -68,15 +68,15 @@ private:
public:
explicit ObMultiPartTableScan(common::ObIAllocator& allocator);
virtual ~ObMultiPartTableScan();
virtual int rescan(ObExecContext& ctx) const;
virtual int rescan(ObExecContext& ctx) const override;
/**
* @brief open operator, not including children operators.
* called by open.
* Every op should implement this method.
*/
virtual int inner_open(ObExecContext& ctx) const;
virtual int inner_close(ObExecContext& ctx) const;
virtual int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const;
virtual int inner_open(ObExecContext& ctx) const override;
virtual int inner_close(ObExecContext& ctx) const override;
virtual int inner_get_next_row(ObExecContext& ctx, const common::ObNewRow*& row) const override;
virtual int create_operator_input(ObExecContext& ctx) const override final;
virtual int init_op_ctx(ObExecContext& ctx) const override final;
void get_used_range_count(ObExecContext& ctx, int64_t& range_count) const;
......
......@@ -33,8 +33,8 @@ public:
multi_row_store_.reset();
// deserialize_allocator_ cannot be reset because it is only set once when creating operator input
}
virtual int init(ObExecContext& ctx, ObTaskInfo& task_info, const ObPhyOperator& op);
virtual ObPhyOperatorType get_phy_op_type() const
virtual int init(ObExecContext& ctx, ObTaskInfo& task_info, const ObPhyOperator& op) override;
virtual ObPhyOperatorType get_phy_op_type() const override
{
return PHY_TABLE_ROW_STORE;
}
......@@ -42,7 +42,7 @@ public:
* @brief set allocator which is used for deserialize, but not all objects will use allocator
* while deserializing, so you can override it if you need.
*/
virtual void set_deserialize_allocator(common::ObIAllocator* allocator);
virtual void set_deserialize_allocator(common::ObIAllocator* allocator) override;
private:
common::ObFixedArray<common::ObRowStore*, common::ObIAllocator> multi_row_store_;
......
......@@ -41,7 +41,7 @@ public:
* @brief set allocator which is used for deserialize, but not all objects will use allocator
* while deserializing, so you can override it if you need.
*/
virtual void set_deserialize_allocator(common::ObIAllocator* allocator);
virtual void set_deserialize_allocator(common::ObIAllocator* allocator) override;
private:
// One partition corresponds to one row store
......
......@@ -22,7 +22,7 @@ public:
ObDistributedJobControl();
virtual ~ObDistributedJobControl();
virtual int get_ready_jobs(common::ObIArray<ObJob*>& jobs, bool serial_sched = false) const;
virtual int get_ready_jobs(common::ObIArray<ObJob*>& jobs, bool serial_sched = false) const override;
virtual int sort_job_scan_part_locs(ObExecContext& ctx) override;
virtual int init_job_finish_queue(ObExecContext& ctx) override;
int get_root_job(ObJob*& root_job) const;
......
......@@ -108,15 +108,15 @@ public:
{}
virtual ~ObRpcRemoteExecuteP()
{}
virtual int init();
virtual int init() override;
protected:
virtual int send_result_to_controller(ObExecContext& exec_ctx, const ObPhysicalPlan& plan) override;
virtual int before_process();
virtual int process();
virtual int before_response();
virtual int after_process();
virtual void cleanup();
virtual int before_process() override;
virtual int process() override;
virtual int before_response() override;
virtual int after_process() override;
virtual void cleanup() override;
virtual void clean_result_buffer() override;
private:
......@@ -133,15 +133,15 @@ public:
{}
virtual ~ObRpcRemoteSyncExecuteP()
{}
virtual int init();
virtual int init() override;
protected:
virtual int send_result_to_controller(ObExecContext& exec_ctx, const ObPhysicalPlan& plan) override;
virtual int before_process();
virtual int process();
virtual int before_response();
virtual int after_process();
virtual void cleanup();
virtual int before_process() override;
virtual int process() override;
virtual int before_response() override;
virtual int after_process() override;
virtual void cleanup() override;
virtual void clean_result_buffer() override;
};
......@@ -153,16 +153,16 @@ public:
{}
virtual ~ObRpcRemoteASyncExecuteP()
{}
virtual int init();
virtual int init() override;
ObRemoteTask& get_arg()
{
return arg_;
}
virtual int before_process();
virtual int process();
virtual int before_response();
virtual int after_process();
virtual void cleanup();
virtual int before_process() override;
virtual int process() override;
virtual int before_response() override;
virtual int after_process() override;
virtual void cleanup() override;
void set_from_batch()
{
is_from_batch_ = true;
......
......@@ -88,7 +88,7 @@ public:
{}
virtual ~ObAllToOneSliceIdxCalc() = default;
virtual int get_slice_idx(const common::ObNewRow& row, int64_t& slice_idx) override;
virtual int get_slice_idx(const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, int64_t& slice_idx);
virtual int get_slice_idx(const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, int64_t& slice_idx) override;
protected:
};
......@@ -135,7 +135,8 @@ public:
typedef common::hash::ObHashMap<int64_t, int64_t, common::hash::NoPthreadDefendMode> PartId2ArrayIdxMap;
typedef common::hash::ObHashMap<int64_t, int64_t, common::hash::NoPthreadDefendMode> SubPartId2ArrayIdxMap;
virtual ~ObRepartSliceIdxCalc() {}
virtual ~ObRepartSliceIdxCalc()
{}
virtual int get_slice_idx(const common::ObNewRow& row, int64_t& slice_idx) override;
virtual int get_slice_idx(const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, int64_t& slice_idx) override;
......@@ -314,7 +315,8 @@ public:
{}
virtual int get_slice_indexes(const common::ObNewRow& row, SliceIdxArray& slice_idx_array) override;
virtual int get_slice_indexes(const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, SliceIdxArray& slice_idx_array);
virtual int get_slice_indexes(
const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, SliceIdxArray& slice_idx_array) override;
private:
const ChannelIdxArray& channel_idx_;
......@@ -342,7 +344,8 @@ public:
{}
virtual int get_slice_indexes(const common::ObNewRow& row, SliceIdxArray& slice_idx_array) override;
virtual int get_slice_indexes(const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, SliceIdxArray& slice_idx_array);
virtual int get_slice_indexes(
const ObIArray<ObExpr*>& exprs, ObEvalCtx& eval_ctx, SliceIdxArray& slice_idx_array) override;
private:
uint64_t slice_cnt_;
......@@ -379,7 +382,7 @@ public:
int calc_hash_value(const ObObj& obj, const ObObjType type, const ObCollationType cs_type, uint64_t& hash_val);
int calc_hash_value(ObEvalCtx& eval_ctx, uint64_t& hash_val);
int get_multi_hash_value(const ObNewRow& row, uint64_t& hash_val);
virtual int get_slice_idx(const ObNewRow& row, int64_t& slice_idx);
virtual int get_slice_idx(const ObNewRow& row, int64_t& slice_idx) override;
int get_slice_idx(const ObIArray<ObExpr*>& row, ObEvalCtx& eval_ctx, int64_t& slice_idx) override;
common::ObExprCtx* expr_ctx_;
......
......@@ -246,7 +246,7 @@ protected:
int calculate_table_location(uint64_t loc_table_id, uint64_t ref_table_id, const ObPartHint* part_hint,
ObTablePartitionInfo& table_partition_info);
int alloc_partition_id_expr(ObAllocExprContext& ctx);
virtual int allocate_expr_post(ObAllocExprContext &ctx);
virtual int allocate_expr_post(ObAllocExprContext &ctx) override;
int alloc_shadow_pk_column_for_gui(ObAllocExprContext& ctx);
virtual int need_multi_table_dml(AllocExchContext& ctx, ObShardingInfo& sharding_info, bool& is_needed);
int check_multi_table_dml_for_px(AllocExchContext& ctx, ObShardingInfo* source_sharding,
......
......@@ -88,8 +88,8 @@ public:
return has_union_child_;
}
virtual int est_cost() override;
virtual int allocate_granule_pre(AllocGIContext &ctx);
virtual int allocate_granule_post(AllocGIContext &ctx);
virtual int allocate_granule_pre(AllocGIContext &ctx) override;
virtual int allocate_granule_post(AllocGIContext &ctx) override;
virtual int allocate_exchange_post(AllocExchContext* ctx) override;
virtual int transmit_op_ordering() override;
virtual int re_est_cost(const ObLogicalOperator* parent, double need_row_count, bool& re_est) override;
......
......@@ -23,7 +23,7 @@ public:
ObOptimizerPartitionLocationCache(common::ObIAllocator& allocator, share::ObIPartitionLocationCache* location_cache);
virtual ~ObOptimizerPartitionLocationCache();
virtual PartitionLocationCacheType get_type() const
virtual PartitionLocationCacheType get_type() const override
{
return ObOptimizerPartitionLocationCache::PART_LOC_CACHE_TYPE_OPTIMIZER;
}
......@@ -69,7 +69,7 @@ public:
virtual int nonblock_renew_with_limiter(
const common::ObPartitionKey& partition, const int64_t expire_renew_time, bool& is_limited) override;
// link table.
virtual int get_link_table_location(const uint64_t table_id, share::ObPartitionLocation& location);
virtual int get_link_table_location(const uint64_t table_id, share::ObPartitionLocation& location) override;
inline share::ObIPartitionLocationCache* get_location_cache()
{
return location_cache_;
......
......@@ -32,7 +32,7 @@ public:
int add_table_item(const obrpc::ObTableItem& table_item);
void set_tablegroup_name(const common::ObString& tablegroup_name);
obrpc::ObAlterTablegroupArg& get_alter_tablegroup_arg();
virtual obrpc::ObDDLArg& get_ddl_arg()
virtual obrpc::ObDDLArg& get_ddl_arg() override
{
return alter_tablegroup_arg_;
}
......
......@@ -41,7 +41,7 @@ public:
explicit ObCreateTableResolver(ObResolverParams& params);
virtual ~ObCreateTableResolver();
virtual int resolve(const ParseNode& parse_tree);
virtual int resolve(const ParseNode& parse_tree) override;
private:
enum ResolveRule { RESOLVE_ALL = 0, RESOLVE_COL_ONLY, RESOLVE_NON_COL };
......
......@@ -33,7 +33,7 @@ public:
virtual int set_primary_zone(const common::ObString& zone) override;
virtual int set_locality(const common::ObString& locality) override;
obrpc::ObCreateTablegroupArg& get_create_tablegroup_arg();
virtual obrpc::ObDDLArg& get_ddl_arg()
virtual obrpc::ObDDLArg& get_ddl_arg() override
{
return create_tablegroup_arg_;
}
......
......@@ -105,7 +105,7 @@ public:
DECLARE_VIRTUAL_TO_STRING;
protected:
virtual int inner_get_relation_exprs(RelExprCheckerBase& expr_checker);
virtual int inner_get_relation_exprs(RelExprCheckerBase& expr_checker) override;
private:
uint64_t source_table_id_;
......
......@@ -170,7 +170,7 @@ public:
explicit ObSelectResolver(ObResolverParams& params);
virtual ~ObSelectResolver();
virtual int resolve(const ParseNode& parse_tree);
virtual int resolve(const ParseNode& parse_tree) override;
ObSelectStmt* get_select_stmt();
void set_calc_found_rows(bool found_rows)
{
......@@ -180,15 +180,15 @@ public:
{
has_top_limit_ = has_top_limit;
}
virtual int resolve_child_stmt(const ParseNode& parse_tree)
virtual int resolve_child_stmt(const ParseNode& parse_tree) override
{
return SMART_CALL(resolve(parse_tree));
}
virtual ObSelectStmt* get_child_stmt()
virtual ObSelectStmt* get_child_stmt() override
{
return get_select_stmt();
}
virtual bool is_select_resolver() const
virtual bool is_select_resolver() const override
{
return true;
}
......@@ -222,7 +222,7 @@ public:
{
return in_exists_subquery_;
}
virtual int resolve_column_ref_expr(const ObQualifiedName& q_name, ObRawExpr*& real_ref_expr);
virtual int resolve_column_ref_expr(const ObQualifiedName& q_name, ObRawExpr*& real_ref_expr) override;
void set_transpose_item(const TransposeItem* transpose_item)
{
transpose_item_ = transpose_item;
......@@ -274,7 +274,7 @@ protected:
int resolve_cte_table(const ParseNode& parse_tree, const TableItem* CTE_table_item, TableItem*& table_item);
int resolve_recursive_cte_table(const ParseNode& parse_tree, TableItem*& table_item);
int add_parent_cte_table_to_children(ObChildStmtResolver& child_resolver);
int add_cte_table_item(TableItem* table_item);
int add_cte_table_item(TableItem* table_item) override;
int resolve_with_clause(const ParseNode* node, bool same_level = false);
int resolve_from_clause(const ParseNode* node);
int resolve_field_list(const ParseNode& node);
......@@ -336,13 +336,13 @@ protected:
int resolve_start_with_clause(const ParseNode* node_1, const ParseNode* node_2);
int resolve_connect_by_clause(const ParseNode* node_1, const ParseNode* node_2);
int check_correlated_column_ref(const ObSelectStmt& select_stmt, ObRawExpr* expr, bool& correalted_query);
virtual int resolve_order_item(const ParseNode& sort_node, OrderItem& order_item);
virtual int resolve_order_item(const ParseNode& sort_node, OrderItem& order_item) override;
virtual int resolve_order_item_by_pos(int64_t pos, OrderItem& order_item, ObSelectStmt* select_stmt);
virtual int resolve_literal_order_item(
const ParseNode& sort_node, ObRawExpr* expr, OrderItem& order_item, ObSelectStmt* select_stmt);
virtual int resolve_aggr_exprs(
ObRawExpr*& expr, common::ObIArray<ObAggFunRawExpr*>& aggr_exprs, const bool need_analyze = true);
virtual int resolve_win_func_exprs(ObRawExpr*& expr, common::ObIArray<ObWinFunRawExpr*>& win_exprs);
ObRawExpr*& expr, common::ObIArray<ObAggFunRawExpr*>& aggr_exprs, const bool need_analyze = true) override;
virtual int resolve_win_func_exprs(ObRawExpr*& expr, common::ObIArray<ObWinFunRawExpr*>& win_exprs) override;
int resolve_column_ref_in_all_namespace(const ObQualifiedName& q_name, ObRawExpr*& real_ref_expr);
/**
* resolve column real ref expr, search order: alias name first, followed by table column
......@@ -361,12 +361,12 @@ protected:
int resolve_all_generated_table_columns(const TableItem& table_item, common::ObIArray<ColumnItem>* column_items);
virtual int set_select_item(SelectItem& select_item, bool is_auto_gen);
int resolve_query_options(const ParseNode* node);
virtual int resolve_subquery_info(const common::ObIArray<ObSubQueryInfo>& subquery_info);
virtual int resolve_column_ref_for_subquery(const ObQualifiedName& q_name, ObRawExpr*& real_ref_expr);
virtual int resolve_subquery_info(const common::ObIArray<ObSubQueryInfo>& subquery_info) override;
virtual int resolve_column_ref_for_subquery(const ObQualifiedName& q_name, ObRawExpr*& real_ref_expr) override;
inline bool column_need_check_group_by(const ObQualifiedName& q_name) const;
int check_column_ref_in_group_by_or_field_list(const ObRawExpr* column_ref) const;
int wrap_alias_column_ref(const ObQualifiedName& q_name, ObRawExpr*& real_ref_expr);
virtual int check_need_use_sys_tenant(bool& use_sys_tenant) const;
virtual int check_need_use_sys_tenant(bool& use_sys_tenant) const override;
virtual int check_in_sysview(bool& in_sysview) const override;
int check_group_by();
int check_order_by();
......
......@@ -71,7 +71,7 @@ public:
// Used to replace all references to from expr in stmt, from from to to expr
// The search space is only in the expr directly referenced by stmt, and will not recurse into expr
virtual int replace_expr_in_stmt(ObRawExpr* from, ObRawExpr* to);
virtual int replace_expr_in_stmt(ObRawExpr* from, ObRawExpr* to) override;
virtual int has_special_expr(const ObExprInfoFlag, bool& has) const override;
virtual int replace_inner_stmt_expr(
const common::ObIArray<ObRawExpr*>& other_exprs, const common::ObIArray<ObRawExpr*>& new_exprs) override;
......@@ -87,9 +87,9 @@ public:
protected:
// Get the root expr of all query-related expressions in stmt
//(expression generated by the attributes specified in the query statement)
virtual int inner_get_relation_exprs(RelExprCheckerBase& expr_checker);
virtual int inner_get_relation_exprs(RelExprCheckerBase& expr_checker) override;
// Get the root expr that needs to be processed by enum_set_wrapper in stmt
virtual int inner_get_relation_exprs_for_wrapper(RelExprChecker& expr_checker)
virtual int inner_get_relation_exprs_for_wrapper(RelExprChecker& expr_checker) override
{
return inner_get_relation_exprs(expr_checker);
}
......
......@@ -39,7 +39,7 @@ public:
{
parent_view_resolver_ = parent_view_resolver;
}
int check_need_use_sys_tenant(bool& use_sys_tenant) const;
int check_need_use_sys_tenant(bool& use_sys_tenant) const override;
virtual int check_in_sysview(bool& in_sysview) const override;
void set_is_create_view(bool is_create_view)
{
......@@ -64,12 +64,12 @@ public:
protected:
virtual int do_resolve_set_query(
const ParseNode& parse_tree, ObSelectStmt*& child_stmt, const bool is_left_child = false);
virtual int expand_view(TableItem& view_item);
virtual int resolve_subquery_info(const common::ObIArray<ObSubQueryInfo>& subquery_info);
const ParseNode& parse_tree, ObSelectStmt*& child_stmt, const bool is_left_child = false) override;
virtual int expand_view(TableItem& view_item) override;
virtual int resolve_subquery_info(const common::ObIArray<ObSubQueryInfo>& subquery_info) override;
int check_view_circular_reference(const TableItem& view_item);
virtual int resolve_generate_table(const ParseNode& table_node, const ObString& alias_name, TableItem*& table_item);
virtual int set_select_item(SelectItem& select_item, bool is_auto_gen);
virtual int resolve_generate_table(const ParseNode& table_node, const ObString& alias_name, TableItem*& table_item) override;
virtual int set_select_item(SelectItem& select_item, bool is_auto_gen) override;
virtual const ObString get_view_db_name() const override
{
return view_db_name_;
......
......@@ -335,28 +335,28 @@ public:
ObRaidFileSystem();
virtual ~ObRaidFileSystem();
virtual int init(const ObStorageEnv& storage_env, storage::ObPartitionService& partition_service);
virtual void destroy();
virtual int async_write(const ObStoreFileWriteInfo& write_info, common::ObIOHandle& io_handle);
virtual int async_read(const ObStoreFileReadInfo& read_info, common::ObIOHandle& io_handle);
virtual int init(const ObStorageEnv& storage_env, storage::ObPartitionService& partition_service) override;
virtual void destroy() override;
virtual int async_write(const ObStoreFileWriteInfo& write_info, common::ObIOHandle& io_handle) override;
virtual int async_read(const ObStoreFileReadInfo& read_info, common::ObIOHandle& io_handle) override;
virtual int write_server_super_block(const ObServerSuperBlock& super_block) override;
virtual int read_server_super_block(ObServerSuperBlock& super_block) override;
virtual int fsync();
virtual int64_t get_total_data_size() const;
virtual int init_file_ctx(const ObStoreFileType& file_type, blocksstable::ObStoreFileCtx& file_ctx) const;
virtual int fsync() override;
virtual int64_t get_total_data_size() const override;
virtual int init_file_ctx(const ObStoreFileType& file_type, blocksstable::ObStoreFileCtx& file_ctx) const override;
virtual bool is_disk_full() const override;
int init_recover_io_master(const ObMacroBlockCtx& macro_block_ctx, const int64_t aligned_offset,
const int64_t out_io_buf_size, const ObIODesc& io_desc, const ObBitSet<OB_MAX_DISK_NUMBER>& recover_disk_idx_set,
ObRaidRecoverIOCallback& callback, ObIOMaster* io_master);
virtual int add_disk(const ObString& diskgroup_name, const ObString& disk_path, const ObString& alias_name);
virtual int drop_disk(const ObString& diskgroup_name, const ObString& alias_name);
virtual int add_disk(const ObString& diskgroup_name, const ObString& disk_path, const ObString& alias_name) override;
virtual int drop_disk(const ObString& diskgroup_name, const ObString& alias_name) override;
int do_rebuild_task();
virtual int get_disk_status(ObDiskStats& disk_stats) override;
int64_t get_raid_src_data_num() const;
virtual int start();
virtual void stop();
virtual void wait();
virtual int start() override;
virtual void stop() override;
virtual void wait() override;
// used in report bad block.
virtual int get_macro_block_info(const storage::ObTenantFileKey& file_key, const MacroBlockId& macro_block_id,
......
......@@ -94,7 +94,7 @@ public:
void set_rowkey(const common::ObExtStoreRowkey& rowkey);
virtual int init(const storage::ObTableIterParam& param, storage::ObTableAccessContext& context,
storage::ObITable* table, const void* query_range) override;
virtual int inner_get_next_row(const storage::ObStoreRow*& row);
virtual int inner_get_next_row(const storage::ObStoreRow*& row) override;
virtual void reset();
virtual void reuse() override
{
......@@ -129,13 +129,13 @@ public:
storage::ObITable* table, const void* query_range) override;
public:
virtual int inner_get_next_row(const storage::ObStoreRow*& row);
virtual int inner_get_next_row(const storage::ObStoreRow*& row) override;
virtual void reset();
virtual void reuse() override
{
reset();
}
virtual int get_gap_end(int64_t& range_idx, const common::ObStoreRowkey*& gap_key, int64_t& gap_size)
virtual int get_gap_end(int64_t& range_idx, const common::ObStoreRowkey*& gap_key, int64_t& gap_size) override
{
int ret = common::OB_SUCCESS;
range_idx = 0;
......@@ -145,7 +145,7 @@ public:
}
return ret;
}
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key);
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key) override;
ObIMemtable* get_memtable()
{
return memtable_;
......@@ -160,7 +160,7 @@ public:
? 0
: context_->store_ctx_->mem_ctx_->get_read_snapshot();
}
uint8_t get_iter_flag()
uint8_t get_iter_flag() override
{
return iter_flag_;
}
......@@ -210,7 +210,7 @@ public:
storage::ObITable* table, const void* query_range) override;
public:
virtual int inner_get_next_row(const storage::ObStoreRow*& row);
virtual int inner_get_next_row(const storage::ObStoreRow*& row) override;
virtual void reset();
virtual void reuse() override
{
......@@ -248,14 +248,14 @@ public:
public:
int init(const storage::ObTableIterParam& param, storage::ObTableAccessContext& context, storage::ObITable* table,
const void* query_range) override;
virtual int inner_get_next_row(const storage::ObStoreRow*& row);
virtual void reset();
virtual int inner_get_next_row(const storage::ObStoreRow*& row) override;
virtual void reset() override;
virtual void reuse() override
{
reset();
}
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key);
virtual int get_gap_end(int64_t& range_idx, const common::ObStoreRowkey*& gap_key, int64_t& gap_size)
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key) override;
virtual int get_gap_end(int64_t& range_idx, const common::ObStoreRowkey*& gap_key, int64_t& gap_size) override
{
int ret = common::OB_SUCCESS;
if (OB_FAIL(ObMemtableScanIterator::get_gap_end(range_idx, gap_key, gap_size))) {
......@@ -293,7 +293,7 @@ public:
storage::ObITable* table, const void* query_range) override;
public:
virtual int inner_get_next_row(const storage::ObStoreRow*& row);
virtual int inner_get_next_row(const storage::ObStoreRow*& row) override;
virtual void reset();
virtual void reuse() override
{
......
......@@ -63,10 +63,10 @@ public:
ObTenantDDLCheckSchemaTask();
virtual ~ObTenantDDLCheckSchemaTask();
int init(const uint64_t tenant_id, const int64_t base_version, const int64_t refreshed_version);
virtual bool operator==(const ObIDDLTask& other) const;
virtual int64_t hash() const;
virtual int process();
virtual int64_t get_deep_copy_size() const
virtual bool operator==(const ObIDDLTask& other) const override;
virtual int64_t hash() const override;
virtual int process() override;
virtual int64_t get_deep_copy_size() const override
{
return sizeof(*this);
}
......@@ -107,10 +107,10 @@ public:
virtual ~ObBuildIndexScheduleTask();
int init(const common::ObPartitionKey& pkey, const uint64_t index_id, const int64_t schema_version,
const bool is_unique_index);
virtual bool operator==(const ObIDDLTask& other) const;
virtual int64_t hash() const;
virtual int process();
virtual int64_t get_deep_copy_size() const
virtual bool operator==(const ObIDDLTask& other) const override;
virtual int64_t hash() const override;
virtual int process() override;
virtual int64_t get_deep_copy_size() const override
{
return sizeof(*this);
}
......
......@@ -36,8 +36,8 @@ public:
ObBuildIndexDag();
virtual ~ObBuildIndexDag();
int init(const ObPartitionKey& pkey, storage::ObPartitionService* partition_service);
virtual int64_t hash() const;
virtual bool operator==(const share::ObIDag& other) const;
virtual int64_t hash() const override;
virtual bool operator==(const share::ObIDag& other) const override;
virtual int prepare();
virtual int clean_up();
int get_partition_storage(ObPartitionStorage*& storage);
......@@ -67,7 +67,7 @@ public:
{
return pkey_.get_tenant_id();
}
virtual int fill_comment(char* buf, const int64_t buf_len) const;
virtual int fill_comment(char* buf, const int64_t buf_len) const override;
virtual int64_t get_compat_mode() const override
{
return static_cast<int64_t>(compat_mode_);
......@@ -334,8 +334,8 @@ public:
int alloc_local_index_task_callback(ObLocalUniqueIndexCallback*& callback);
int alloc_global_index_task_callback(
const ObPartitionKey& pkey, const uint64_t index_id, ObGlobalUniqueIndexCallback*& callback);
virtual int64_t hash() const;
virtual bool operator==(const share::ObIDag& other) const;
virtual int64_t hash() const override;
virtual bool operator==(const share::ObIDag& other) const override;
virtual int64_t get_tenant_id() const override
{
return pkey_.get_tenant_id();
......
......@@ -66,7 +66,7 @@ protected:
virtual int prepare() override;
virtual int calc_scan_range() override;
virtual int construct_iters() override;
virtual int inner_get_next_row(ObStoreRow& row);
virtual int inner_get_next_row(ObStoreRow& row) override;
virtual void collect_merge_stat(ObTableStoreStat& stat) const override;
virtual int skip_to_range(const int64_t range_idx) override;
......
......@@ -62,7 +62,7 @@ public:
}
virtual int switch_iterator(const int64_t range_array_idx) override;
int refresh_table_on_demand();
virtual int release_table_ref();
virtual int release_table_ref() override;
protected:
int open();
......
......@@ -23,7 +23,7 @@ public:
public:
int open(const common::ObIArray<common::ObExtStoreRange>& ranges);
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
static int estimate_row_count(const common::ObQueryFlag query_flag, const uint64_t table_id,
const common::ObIArray<common::ObExtStoreRange>& ranges, const common::ObIArray<ObITable*>& tables,
......@@ -32,7 +32,7 @@ public:
protected:
virtual int calc_scan_range() override;
virtual int construct_iters() override;
virtual int inner_get_next_row(ObStoreRow& row);
virtual int inner_get_next_row(ObStoreRow& row) override;
virtual int prepare() override;
virtual int is_range_valid() const override;
virtual void collect_merge_stat(ObTableStoreStat& stat) const override;
......
......@@ -63,21 +63,21 @@ public:
share::schema::ObMultiVersionSchemaService* schema_service, transaction::ObTransService* txs,
replayengine::ObILogReplayEngine* rp_eg, ObPartitionService* ps, ObPartitionGroupIndex* pg_index,
ObPGPartitionMap* pg_partition_map) override;
virtual void destroy();
virtual void destroy() override;
virtual void clear() override;
virtual const clog::ObIPartitionLogService* get_log_service() const;
virtual clog::ObIPartitionLogService* get_log_service();
virtual const clog::ObIPartitionLogService* get_log_service() const override;
virtual clog::ObIPartitionLogService* get_log_service() override;
virtual ObIPartitionComponentFactory* get_cp_fty()
{
return cp_fty_;
}
virtual ObPGStorage& get_pg_storage()
virtual ObPGStorage& get_pg_storage() override
{
return pg_storage_;
}
virtual ObPartitionService* get_partition_service();
virtual ObPartitionService* get_partition_service() override;
virtual ObPartitionGroupIndex* get_pg_index() override
{
return pg_index_;
......@@ -86,37 +86,39 @@ public:
{
return pg_partition_map_;
};
virtual transaction::ObTransService* get_trans_service();
virtual const common::ObPartitionKey& get_partition_key() const;
virtual int get_pg_partition(const common::ObPartitionKey& pkey, ObPGPartitionGuard& guard);
virtual int set_valid();
virtual void set_invalid();
virtual bool is_valid() const;
virtual bool is_pg() const
virtual transaction::ObTransService* get_trans_service() override;
virtual const common::ObPartitionKey& get_partition_key() const override;
virtual int get_pg_partition(const common::ObPartitionKey& pkey, ObPGPartitionGuard& guard) override;
virtual int set_valid() override;
virtual void set_invalid() override;
virtual bool is_valid() const override;
virtual bool is_pg() const override
{
return pkey_.is_pg();
}
virtual int table_scan(ObTableScanParam& param, common::ObNewRowIterator*& result);
virtual int table_scan(ObTableScanParam& param, common::ObNewRowIterator*& result) override;
virtual int table_scan(ObTableScanParam& param, common::ObNewIterIterator*& result) override;
virtual int join_mv_scan(ObTableScanParam& left_param, ObTableScanParam& right_param,
ObIPartitionGroup& right_partition, common::ObNewRowIterator*& result) override;
virtual int delete_rows(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, common::ObNewRowIterator* row_iter, int64_t& affected_rows);
const common::ObIArray<uint64_t>& column_ids, common::ObNewRowIterator* row_iter,
int64_t& affected_rows) override;
virtual int delete_row(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, const common::ObNewRow& row) override;
virtual int put_rows(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, common::ObNewRowIterator* row_iter,
int64_t& affected_rows) override;
virtual int insert_rows(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, common::ObNewRowIterator* row_iter, int64_t& affected_rows);
const common::ObIArray<uint64_t>& column_ids, common::ObNewRowIterator* row_iter,
int64_t& affected_rows) override;
virtual int insert_row(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, const common::ObNewRow& row) override;
virtual int insert_row(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, const common::ObIArray<uint64_t>& duplicated_column_ids,
const common::ObNewRow& row, const ObInsertFlag flag, int64_t& affected_rows,
common::ObNewRowIterator*& duplicated_rows);
common::ObNewRowIterator*& duplicated_rows) override;
// Used to check whether the specified row conflicts in the storage
// @in_column_ids is used to specify the column of the row to be checked.
// Rowkey must be first and local unique index must be included.
......@@ -126,11 +128,11 @@ public:
// to the number of rows to be checked
virtual int fetch_conflict_rows(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& in_column_ids, const common::ObIArray<uint64_t>& out_column_ids,
common::ObNewRowIterator& check_row_iter, common::ObIArray<common::ObNewRowIterator*>& dup_row_iters);
virtual int revert_insert_iter(const common::ObPartitionKey& pkey, common::ObNewRowIterator* iter);
common::ObNewRowIterator& check_row_iter, common::ObIArray<common::ObNewRowIterator*>& dup_row_iters) override;
virtual int revert_insert_iter(const common::ObPartitionKey& pkey, common::ObNewRowIterator* iter) override;
virtual int update_rows(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, const common::ObIArray<uint64_t>& updated_column_ids,
common::ObNewRowIterator* row_iter, int64_t& affected_rows);
common::ObNewRowIterator* row_iter, int64_t& affected_rows) override;
virtual int update_row(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param,
const common::ObIArray<uint64_t>& column_ids, const common::ObIArray<uint64_t>& updated_column_ids,
const common::ObNewRow& old_row, const common::ObNewRow& new_row) override;
......@@ -139,26 +141,26 @@ public:
virtual int lock_rows(const ObStoreCtx& ctx, const ObDMLBaseParam& dml_param, const int64_t abs_lock_timeout,
const common::ObNewRow& row, ObLockFlag lock_flag) override;
virtual int get_role(common::ObRole& role) const;
virtual int get_role_unsafe(common::ObRole& role) const;
virtual int get_leader_curr_member_list(common::ObMemberList& member_list) const;
virtual int get_leader(common::ObAddr& leader) const;
virtual int get_curr_member_list(common::ObMemberList& member_list) const;
virtual int get_curr_member_list_for_report(common::ObMemberList& member_list) const;
virtual int get_role(common::ObRole& role) const override;
virtual int get_role_unsafe(common::ObRole& role) const override;
virtual int get_leader_curr_member_list(common::ObMemberList& member_list) const override;
virtual int get_leader(common::ObAddr& leader) const override;
virtual int get_curr_member_list(common::ObMemberList& member_list) const override;
virtual int get_curr_member_list_for_report(common::ObMemberList& member_list) const override;
virtual int get_curr_leader_and_memberlist(common::ObAddr& leader, common::ObRole& role,
common::ObMemberList& curr_member_list, common::ObChildReplicaList& children_list) const;
virtual int get_dst_leader_candidate(common::ObMemberList& member_list) const;
virtual int get_log_archive_status(clog::ObPGLogArchiveStatus& status) const;
virtual int change_leader(const common::ObAddr& leader);
common::ObMemberList& curr_member_list, common::ObChildReplicaList& children_list) const override;
virtual int get_dst_leader_candidate(common::ObMemberList& member_list) const override;
virtual int get_log_archive_status(clog::ObPGLogArchiveStatus& status) const override;
virtual int change_leader(const common::ObAddr& leader) override;
virtual int leader_takeover() override;
virtual int leader_revoke();
virtual int leader_active();
virtual ObReplayStatus* get_replay_status();
virtual int leader_revoke() override;
virtual int leader_active() override;
virtual ObReplayStatus* get_replay_status() override;
// write ssstore objects @version tree to data file , used by write_check_point
virtual int serialize(ObArenaAllocator& allocator, char*& new_buf, int64_t& serialize_size);
virtual int serialize(ObArenaAllocator& allocator, char*& new_buf, int64_t& serialize_size) override;
// read ssstore objects from data file to construct partition storage's version tree.
virtual int deserialize(const char* buf, const int64_t buf_len, int64_t& pos);
virtual int deserialize(const char* buf, const int64_t buf_len, int64_t& pos) override;
virtual int report_clog_history_online() override;
virtual int report_clog_history_offline() override;
......@@ -170,96 +172,97 @@ public:
virtual int schema_drop(const bool for_replay, const uint64_t log_id, const bool is_physical_drop) override;
// get create timestamp
virtual int get_create_ts(int64_t& create_ts);
virtual int get_create_ts(int64_t& create_ts) override;
// role change status
virtual void replay_status_revoke();
virtual void replay_status_revoke() override;
virtual int get_replica_state(ObPartitionReplicaState& state);
virtual int get_replica_state(ObPartitionReplicaState& state) override;
virtual bool is_removed() const;
virtual int check_is_in_member_list(bool& is_in_member_list) const;
virtual int offline_itself(const bool is_physical_drop);
virtual bool is_removed() const override;
virtual int check_is_in_member_list(bool& is_in_member_list) const override;
virtual int offline_itself(const bool is_physical_drop) override;
virtual int submit_add_partition_to_pg_log(const obrpc::ObCreatePartitionArg& arg, ObPartitionService* ps,
uint64_t& log_id, int64_t& log_timestamp, ObAddPartitionToPGLogCb*& out_cb);
virtual int submit_remove_partition_from_pg_log(const ObPartitionKey& pkey);
uint64_t& log_id, int64_t& log_timestamp, ObAddPartitionToPGLogCb*& out_cb) override;
virtual int submit_remove_partition_from_pg_log(const ObPartitionKey& pkey) override;
virtual int submit_partition_schema_change_log(const common::ObPartitionKey& pkey, const int64_t schema_version,
const uint64_t index_id, ObPartitionService* ps, uint64_t& log_id, int64_t& log_ts,
ObSchemaChangeClogCb*& out_cb);
ObSchemaChangeClogCb*& out_cb) override;
virtual int remove_partition_from_pg(
const bool for_replay, const ObPartitionKey& pkey, const bool write_slog_trans, const uint64_t log_id);
const bool for_replay, const ObPartitionKey& pkey, const bool write_slog_trans, const uint64_t log_id) override;
virtual int replay_partition_meta_log(
const ObStorageLogType log_type, const int64_t log_id, const char* buf, const int64_t size) override;
virtual int set_wait_split();
virtual int save_split_state(const bool write_slog);
virtual int restore_split_state(const int state);
virtual int restore_split_info(const ObPartitionSplitInfo& split_info);
virtual int set_wait_split() override;
virtual int save_split_state(const bool write_slog) override;
virtual int restore_split_state(const int state) override;
virtual int restore_split_info(const ObPartitionSplitInfo& split_info) override;
virtual int replay_split_source_log(
const ObPartitionSplitSourceLog& log, const uint64_t log_id, const int64_t log_ts);
virtual int replay_split_dest_log(const ObPartitionSplitDestLog& log);
virtual int sync_split_source_log_success(const int64_t log_id, const int64_t log_ts);
virtual int sync_split_dest_log_success();
const ObPartitionSplitSourceLog& log, const uint64_t log_id, const int64_t log_ts) override;
virtual int replay_split_dest_log(const ObPartitionSplitDestLog& log) override;
virtual int sync_split_source_log_success(const int64_t log_id, const int64_t log_ts) override;
virtual int sync_split_dest_log_success() override;
virtual int prepare_splitting(
const ObPartitionSplitInfo& split_info, const common::ObMemberList& mlist, const common::ObAddr& leader);
const ObPartitionSplitInfo& split_info, const common::ObMemberList& mlist, const common::ObAddr& leader) override;
virtual int split_source_partition(const int64_t schema_version, const share::ObSplitPartitionPair& info,
enum share::ObSplitProgress& partition_progress);
virtual int split_dest_partition(const ObPartitionSplitInfo& split_info, enum share::ObSplitProgress& progress);
enum share::ObSplitProgress& partition_progress) override;
virtual int split_dest_partition(
const ObPartitionSplitInfo& split_info, enum share::ObSplitProgress& progress) override;
virtual int push_reference_tables(
const common::ObIArray<common::ObPartitionKey>& dest_array, const int64_t split_version);
virtual int replay_split_state_slog(const ObSplitPartitionStateLogEntry& log_entry);
virtual int replay_split_info_slog(const ObSplitPartitionInfoLogEntry& log_entry);
const common::ObIArray<common::ObPartitionKey>& dest_array, const int64_t split_version) override;
virtual int replay_split_state_slog(const ObSplitPartitionStateLogEntry& log_entry) override;
virtual int replay_split_info_slog(const ObSplitPartitionInfoLogEntry& log_entry) override;
virtual int set_dest_partition_split_progress(
const int64_t schema_version, const common::ObPartitionKey& pkey, const int progress);
virtual int get_all_table_ids(const ObPartitionKey& pkey, common::ObIArray<uint64_t>& index_tables);
virtual int get_reference_tables(const ObPartitionKey& pkey, const int64_t index_id, ObTablesHandle& handle);
virtual int get_reference_memtables(ObTablesHandle& handle);
virtual int set_reference_tables(const ObPartitionKey& pkey, const int64_t index_id, ObTablesHandle& handle);
virtual int set_split_version(const int64_t split_version);
virtual int check_can_migrate(bool& can_migrate);
virtual bool is_splitting() const;
virtual bool is_split_source_partition() const;
virtual bool is_in_dest_split() const;
virtual bool is_dest_logical_split_finish() const;
virtual int check_split_state() const;
virtual int get_split_progress(const int64_t schema_version, int& progress);
virtual int set_split_progress(const common::ObAddr& replica, const int progress);
virtual int block_partition_split_by_mc();
virtual int unblock_partition_split_by_mc();
const int64_t schema_version, const common::ObPartitionKey& pkey, const int progress) override;
virtual int get_all_table_ids(const ObPartitionKey& pkey, common::ObIArray<uint64_t>& index_tables) override;
virtual int get_reference_tables(const ObPartitionKey& pkey, const int64_t index_id, ObTablesHandle& handle) override;
virtual int get_reference_memtables(ObTablesHandle& handle) override;
virtual int set_reference_tables(const ObPartitionKey& pkey, const int64_t index_id, ObTablesHandle& handle) override;
virtual int set_split_version(const int64_t split_version) override;
virtual int check_can_migrate(bool& can_migrate) override;
virtual bool is_splitting() const override;
virtual bool is_split_source_partition() const override;
virtual bool is_in_dest_split() const override;
virtual bool is_dest_logical_split_finish() const override;
virtual int check_split_state() const override;
virtual int get_split_progress(const int64_t schema_version, int& progress) override;
virtual int set_split_progress(const common::ObAddr& replica, const int progress) override;
virtual int block_partition_split_by_mc() override;
virtual int unblock_partition_split_by_mc() override;
virtual int64_t get_freeze_snapshot_ts() const override;
virtual ObPartitionState get_partition_state() const;
virtual int switch_partition_state(const ObPartitionState state);
virtual ObPartitionState get_partition_state() const override;
virtual int switch_partition_state(const ObPartitionState state) override;
virtual int try_switch_partition_state(const ObPartitionState state) override;
virtual int get_latest_schema_version(share::schema::ObMultiVersionSchemaService* schema_service,
const common::ObPartitionKey& pkey, int64_t& latest_schema_version);
virtual int check_schema_version(share::schema::ObMultiVersionSchemaService* schema_service);
virtual int set_base_schema_version(int64_t base_schema_version);
virtual int do_warm_up_request(const ObIWarmUpRequest* request);
virtual int check_can_do_merge(bool& can_merge, bool& need_merge);
virtual int set_replica_type(const common::ObReplicaType& replica_type, const bool write_redo_log);
virtual common::ObReplicaType get_replica_type() const;
const common::ObPartitionKey& pkey, int64_t& latest_schema_version) override;
virtual int check_schema_version(share::schema::ObMultiVersionSchemaService* schema_service) override;
virtual int set_base_schema_version(int64_t base_schema_version) override;
virtual int do_warm_up_request(const ObIWarmUpRequest* request) override;
virtual int check_can_do_merge(bool& can_merge, bool& need_merge) override;
virtual int set_replica_type(const common::ObReplicaType& replica_type, const bool write_redo_log) override;
virtual common::ObReplicaType get_replica_type() const override;
virtual common::ObReplicaProperty get_replica_property() const override;
virtual int generate_weak_read_timestamp(const int64_t max_stale_time, int64_t& timestamp) override;
virtual int do_partition_loop_work() override;
virtual int get_weak_read_timestamp(int64_t& timestamp);
virtual int update_last_checkpoint(const int64_t checkpoint);
virtual int set_replay_checkpoint(const int64_t checkpoint);
virtual int get_replay_checkpoint(int64_t& checkpoint);
virtual int64_t get_cur_min_log_service_ts();
virtual int64_t get_cur_min_trans_service_ts();
virtual int64_t get_cur_min_replay_engine_ts();
virtual void set_migrating_flag(const bool flag)
virtual int get_weak_read_timestamp(int64_t& timestamp) override;
virtual int update_last_checkpoint(const int64_t checkpoint) override;
virtual int set_replay_checkpoint(const int64_t checkpoint) override;
virtual int get_replay_checkpoint(int64_t& checkpoint) override;
virtual int64_t get_cur_min_log_service_ts() override;
virtual int64_t get_cur_min_trans_service_ts() override;
virtual int64_t get_cur_min_replay_engine_ts() override;
virtual void set_migrating_flag(const bool flag) override
{
partition_loop_worker_.set_migrating_flag(flag);
}
virtual bool get_migrating_flag() const
virtual bool get_migrating_flag() const override
{
return partition_loop_worker_.get_migrating_flag();
}
virtual int need_minor_freeze(const uint64_t& log_id, bool& need_freeze);
virtual int set_emergency_release();
virtual int need_minor_freeze(const uint64_t& log_id, bool& need_freeze) override;
virtual int set_emergency_release() override;
virtual int freeze(const bool emergency, const bool force, int64_t& freeze_snapshot) override;
// Mark dirty of transactions on the terminated memtable
......@@ -268,7 +271,7 @@ public:
virtual int get_curr_storage_info_for_migrate(const bool use_slave_safe_read_ts,
const common::ObReplicaType replica_type, const int64_t src_cluster_id, ObSavedStorageInfoV2& info) override;
virtual int check_is_from_restore(bool& is_from_restore) const;
virtual int check_is_from_restore(bool& is_from_restore) const override;
virtual int get_all_saved_info(ObSavedStorageInfoV2& info) const override;
virtual int get_saved_clog_info(common::ObBaseStorageInfo& clog_info) const override;
virtual int get_saved_data_info(ObDataStorageInfo& data_info) const override;
......@@ -278,26 +281,26 @@ public:
const share::ObBuildIndexAppendLocalDataParam& param, common::ObNewRowIterator& iter) override;
virtual int append_sstable(const common::ObPartitionKey& pkey, const share::ObBuildIndexAppendSSTableParam& param,
common::ObNewRowIterator& iter) override;
virtual const ObPartitionSplitInfo& get_split_info()
virtual const ObPartitionSplitInfo& get_split_info() override
{
return split_info_;
}
virtual int check_cur_partition_split(bool& is_split_partition);
virtual int get_trans_split_info(transaction::ObTransSplitInfo& split_info);
virtual int check_cur_partition_split(bool& is_split_partition) override;
virtual int get_trans_split_info(transaction::ObTransSplitInfo& split_info) override;
virtual int check_single_replica_major_sstable_exist(
const ObPartitionKey& pkey, const uint64_t index_table_id) override;
virtual int get_max_decided_trans_version(int64_t& max_decided_trans_version) const;
virtual int get_max_decided_trans_version(int64_t& max_decided_trans_version) const override;
int create_memtable(const bool in_slog_trans = false, const bool is_replay = false,
const bool ignore_memstore_percent = false) override;
virtual int get_table_stat(const common::ObPartitionKey& pkey, common::ObTableStat& stat);
virtual int get_table_stat(const common::ObPartitionKey& pkey, common::ObTableStat& stat) override;
// The following two interface are used by ObGarbageCollector
virtual int allow_gc(bool& allow_gc);
virtual int gc_check_valid_member(const bool is_valid, const int64_t gc_seq, bool& need_gc);
virtual bool check_pg_partition_offline(const ObPartitionKey& pkey);
virtual int check_offline_log_archived(
const ObPartitionKey& pkey, const int64_t incarnation, const int64_t archive_round, bool& has_archived) const;
virtual int get_leader_epoch(int64_t& leader_epoch) const;
virtual int allow_gc(bool& allow_gc) override;
virtual int gc_check_valid_member(const bool is_valid, const int64_t gc_seq, bool& need_gc) override;
virtual bool check_pg_partition_offline(const ObPartitionKey& pkey) override;
virtual int check_offline_log_archived(const ObPartitionKey& pkey, const int64_t incarnation,
const int64_t archive_round, bool& has_archived) const override;
virtual int get_leader_epoch(int64_t& leader_epoch) const override;
virtual int get_replica_status(share::ObReplicaStatus& status) override;
virtual int is_replica_need_gc(bool& is_offline) override;
virtual int set_storage_info(const ObSavedStorageInfoV2& info) override;
......@@ -306,11 +309,11 @@ public:
virtual int fill_replica(share::ObPartitionReplica& replica) override;
virtual int get_merge_priority_info(memtable::ObMergePriorityInfo& merge_priority_info) const override;
virtual int64_t get_gc_schema_drop_ts() override;
virtual void set_need_rebuild()
virtual void set_need_rebuild() override
{
migrate_retry_flag_ = NEED_REBUILD;
}
virtual bool is_need_rebuild() const
virtual bool is_need_rebuild() const override
{
return (NEED_REBUILD == migrate_retry_flag_);
}
......@@ -318,27 +321,27 @@ public:
{
migrate_retry_flag_ = NEED_STANDBY_RESTORE;
}
virtual bool is_need_standby_restore() const
virtual bool is_need_standby_restore() const override
{
return (NEED_STANDBY_RESTORE == migrate_retry_flag_);
}
virtual void reset_migrate_retry_flag()
virtual void reset_migrate_retry_flag() override
{
migrate_retry_flag_ = NO_NEED_RETRY;
}
virtual void set_need_gc()
virtual void set_need_gc() override
{
ATOMIC_STORE(&need_gc_, true);
}
virtual bool is_need_gc() const
virtual bool is_need_gc() const override
{
return ATOMIC_LOAD(&need_gc_);
}
virtual uint64_t get_offline_log_id() const
virtual uint64_t get_offline_log_id() const override
{
return ATOMIC_LOAD(&offline_log_id_);
}
virtual int set_offline_log_id(const uint64_t log_id);
virtual int set_offline_log_id(const uint64_t log_id) override;
virtual int retire_warmup_store(const bool is_disk_full) override;
int has_active_memtable(bool& found);
virtual int enable_write_log(const bool is_replay_old) override;
......@@ -347,7 +350,7 @@ public:
virtual int check_dirty_txn(
const int64_t min_log_ts, const int64_t max_log_ts, int64_t& freeze_ts, bool& is_dirty) override;
// Create Partition Group
int create_partition_group(const ObCreatePGParam& param);
int create_partition_group(const ObCreatePGParam& param) override;
int create_pg_partition(const common::ObPartitionKey& pkey, const int64_t multi_version_start,
const uint64_t data_table_id, const obrpc::ObCreatePartitionArg& arg, const bool in_slog_trans,
const bool is_replay, const uint64_t log_id, ObTablesHandle& sstables_handle) override;
......@@ -359,8 +362,8 @@ public:
int check_release_memtable();
virtual int add_sstable_for_merge(const ObPartitionKey& pkey, storage::ObSSTable* sstable,
const int64_t max_kept_major_version_number, ObIPartitionReport& report,
ObSSTable* complement_minor_sstable = nullptr);
virtual int check_replica_ready_for_bounded_staleness_read(const int64_t snapshot_version);
ObSSTable* complement_minor_sstable = nullptr) override;
virtual int check_replica_ready_for_bounded_staleness_read(const int64_t snapshot_version) override;
virtual bool is_replica_using_remote_memstore() const
{
return pg_storage_.is_replica_with_remote_memstore() && F_WORKING == get_partition_state();
......@@ -390,14 +393,14 @@ public:
virtual int get_checkpoint_info(common::ObArenaAllocator& allocator, ObPGCheckpointInfo& pg_checkpoint_info) override;
virtual int acquire_sstable(const ObITable::TableKey& table_key, ObTableHandle& table_handle) override;
virtual int recycle_unused_sstables(const int64_t max_recycle_cnt, int64_t& recycled_cnt) override;
virtual int recycle_sstable(const ObITable::TableKey &table_key) override;
virtual int recycle_sstable(const ObITable::TableKey& table_key) override;
virtual int check_can_free(bool& can_free) override;
virtual bool need_replay_redo() const;
virtual int try_clear_split_info();
virtual int check_complete(bool& is_complete);
virtual bool need_replay_redo() const override;
virtual int try_clear_split_info() override;
virtual int check_complete(bool& is_complete) override;
virtual int try_update_clog_member_list(const uint64_t ms_log_id, const int64_t mc_timestamp,
const int64_t replica_num, const ObMemberList& mlist, const common::ObProposalID& ms_proposal_id);
const int64_t replica_num, const ObMemberList& mlist, const common::ObProposalID& ms_proposal_id) override;
virtual int check_physical_flashback_succ(const obrpc::ObCheckPhysicalFlashbackArg& arg, const int64_t max_version,
obrpc::ObPhysicalFlashbackResultArg& result) override;
// Check if weak read is enabled.
......@@ -409,10 +412,11 @@ public:
{
return &partition_loop_worker_;
}
virtual int save_split_info(const ObPartitionSplitInfo& split_info);
virtual int save_split_state(const int64_t split_state);
virtual int shutdown(const int64_t snapshot_version, const uint64_t replay_log_id, const int64_t schema_version);
virtual int physical_flashback(const int64_t flashback_scn);
virtual int save_split_info(const ObPartitionSplitInfo& split_info) override;
virtual int save_split_state(const int64_t split_state) override;
virtual int shutdown(
const int64_t snapshot_version, const uint64_t replay_log_id, const int64_t schema_version) override;
virtual int physical_flashback(const int64_t flashback_scn) override;
virtual int set_meta_block_list(const common::ObIArray<blocksstable::MacroBlockId>& meta_block_list) override;
virtual int get_meta_block_list(common::ObIArray<blocksstable::MacroBlockId>& meta_block_list) const override;
virtual int get_all_tables(ObTablesHandle& tables_handle) override;
......@@ -421,14 +425,14 @@ public:
int check_can_physical_flashback(const int64_t flashback_scn);
virtual int clear_trans_after_restore_log(const uint64_t last_restore_log_id, const int64_t last_restore_log_ts);
virtual int reset_for_replay();
virtual int clear_trans_after_restore_log(const uint64_t last_restore_log_id, const int64_t last_restore_log_ts) override;
virtual int reset_for_replay() override;
virtual int inc_pending_batch_commit_count(memtable::ObMemtableCtx& mt_ctx, const int64_t log_ts);
virtual int inc_pending_elr_count(memtable::ObMemtableCtx& mt_ctx, const int64_t log_ts);
virtual int inc_pending_batch_commit_count(memtable::ObMemtableCtx& mt_ctx, const int64_t log_ts) override;
virtual int inc_pending_elr_count(memtable::ObMemtableCtx& mt_ctx, const int64_t log_ts) override;
virtual int register_txs_change_leader(const common::ObAddr& server, ObTsWindows& changing_leader_windows);
virtual int check_physical_split(bool& finished);
virtual int register_txs_change_leader(const common::ObAddr& server, ObTsWindows& changing_leader_windows) override;
virtual int check_physical_split(bool& finished) override;
TO_STRING_KV(K_(pkey), K_(replay_status), K_(partition_state));
private:
......
......@@ -1020,7 +1020,7 @@ class ObMigrateCopyPhysicalTask : public share::ObITask {
public:
ObMigrateCopyPhysicalTask();
virtual ~ObMigrateCopyPhysicalTask();
int generate_next_task(ObITask*& next_task);
int generate_next_task(ObITask*& next_task) override;
int init(const int64_t task_idx, ObMigratePhysicalSSTableCtx& sstable_ctx, ObMigrateCtx& ctx);
virtual int process() override;
......
......@@ -24,7 +24,7 @@ public:
ObSingleMerge();
virtual ~ObSingleMerge();
int open(const common::ObExtStoreRowkey& rowkey);
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
static int estimate_row_count(const common::ObQueryFlag query_flag, const uint64_t table_id,
const common::ObExtStoreRowkey& rowkey, const common::ObIArray<ObITable*>& stores, ObPartitionEst& part_estimate);
......@@ -33,7 +33,7 @@ protected:
virtual int calc_scan_range() override;
virtual int construct_iters() override;
virtual int is_range_valid() const override;
virtual int inner_get_next_row(ObStoreRow& row);
virtual int inner_get_next_row(ObStoreRow& row) override;
virtual void collect_merge_stat(ObTableStoreStat& stat) const override;
private:
......
......@@ -25,7 +25,7 @@ class ObSSTableMultiVersionRowIterator : public ObISSTableRowIterator {
public:
ObSSTableMultiVersionRowIterator();
virtual ~ObSSTableMultiVersionRowIterator();
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
protected:
......
......@@ -22,14 +22,14 @@ class ObSSTableRowGetter : public ObSSTableRowIterator {
public:
ObSSTableRowGetter();
virtual ~ObSSTableRowGetter();
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
protected:
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt);
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle);
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row);
virtual int get_range_count(const void* query_range, int64_t& range_count) const;
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt) override;
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle) override;
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row) override;
virtual int get_range_count(const void* query_range, int64_t& range_count) const override;
protected:
bool has_prefetched_;
......
......@@ -319,7 +319,7 @@ class ObSSTableRowIterator : public ObISSTableRowIterator {
public:
ObSSTableRowIterator();
virtual ~ObSSTableRowIterator();
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
virtual int get_skip_range_ctx(
ObSSTableReadHandle& read_handle, const int64_t cur_micro_idx, ObSSTableSkipRangeCtx*& skip_ctx);
......@@ -337,9 +337,9 @@ public:
}
protected:
virtual int inner_open(
const ObTableIterParam& access_param, ObTableAccessContext& access_ctx, ObITable* table, const void* query_range);
virtual int inner_get_next_row(const ObStoreRow*& store_row);
virtual int inner_open(const ObTableIterParam& access_param, ObTableAccessContext& access_ctx, ObITable* table,
const void* query_range) override;
virtual int inner_get_next_row(const ObStoreRow*& store_row) override;
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt) = 0;
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle) = 0;
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row) = 0;
......
......@@ -38,7 +38,7 @@ public:
}
protected:
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row);
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row) override;
virtual void set_row_snapshot(ObStoreRow& row) override;
private:
......
......@@ -22,14 +22,14 @@ class ObSSTableRowMultiGetter : public ObSSTableRowGetter {
public:
ObSSTableRowMultiGetter();
virtual ~ObSSTableRowMultiGetter();
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key) override;
protected:
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt);
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle);
virtual int get_range_count(const void* query_range, int64_t& range_count) const;
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt) override;
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle) override;
virtual int get_range_count(const void* query_range, int64_t& range_count) const override;
virtual int get_skip_range_ctx(
ObSSTableReadHandle& read_handle, const int64_t cur_micro_idx, ObSSTableSkipRangeCtx*& ctx) override;
......
......@@ -22,15 +22,15 @@ class ObSSTableRowMultiScanner : public ObSSTableRowScanner {
public:
ObSSTableRowMultiScanner();
virtual ~ObSSTableRowMultiScanner();
virtual void reset();
virtual void reuse();
virtual void reset() override;
virtual void reuse() override;
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key) override;
protected:
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt);
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle);
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row);
virtual int get_range_count(const void* query_range, int64_t& range_count) const;
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt) override;
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle) override;
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row) override;
virtual int get_range_count(const void* query_range, int64_t& range_count) const override;
private:
static const int64_t MULTISCAN_READ_HANDLE_CNT = 32;
......
......@@ -22,7 +22,7 @@ class ObSSTableRowScanner : public ObSSTableRowIterator {
public:
ObSSTableRowScanner();
virtual ~ObSSTableRowScanner();
virtual void reset();
virtual void reset() override;
virtual void reuse() override;
virtual int skip_range(int64_t range_idx, const common::ObStoreRowkey* gap_key, const bool include_gap_key) override;
int skip_range_impl(const int64_t range_idx, const ObExtStoreRange& org_range, const ObExtStoreRange& new_range);
......@@ -35,15 +35,15 @@ public:
int get_row_iter_flag_impl(uint8_t& flag);
protected:
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt);
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle);
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row);
virtual int get_handle_cnt(const void* query_range, int64_t& read_handle_cnt, int64_t& micro_handle_cnt) override;
virtual int prefetch_read_handle(ObSSTableReadHandle& read_handle) override;
virtual int fetch_row(ObSSTableReadHandle& read_handle, const ObStoreRow*& store_row) override;
int prefetch_range(
const int64_t range_idx, const common::ObExtStoreRange& ext_range, ObSSTableReadHandle& read_handle);
int check_can_skip_range(const int64_t range_idx, const common::ObStoreRowkey& gap_key, bool& can_skip);
int prefetch_block_index(const uint64_t table_id, const blocksstable::ObMacroBlockCtx& block_ctx,
ObMicroBlockIndexHandle& block_index_handle);
virtual int get_range_count(const void* query_range, int64_t& range_count) const;
virtual int get_range_count(const void* query_range, int64_t& range_count) const override;
private:
int skip_batch_rows(
......
......@@ -43,7 +43,7 @@ public:
virtual ~ObStoreRowFilter()
{}
int init(const sql::ObTableLocation* part_filter, sql::ObExecContext* exec_ctx, common::ObPartMgr* part_mgr,
const common::ObPartitionKey& pkey);
const common::ObPartitionKey& pkey) override;
int check(const ObStoreRow& store_row, bool& is_filtered) const override;
TO_STRING_KV(KP_(part_filter), KP_(exec_ctx), KP_(part_mgr), K_(pkey));
......
......@@ -98,9 +98,9 @@ public:
common::ObNewRow* r = NULL;
return get_next_row(r);
}
virtual void reset();
virtual void reset() override;
int set_range_array_idx(const int64_t range_array_idx);
virtual int release_table_ref();
virtual int release_table_ref() override;
private:
bool is_inited_;
ObTableScanStoreRowIterator* row_iter_;
......@@ -152,7 +152,7 @@ public:
ObPartitionStore& partition_store);
int rescan(ObTableScanParam& scan_param);
virtual void reset() override;
virtual int release_table_ref();
virtual int release_table_ref() override;
private:
ObTableScanIterIterator iter_;
ObNewRowIterator* row_iter_;
......
......@@ -112,7 +112,7 @@ public:
const common::ObPartitionKey& self, ObITransCtxMgr* ctx_mgr, const ObStartTransParam& trans_param,
const uint64_t cluster_version, ObTransService* trans_service, const uint64_t cluster_id,
const int64_t leader_epoch, const bool can_elr);
virtual void destroy();
virtual void destroy() override;
void reset();
int construct_context(const ObTransMsg& msg);
......@@ -125,13 +125,13 @@ public:
int end_task_(
const bool is_rollback, const ObTransDesc& trans_desc, const int64_t sql_no, const int64_t stmt_min_sql_no);
int handle_message(const ObTransMsg& msg);
bool is_inited() const;
int handle_timeout(const int64_t delay);
bool is_inited() const override;
int handle_timeout(const int64_t delay) override;
int get_end_trans_callback_item(ObEndTransCallbackArray& cb_array);
/*
* graceful kill: wait trx finish logging
*/
int kill(const KillTransArg& arg, ObEndTransCallbackArray& cb_array);
int kill(const KillTransArg& arg, ObEndTransCallbackArray& cb_array) override;
int wait_1pc_trx_end_in_spliting(bool& trx_end);
int check_cur_partition_split_(bool& is_split_partition);
memtable::ObMemtableCtx* get_memtable_ctx()
......@@ -139,14 +139,14 @@ public:
return &mt_ctx_;
}
int set_memtable_ctx(memtable::ObIMemtableCtx* mt_ctx);
int leader_revoke(const bool first_check, bool& need_release, ObEndTransCallbackArray& cb_array);
int leader_takeover(const int64_t checkpoint);
int leader_active(const storage::LeaderActiveArg& arg);
bool can_be_freezed() const;
int leader_revoke(const bool first_check, bool& need_release, ObEndTransCallbackArray& cb_array) override;
int leader_takeover(const int64_t checkpoint) override;
int leader_active(const storage::LeaderActiveArg& arg) override;
bool can_be_freezed() const override;
int kill_trans(bool& need_convert_to_dist_trans);
int commit(const bool is_rollback, sql::ObIEndTransCallback* cb, bool is_readonly, const MonotonicTs commit_time,
const int64_t stmt_expired_time, const ObStmtRollbackInfo& stmt_rollback_info,
const common::ObString& app_trace_info, bool& need_convert_to_dist_trans);
const common::ObString& app_trace_info, bool& need_convert_to_dist_trans) override;
int set_stmt_info(const ObTransStmtInfo& stmt_info);
const ObTransStmtInfo& get_stmt_info() const
{
......@@ -171,21 +171,21 @@ public:
{
return get_global_trans_version_();
}
uint64_t hash() const
uint64_t hash() const override
{
return trans_id_.hash();
}
int get_gts_callback(const MonotonicTs srr, const int64_t gts, const MonotonicTs receive_gts_ts);
int gts_elapse_callback(const MonotonicTs srr, const int64_t gts);
MonotonicTs get_stc() const
int get_gts_callback(const MonotonicTs srr, const int64_t gts, const MonotonicTs receive_gts_ts) override;
int gts_elapse_callback(const MonotonicTs srr, const int64_t gts) override;
MonotonicTs get_stc() const override
{
return stc_;
}
int64_t get_request_ts() const
int64_t get_request_ts() const override
{
return gts_request_ts_;
}
uint64_t get_tenant_id() const
uint64_t get_tenant_id() const override
{
return tenant_id_;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册