Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Metz
oceanbase
提交
a6a56e21
O
oceanbase
项目概览
Metz
/
oceanbase
与 Fork 源项目一致
Fork自
oceanbase / oceanbase
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oceanbase
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a6a56e21
编写于
8月 30, 2021
作者:
L
LINxiansheng
提交者:
wangzelin.wzl
8月 30, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove cmake warning configuration (August)
上级
0d7efce1
变更
143
隐藏空白更改
内联
并排
Showing
143 changed file
with
637 addition
and
622 deletion
+637
-622
src/clog/ob_log_engine.h
src/clog/ob_log_engine.h
+2
-2
src/clog/ob_log_membership_mgr_V2.h
src/clog/ob_log_membership_mgr_V2.h
+1
-1
src/clog/ob_log_sliding_window.h
src/clog/ob_log_sliding_window.h
+1
-1
src/clog/ob_partition_log_service.h
src/clog/ob_partition_log_service.h
+2
-2
src/observer/mysql/obmp_query.h
src/observer/mysql/obmp_query.h
+11
-11
src/observer/mysql/obmp_stmt_execute.h
src/observer/mysql/obmp_stmt_execute.h
+12
-12
src/observer/mysql/obmp_stmt_prepare.h
src/observer/mysql/obmp_stmt_prepare.h
+9
-9
src/observer/ob_inner_sql_connection.cpp
src/observer/ob_inner_sql_connection.cpp
+1
-1
src/observer/virtual_table/ob_all_virtual_session_event.h
src/observer/virtual_table/ob_all_virtual_session_event.h
+1
-1
src/observer/virtual_table/ob_all_virtual_session_stat.h
src/observer/virtual_table/ob_all_virtual_session_stat.h
+1
-1
src/observer/virtual_table/ob_all_virtual_session_wait.h
src/observer/virtual_table/ob_all_virtual_session_wait.h
+1
-1
src/observer/virtual_table/ob_all_virtual_session_wait_history.h
...erver/virtual_table/ob_all_virtual_session_wait_history.h
+1
-1
src/observer/virtual_table/ob_all_virtual_sys_event.h
src/observer/virtual_table/ob_all_virtual_sys_event.h
+1
-1
src/observer/virtual_table/ob_all_virtual_sys_stat.h
src/observer/virtual_table/ob_all_virtual_sys_stat.h
+1
-1
src/observer/virtual_table/ob_iterate_virtual_table.h
src/observer/virtual_table/ob_iterate_virtual_table.h
+1
-1
src/rootserver/ob_server_recovery_machine.h
src/rootserver/ob_server_recovery_machine.h
+2
-2
src/rootserver/ob_zone_unit_provider.h
src/rootserver/ob_zone_unit_provider.h
+7
-7
src/share/partition_table/ob_partition_table_proxy.h
src/share/partition_table/ob_partition_table_proxy.h
+27
-27
src/sql/dtl/ob_dtl_basic_channel.h
src/sql/dtl/ob_dtl_basic_channel.h
+7
-7
src/sql/dtl/ob_dtl_channel_loop.h
src/sql/dtl/ob_dtl_channel_loop.h
+1
-1
src/sql/dtl/ob_dtl_local_channel.h
src/sql/dtl/ob_dtl_local_channel.h
+2
-2
src/sql/dtl/ob_dtl_rpc_channel.h
src/sql/dtl/ob_dtl_rpc_channel.h
+2
-2
src/sql/engine/aggregate/ob_groupby_op.h
src/sql/engine/aggregate/ob_groupby_op.h
+1
-1
src/sql/engine/connect_by/ob_nested_loop_connect_by.h
src/sql/engine/connect_by/ob_nested_loop_connect_by.h
+1
-1
src/sql/engine/dml/ob_table_modify_op.h
src/sql/engine/dml/ob_table_modify_op.h
+5
-5
src/sql/engine/expr/ob_expr_calc_partition_id.h
src/sql/engine/expr/ob_expr_calc_partition_id.h
+1
-1
src/sql/engine/expr/ob_expr_calc_urowid.h
src/sql/engine/expr/ob_expr_calc_urowid.h
+4
-4
src/sql/engine/expr/ob_expr_concat.h
src/sql/engine/expr/ob_expr_concat.h
+2
-2
src/sql/engine/expr/ob_expr_concat_ws.h
src/sql/engine/expr/ob_expr_concat_ws.h
+2
-2
src/sql/engine/expr/ob_expr_div.h
src/sql/engine/expr/ob_expr_div.h
+2
-2
src/sql/engine/expr/ob_expr_format.h
src/sql/engine/expr/ob_expr_format.h
+3
-3
src/sql/engine/expr/ob_expr_greater_equal.h
src/sql/engine/expr/ob_expr_greater_equal.h
+4
-4
src/sql/engine/expr/ob_expr_greater_than.h
src/sql/engine/expr/ob_expr_greater_than.h
+4
-4
src/sql/engine/expr/ob_expr_hex.h
src/sql/engine/expr/ob_expr_hex.h
+2
-2
src/sql/engine/expr/ob_expr_initcap.h
src/sql/engine/expr/ob_expr_initcap.h
+4
-2
src/sql/engine/expr/ob_expr_int2ip.h
src/sql/engine/expr/ob_expr_int2ip.h
+2
-2
src/sql/engine/expr/ob_expr_int_div.h
src/sql/engine/expr/ob_expr_int_div.h
+2
-2
src/sql/engine/expr/ob_expr_interval.h
src/sql/engine/expr/ob_expr_interval.h
+1
-1
src/sql/engine/expr/ob_expr_ip2int.h
src/sql/engine/expr/ob_expr_ip2int.h
+2
-2
src/sql/engine/expr/ob_expr_is.h
src/sql/engine/expr/ob_expr_is.h
+4
-4
src/sql/engine/expr/ob_expr_is_serving_tenant.h
src/sql/engine/expr/ob_expr_is_serving_tenant.h
+2
-2
src/sql/engine/expr/ob_expr_last_exec_id.h
src/sql/engine/expr/ob_expr_last_exec_id.h
+2
-2
src/sql/engine/expr/ob_expr_last_insert_id.h
src/sql/engine/expr/ob_expr_last_insert_id.h
+2
-2
src/sql/engine/expr/ob_expr_last_trace_id.h
src/sql/engine/expr/ob_expr_last_trace_id.h
+2
-2
src/sql/engine/expr/ob_expr_least.h
src/sql/engine/expr/ob_expr_least.h
+2
-2
src/sql/engine/expr/ob_expr_length.h
src/sql/engine/expr/ob_expr_length.h
+2
-2
src/sql/engine/expr/ob_expr_lengthb.h
src/sql/engine/expr/ob_expr_lengthb.h
+2
-2
src/sql/engine/expr/ob_expr_less_equal.h
src/sql/engine/expr/ob_expr_less_equal.h
+2
-2
src/sql/engine/expr/ob_expr_less_than.h
src/sql/engine/expr/ob_expr_less_than.h
+2
-2
src/sql/engine/expr/ob_expr_like.h
src/sql/engine/expr/ob_expr_like.h
+3
-3
src/sql/engine/expr/ob_expr_lnnvl.h
src/sql/engine/expr/ob_expr_lnnvl.h
+2
-2
src/sql/engine/expr/ob_expr_log10.h
src/sql/engine/expr/ob_expr_log10.h
+2
-2
src/sql/engine/expr/ob_expr_log2.h
src/sql/engine/expr/ob_expr_log2.h
+2
-2
src/sql/engine/expr/ob_expr_lower.h
src/sql/engine/expr/ob_expr_lower.h
+8
-8
src/sql/engine/expr/ob_expr_lrpad.h
src/sql/engine/expr/ob_expr_lrpad.h
+3
-3
src/sql/engine/expr/ob_expr_md5.h
src/sql/engine/expr/ob_expr_md5.h
+2
-2
src/sql/engine/expr/ob_expr_minus.h
src/sql/engine/expr/ob_expr_minus.h
+2
-2
src/sql/engine/expr/ob_expr_mod.h
src/sql/engine/expr/ob_expr_mod.h
+3
-3
src/sql/engine/expr/ob_expr_mul.h
src/sql/engine/expr/ob_expr_mul.h
+3
-3
src/sql/engine/expr/ob_expr_not_equal.h
src/sql/engine/expr/ob_expr_not_equal.h
+5
-5
src/sql/engine/expr/ob_expr_random.h
src/sql/engine/expr/ob_expr_random.h
+2
-2
src/sql/engine/expr/ob_expr_regexp.h
src/sql/engine/expr/ob_expr_regexp.h
+4
-4
src/sql/engine/expr/ob_expr_regexp_count.h
src/sql/engine/expr/ob_expr_regexp_count.h
+2
-2
src/sql/engine/expr/ob_expr_regexp_instr.h
src/sql/engine/expr/ob_expr_regexp_instr.h
+2
-2
src/sql/engine/expr/ob_expr_regexp_like.h
src/sql/engine/expr/ob_expr_regexp_like.h
+2
-2
src/sql/engine/expr/ob_expr_regexp_replace.h
src/sql/engine/expr/ob_expr_regexp_replace.h
+2
-2
src/sql/engine/expr/ob_expr_regexp_substr.h
src/sql/engine/expr/ob_expr_regexp_substr.h
+2
-2
src/sql/engine/expr/ob_expr_repeat.h
src/sql/engine/expr/ob_expr_repeat.h
+2
-2
src/sql/engine/expr/ob_expr_replace.h
src/sql/engine/expr/ob_expr_replace.h
+1
-1
src/sql/engine/expr/ob_expr_sinh.h
src/sql/engine/expr/ob_expr_sinh.h
+3
-2
src/sql/engine/expr/ob_expr_sqrt.h
src/sql/engine/expr/ob_expr_sqrt.h
+2
-2
src/sql/engine/expr/ob_expr_str_to_date.h
src/sql/engine/expr/ob_expr_str_to_date.h
+3
-3
src/sql/engine/expr/ob_expr_strcmp.h
src/sql/engine/expr/ob_expr_strcmp.h
+3
-3
src/sql/engine/expr/ob_expr_subquery_greater_equal.h
src/sql/engine/expr/ob_expr_subquery_greater_equal.h
+1
-1
src/sql/engine/expr/ob_expr_subquery_greater_than.h
src/sql/engine/expr/ob_expr_subquery_greater_than.h
+1
-1
src/sql/engine/expr/ob_expr_subquery_less_equal.h
src/sql/engine/expr/ob_expr_subquery_less_equal.h
+1
-1
src/sql/engine/expr/ob_expr_subquery_less_than.h
src/sql/engine/expr/ob_expr_subquery_less_than.h
+1
-1
src/sql/engine/expr/ob_expr_subquery_not_equal.h
src/sql/engine/expr/ob_expr_subquery_not_equal.h
+1
-1
src/sql/engine/expr/ob_expr_subquery_ns_equal.h
src/sql/engine/expr/ob_expr_subquery_ns_equal.h
+1
-1
src/sql/engine/expr/ob_expr_subquery_ref.h
src/sql/engine/expr/ob_expr_subquery_ref.h
+4
-4
src/sql/engine/expr/ob_expr_substr.h
src/sql/engine/expr/ob_expr_substr.h
+6
-6
src/sql/engine/expr/ob_expr_substring_index.h
src/sql/engine/expr/ob_expr_substring_index.h
+2
-2
src/sql/engine/expr/ob_expr_sys_connect_by_path.h
src/sql/engine/expr/ob_expr_sys_connect_by_path.h
+2
-2
src/sql/engine/expr/ob_expr_sys_privilege_check.h
src/sql/engine/expr/ob_expr_sys_privilege_check.h
+2
-2
src/sql/engine/expr/ob_expr_timestamp_diff.h
src/sql/engine/expr/ob_expr_timestamp_diff.h
+3
-3
src/sql/engine/expr/ob_expr_timestamp_nvl.h
src/sql/engine/expr/ob_expr_timestamp_nvl.h
+2
-2
src/sql/engine/expr/ob_expr_to_days.h
src/sql/engine/expr/ob_expr_to_days.h
+3
-2
src/sql/engine/expr/ob_expr_to_interval.h
src/sql/engine/expr/ob_expr_to_interval.h
+10
-10
src/sql/engine/expr/ob_expr_to_number.h
src/sql/engine/expr/ob_expr_to_number.h
+5
-5
src/sql/engine/expr/ob_expr_to_temporal_base.h
src/sql/engine/expr/ob_expr_to_temporal_base.h
+4
-4
src/sql/engine/expr/ob_expr_trim.h
src/sql/engine/expr/ob_expr_trim.h
+10
-8
src/sql/engine/expr/ob_expr_truncate.h
src/sql/engine/expr/ob_expr_truncate.h
+1
-1
src/sql/engine/expr/ob_expr_type_to_str.h
src/sql/engine/expr/ob_expr_type_to_str.h
+10
-10
src/sql/engine/expr/ob_expr_uid.h
src/sql/engine/expr/ob_expr_uid.h
+2
-2
src/sql/engine/expr/ob_expr_unhex.h
src/sql/engine/expr/ob_expr_unhex.h
+5
-4
src/sql/engine/expr/ob_expr_unix_timestamp.h
src/sql/engine/expr/ob_expr_unix_timestamp.h
+2
-2
src/sql/engine/expr/ob_expr_usec_to_time.h
src/sql/engine/expr/ob_expr_usec_to_time.h
+4
-2
src/sql/engine/expr/ob_expr_user.h
src/sql/engine/expr/ob_expr_user.h
+1
-1
src/sql/engine/expr/ob_expr_user_can_access_obj.h
src/sql/engine/expr/ob_expr_user_can_access_obj.h
+2
-2
src/sql/engine/join/ob_basic_nested_loop_join.h
src/sql/engine/join/ob_basic_nested_loop_join.h
+3
-3
src/sql/engine/join/ob_hash_join_op.h
src/sql/engine/join/ob_hash_join_op.h
+2
-2
src/sql/engine/join/ob_merge_join.h
src/sql/engine/join/ob_merge_join.h
+7
-7
src/sql/engine/join/ob_nested_loop_join.h
src/sql/engine/join/ob_nested_loop_join.h
+7
-8
src/sql/engine/px/exchange/ob_px_transmit.h
src/sql/engine/px/exchange/ob_px_transmit.h
+3
-3
src/sql/engine/px/ob_granule_iterator.h
src/sql/engine/px/ob_granule_iterator.h
+1
-1
src/sql/engine/subquery/ob_subplan_filter.h
src/sql/engine/subquery/ob_subplan_filter.h
+10
-10
src/sql/engine/table/ob_block_sample_scan.h
src/sql/engine/table/ob_block_sample_scan.h
+3
-3
src/sql/engine/table/ob_multi_part_table_scan.h
src/sql/engine/table/ob_multi_part_table_scan.h
+6
-6
src/sql/engine/table/ob_table_row_store.h
src/sql/engine/table/ob_table_row_store.h
+3
-3
src/sql/engine/table/ob_table_row_store_op.h
src/sql/engine/table/ob_table_row_store_op.h
+1
-1
src/sql/executor/ob_distributed_job_control.h
src/sql/executor/ob_distributed_job_control.h
+1
-1
src/sql/executor/ob_remote_executor_processor.h
src/sql/executor/ob_remote_executor_processor.h
+18
-18
src/sql/executor/ob_slice_calc.h
src/sql/executor/ob_slice_calc.h
+8
-5
src/sql/optimizer/ob_log_del_upd.h
src/sql/optimizer/ob_log_del_upd.h
+1
-1
src/sql/optimizer/ob_log_limit.h
src/sql/optimizer/ob_log_limit.h
+2
-2
src/sql/optimizer/ob_optimizer_partition_location_cache.h
src/sql/optimizer/ob_optimizer_partition_location_cache.h
+2
-2
src/sql/resolver/ddl/ob_alter_tablegroup_stmt.h
src/sql/resolver/ddl/ob_alter_tablegroup_stmt.h
+1
-1
src/sql/resolver/ddl/ob_create_table_resolver.h
src/sql/resolver/ddl/ob_create_table_resolver.h
+1
-1
src/sql/resolver/ddl/ob_create_tablegroup_stmt.h
src/sql/resolver/ddl/ob_create_tablegroup_stmt.h
+1
-1
src/sql/resolver/dml/ob_merge_stmt.h
src/sql/resolver/dml/ob_merge_stmt.h
+1
-1
src/sql/resolver/dml/ob_select_resolver.h
src/sql/resolver/dml/ob_select_resolver.h
+12
-12
src/sql/resolver/dml/ob_update_stmt.h
src/sql/resolver/dml/ob_update_stmt.h
+3
-3
src/sql/resolver/dml/ob_view_table_resolver.h
src/sql/resolver/dml/ob_view_table_resolver.h
+6
-6
src/storage/blocksstable/ob_raid_file_system.h
src/storage/blocksstable/ob_raid_file_system.h
+12
-12
src/storage/memtable/ob_memtable_iterator.h
src/storage/memtable/ob_memtable_iterator.h
+11
-11
src/storage/ob_build_index_scheduler.h
src/storage/ob_build_index_scheduler.h
+8
-8
src/storage/ob_build_index_task.h
src/storage/ob_build_index_task.h
+5
-5
src/storage/ob_multiple_get_merge.h
src/storage/ob_multiple_get_merge.h
+1
-1
src/storage/ob_multiple_merge.h
src/storage/ob_multiple_merge.h
+1
-1
src/storage/ob_multiple_multi_scan_merge.h
src/storage/ob_multiple_multi_scan_merge.h
+2
-2
src/storage/ob_partition_group.h
src/storage/ob_partition_group.h
+137
-133
src/storage/ob_partition_migrator.h
src/storage/ob_partition_migrator.h
+1
-1
src/storage/ob_single_merge.h
src/storage/ob_single_merge.h
+2
-2
src/storage/ob_sstable_multi_version_row_iterator.h
src/storage/ob_sstable_multi_version_row_iterator.h
+1
-1
src/storage/ob_sstable_row_getter.h
src/storage/ob_sstable_row_getter.h
+5
-5
src/storage/ob_sstable_row_iterator.h
src/storage/ob_sstable_row_iterator.h
+4
-4
src/storage/ob_sstable_row_lock_checker.h
src/storage/ob_sstable_row_lock_checker.h
+1
-1
src/storage/ob_sstable_row_multi_getter.h
src/storage/ob_sstable_row_multi_getter.h
+4
-4
src/storage/ob_sstable_row_multi_scanner.h
src/storage/ob_sstable_row_multi_scanner.h
+6
-6
src/storage/ob_sstable_row_scanner.h
src/storage/ob_sstable_row_scanner.h
+5
-5
src/storage/ob_store_row_filter.h
src/storage/ob_store_row_filter.h
+1
-1
src/storage/ob_table_scan_iterator.h
src/storage/ob_table_scan_iterator.h
+3
-3
src/storage/transaction/ob_trans_part_ctx.h
src/storage/transaction/ob_trans_part_ctx.h
+15
-15
未找到文件。
src/clog/ob_log_engine.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/clog/ob_log_membership_mgr_V2.h
浏览文件 @
a6a56e21
...
...
@@ -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_
);
}
...
...
src/clog/ob_log_sliding_window.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/clog/ob_partition_log_service.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/observer/mysql/obmp_query.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
}
...
...
src/observer/mysql/obmp_stmt_execute.h
浏览文件 @
a6a56e21
...
...
@@ -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.
...
...
src/observer/mysql/obmp_stmt_prepare.h
浏览文件 @
a6a56e21
...
...
@@ -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
();
}
...
...
src/observer/ob_inner_sql_connection.cpp
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/observer/virtual_table/ob_all_virtual_session_event.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/observer/virtual_table/ob_all_virtual_session_stat.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/observer/virtual_table/ob_all_virtual_session_wait.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/observer/virtual_table/ob_all_virtual_session_wait_history.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/observer/virtual_table/ob_all_virtual_sys_event.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/observer/virtual_table/ob_all_virtual_sys_stat.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/observer/virtual_table/ob_iterate_virtual_table.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/rootserver/ob_server_recovery_machine.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/rootserver/ob_zone_unit_provider.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/share/partition_table/ob_partition_table_proxy.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/sql/dtl/ob_dtl_basic_channel.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
}
...
...
src/sql/dtl/ob_dtl_channel_loop.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/sql/dtl/ob_dtl_local_channel.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/dtl/ob_dtl_rpc_channel.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/sql/engine/aggregate/ob_groupby_op.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/connect_by/ob_nested_loop_connect_by.h
浏览文件 @
a6a56e21
...
...
@@ -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
();
...
...
src/sql/engine/dml/ob_table_modify_op.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_calc_partition_id.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_calc_urowid.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
cg_expr
(
ObExprCGCtx
&
cg_ctx
,
const
ObRawExpr
&
raw_expr
,
ObExpr
&
rt_expr
)
const
override
;
...
...
src/sql/engine/expr/ob_expr_concat.h
浏览文件 @
a6a56e21
...
...
@@ -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)
...
...
src/sql/engine/expr/ob_expr_concat_ws.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_div.h
浏览文件 @
a6a56e21
...
...
@@ -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
,
...
...
src/sql/engine/expr/ob_expr_format.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
);
...
...
src/sql/engine/expr/ob_expr_greater_equal.h
浏览文件 @
a6a56e21
...
...
@@ -22,10 +22,10 @@ public:
ObExprGreaterEqual
();
explicit
ObExprGreaterEqual
(
common
::
ObIAllocator
&
alloc
);
virtual
~
ObExprGreaterEqual
(){};
virtual
int
calc_result2
(
common
::
Ob
Obj
&
result
,
const
common
::
ObObj
&
obj1
,
const
common
::
ObObj
&
obj2
,
common
::
ObExprCtx
&
expr_ctx
)
const
;
virtual
int
calc_resultN
(
common
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
calc_resultN
(
common
::
ObObj
&
result
,
const
common
::
ObObj
*
objs_stack
,
int64_t
param_num
,
common
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
cg_expr
(
ObExprCGCtx
&
expr_cg_ctx
,
const
ObRawExpr
&
raw_expr
,
ObExpr
&
rt_expr
)
const
override
{
...
...
src/sql/engine/expr/ob_expr_greater_than.h
浏览文件 @
a6a56e21
...
...
@@ -24,10 +24,10 @@ public:
ObExprGreaterThan
();
explicit
ObExprGreaterThan
(
common
::
ObIAllocator
&
alloc
);
virtual
~
ObExprGreaterThan
(){};
virtual
int
calc_result2
(
common
::
Ob
Obj
&
result
,
const
common
::
ObObj
&
obj1
,
const
common
::
ObObj
&
obj2
,
common
::
ObExprCtx
&
expr_ctx
)
const
;
virtual
int
calc_resultN
(
common
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
calc_resultN
(
common
::
ObObj
&
result
,
const
common
::
ObObj
*
objs_stack
,
int64_t
param_num
,
common
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
cg_expr
(
ObExprCGCtx
&
expr_cg_ctx
,
const
ObRawExpr
&
raw_expr
,
ObExpr
&
rt_expr
)
const
override
{
...
...
src/sql/engine/expr/ob_expr_hex.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_initcap.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_int2ip.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_int_div.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_interval.h
浏览文件 @
a6a56e21
...
...
@@ -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
)
{
...
...
src/sql/engine/expr/ob_expr_ip2int.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_is.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_is_serving_tenant.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_last_exec_id.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_last_insert_id.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_last_trace_id.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_least.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_length.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_lengthb.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_less_equal.h
浏览文件 @
a6a56e21
...
...
@@ -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
(
...
...
src/sql/engine/expr/ob_expr_less_than.h
浏览文件 @
a6a56e21
...
...
@@ -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
(
...
...
src/sql/engine/expr/ob_expr_like.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/sql/engine/expr/ob_expr_lnnvl.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_log10.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_log2.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_lower.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_lrpad.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_md5.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_minus.h
浏览文件 @
a6a56e21
...
...
@@ -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
,
...
...
src/sql/engine/expr/ob_expr_mod.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
static
int
calc
(
common
::
ObObj
&
res
,
const
common
::
ObObj
&
ojb1
,
const
common
::
ObObj
&
obj2
,
common
::
ObIAllocator
*
allocator
,
common
::
ObScale
scale
);
...
...
src/sql/engine/expr/ob_expr_mul.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
,
...
...
src/sql/engine/expr/ob_expr_not_equal.h
浏览文件 @
a6a56e21
...
...
@@ -24,15 +24,15 @@ public:
ObExprNotEqual
();
explicit
ObExprNotEqual
(
common
::
ObIAllocator
&
alloc
);
virtual
~
ObExprNotEqual
(){};
virtual
int
calc_result2
(
common
::
Ob
Obj
&
result
,
const
common
::
ObObj
&
obj1
,
const
common
::
ObObj
&
obj2
,
common
::
ObExprCtx
&
expr_ctx
)
const
;
virtual
int
calc_resultN
(
common
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
calc_resultN
(
common
::
ObObj
&
result
,
const
common
::
ObObj
*
objs_stack
,
int64_t
param_num
,
common
::
Ob
ExprCtx
&
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
{
...
...
src/sql/engine/expr/ob_expr_random.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/sql/engine/expr/ob_expr_regexp.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
inline
void
reset
()
{
regexp_idx_
=
common
::
OB_COMPACT_INVALID_INDEX
;
...
...
src/sql/engine/expr/ob_expr_regexp_count.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_regexp_instr.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_regexp_like.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_regexp_replace.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_regexp_substr.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_repeat.h
浏览文件 @
a6a56e21
...
...
@@ -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
,
...
...
src/sql/engine/expr/ob_expr_replace.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_sinh.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_sqrt.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_str_to_date.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
cg_expr
(
ObExprCGCtx
&
expr_cg_ctx
,
const
ObRawExpr
&
raw_expr
,
ObExpr
&
rt_expr
)
const
override
;
private:
...
...
src/sql/engine/expr/ob_expr_strcmp.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
expr_ctx
)
const
override
;
virtual
int
cg_expr
(
ObExprCGCtx
&
expr_cg_ctx
,
const
ObRawExpr
&
raw_expr
,
ObExpr
&
rt_expr
)
const
override
{
...
...
src/sql/engine/expr/ob_expr_subquery_greater_equal.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_subquery_greater_than.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_subquery_less_equal.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_subquery_less_than.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_subquery_not_equal.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_subquery_ns_equal.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/sql/engine/expr/ob_expr_subquery_ref.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_substr.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
);
...
...
src/sql/engine/expr/ob_expr_substring_index.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_sys_connect_by_path.h
浏览文件 @
a6a56e21
...
...
@@ -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
(
...
...
src/sql/engine/expr/ob_expr_sys_privilege_check.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_timestamp_diff.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
}
...
...
src/sql/engine/expr/ob_expr_timestamp_nvl.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_to_days.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_to_interval.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
;
...
...
src/sql/engine/expr/ob_expr_to_number.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_to_temporal_base.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
;
...
...
src/sql/engine/expr/ob_expr_trim.h
浏览文件 @
a6a56e21
...
...
@@ -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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
,
...
...
src/sql/engine/expr/ob_expr_truncate.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_type_to_str.h
浏览文件 @
a6a56e21
...
...
@@ -105,8 +105,8 @@ class ObExprSetToStr : public ObExprTypeToStr {
public:
explicit
ObExprSetToStr
(
common
::
ObIAllocator
&
alloc
);
virtual
~
ObExprSetToStr
();
virtual
int
calc
(
common
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
::
Ob
Obj
&
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
::
Ob
ExprCtx
&
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
);
...
...
src/sql/engine/expr/ob_expr_uid.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_unhex.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_unix_timestamp.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/expr/ob_expr_usec_to_time.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/sql/engine/expr/ob_expr_user.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/expr/ob_expr_user_can_access_obj.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/join/ob_basic_nested_loop_join.h
浏览文件 @
a6a56e21
...
...
@@ -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
{
...
...
src/sql/engine/join/ob_hash_join_op.h
浏览文件 @
a6a56e21
...
...
@@ -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
();
...
...
src/sql/engine/join/ob_merge_join.h
浏览文件 @
a6a56e21
...
...
@@ -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.
...
...
src/sql/engine/join/ob_nested_loop_join.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/px/exchange/ob_px_transmit.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/px/ob_granule_iterator.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
...
...
src/sql/engine/subquery/ob_subplan_filter.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/table/ob_block_sample_scan.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/table/ob_multi_part_table_scan.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/engine/table/ob_table_row_store.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/sql/engine/table/ob_table_row_store_op.h
浏览文件 @
a6a56e21
...
...
@@ -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
...
...
src/sql/executor/ob_distributed_job_control.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/executor/ob_remote_executor_processor.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/executor/ob_slice_calc.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/sql/optimizer/ob_log_del_upd.h
浏览文件 @
a6a56e21
...
...
@@ -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
,
...
...
src/sql/optimizer/ob_log_limit.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/sql/optimizer/ob_optimizer_partition_location_cache.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/sql/resolver/ddl/ob_alter_tablegroup_stmt.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
}
...
...
src/sql/resolver/ddl/ob_create_table_resolver.h
浏览文件 @
a6a56e21
...
...
@@ -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
};
...
...
src/sql/resolver/ddl/ob_create_tablegroup_stmt.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
}
...
...
src/sql/resolver/dml/ob_merge_stmt.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/sql/resolver/dml/ob_select_resolver.h
浏览文件 @
a6a56e21
...
...
@@ -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
();
...
...
src/sql/resolver/dml/ob_update_stmt.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
}
...
...
src/sql/resolver/dml/ob_view_table_resolver.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/storage/blocksstable/ob_raid_file_system.h
浏览文件 @
a6a56e21
...
...
@@ -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
,
...
...
src/storage/memtable/ob_memtable_iterator.h
浏览文件 @
a6a56e21
...
...
@@ -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
{
...
...
src/storage/ob_build_index_scheduler.h
浏览文件 @
a6a56e21
...
...
@@ -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
);
}
...
...
src/storage/ob_build_index_task.h
浏览文件 @
a6a56e21
...
...
@@ -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
();
...
...
src/storage/ob_multiple_get_merge.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/storage/ob_multiple_merge.h
浏览文件 @
a6a56e21
...
...
@@ -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
();
...
...
src/storage/ob_multiple_multi_scan_merge.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/storage/ob_partition_group.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/storage/ob_partition_migrator.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/storage/ob_single_merge.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/storage/ob_sstable_multi_version_row_iterator.h
浏览文件 @
a6a56e21
...
...
@@ -25,7 +25,7 @@ class ObSSTableMultiVersionRowIterator : public ObISSTableRowIterator {
public:
ObSSTableMultiVersionRowIterator
();
virtual
~
ObSSTableMultiVersionRowIterator
();
virtual
void
reset
();
virtual
void
reset
()
override
;
virtual
void
reuse
()
override
;
protected:
...
...
src/storage/ob_sstable_row_getter.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/storage/ob_sstable_row_iterator.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/storage/ob_sstable_row_lock_checker.h
浏览文件 @
a6a56e21
...
...
@@ -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:
...
...
src/storage/ob_sstable_row_multi_getter.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/storage/ob_sstable_row_multi_scanner.h
浏览文件 @
a6a56e21
...
...
@@ -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
;
...
...
src/storage/ob_sstable_row_scanner.h
浏览文件 @
a6a56e21
...
...
@@ -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
(
...
...
src/storage/ob_store_row_filter.h
浏览文件 @
a6a56e21
...
...
@@ -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
));
...
...
src/storage/ob_table_scan_iterator.h
浏览文件 @
a6a56e21
...
...
@@ -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_
;
...
...
src/storage/transaction/ob_trans_part_ctx.h
浏览文件 @
a6a56e21
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录