From 9e960f4c4f8d52db29a0c2331cfee49129804bd8 Mon Sep 17 00:00:00 2001 From: Adonis Ling Date: Mon, 17 Apr 2023 11:44:58 +0800 Subject: [PATCH] [chore](build) Use include-what-you-use to optimize includes (#18681) Currently, there are some useless includes in the codebase. We can use a tool named include-what-you-use to optimize these includes. By using a strict include-what-you-use policy, we can get lots of benefits from it. --- be/src/agent/agent_server.cpp | 12 ++++ be/src/agent/agent_server.h | 10 ++- be/src/agent/heartbeat_server.cpp | 19 +++++- be/src/agent/heartbeat_server.h | 8 ++- be/src/agent/task_worker_pool.cpp | 32 ++++++++-- be/src/agent/task_worker_pool.h | 19 +++++- be/src/agent/topic_subscriber.cpp | 7 +++ be/src/agent/topic_subscriber.h | 5 +- be/src/agent/user_resource_listener.cpp | 19 ++++-- be/src/agent/user_resource_listener.h | 7 ++- be/src/agent/utils.cpp | 23 ++++++- be/src/agent/utils.h | 10 +++ be/src/common/config.h | 2 +- be/src/common/configbase.cpp | 21 +++++-- be/src/common/configbase.h | 1 + be/src/common/daemon.cpp | 26 ++++++-- be/src/common/exception.h | 11 ++++ be/src/common/logconfig.cpp | 6 +- be/src/common/logging.h | 2 +- be/src/common/resource_tls.cpp | 4 +- be/src/common/status.cpp | 8 ++- be/src/common/status.h | 5 +- be/src/exec/arrow/arrow_reader.cpp | 23 +++---- be/src/exec/arrow/arrow_reader.h | 28 ++++++++- be/src/exec/arrow/parquet_reader.cpp | 23 +++++-- be/src/exec/arrow/parquet_reader.h | 18 +++++- be/src/exec/base_scanner.cpp | 28 ++++++++- be/src/exec/base_scanner.h | 16 +++++ be/src/exec/data_sink.cpp | 12 +++- be/src/exec/data_sink.h | 14 ++++- be/src/exec/decompressor.cpp | 4 ++ be/src/exec/decompressor.h | 4 ++ be/src/exec/es/es_scan_reader.cpp | 4 ++ be/src/exec/es/es_scan_reader.h | 6 ++ be/src/exec/es/es_scroll_parser.cpp | 22 +++++-- be/src/exec/es/es_scroll_parser.h | 6 ++ be/src/exec/es/es_scroll_query.cpp | 5 ++ be/src/exec/exec_node.cpp | 20 +++++- be/src/exec/exec_node.h | 13 +++- be/src/exec/odbc_connector.cpp | 16 ++++- be/src/exec/odbc_connector.h | 12 ++++ be/src/exec/olap_common.cpp | 4 -- be/src/exec/olap_common.h | 13 ++++ be/src/exec/rowid_fetcher.cpp | 26 +++++++- be/src/exec/rowid_fetcher.h | 14 ++++- be/src/exec/scan_node.cpp | 9 +++ be/src/exec/scan_node.h | 13 +++- be/src/exec/schema_scanner.cpp | 21 ++++++- be/src/exec/schema_scanner.h | 12 +++- .../schema_charsets_scanner.cpp | 8 +++ .../schema_scanner/schema_charsets_scanner.h | 6 ++ .../schema_collations_scanner.cpp | 9 ++- .../schema_collations_scanner.h | 6 ++ .../schema_scanner/schema_columns_scanner.cpp | 16 +++-- .../schema_scanner/schema_columns_scanner.h | 11 +++- .../schema_scanner/schema_dummy_scanner.cpp | 9 +++ .../schema_scanner/schema_dummy_scanner.h | 5 ++ .../schema_scanner/schema_files_scanner.cpp | 10 ++- .../schema_scanner/schema_files_scanner.h | 10 ++- be/src/exec/schema_scanner/schema_helper.cpp | 17 +++-- be/src/exec/schema_scanner/schema_helper.h | 18 +++++- .../schema_partitions_scanner.cpp | 12 +++- .../schema_partitions_scanner.h | 10 ++- .../schema_scanner/schema_rowsets_scanner.cpp | 24 +++++-- .../schema_scanner/schema_rowsets_scanner.h | 8 +++ .../schema_schema_privileges_scanner.cpp | 12 +++- .../schema_schema_privileges_scanner.h | 10 ++- .../schema_schemata_scanner.cpp | 12 +++- .../schema_scanner/schema_schemata_scanner.h | 10 ++- .../schema_statistics_scanner.cpp | 4 +- .../schema_statistics_scanner.h | 2 + .../schema_table_privileges_scanner.cpp | 10 ++- .../schema_table_privileges_scanner.h | 10 ++- .../schema_scanner/schema_tables_scanner.cpp | 18 +++++- .../schema_scanner/schema_tables_scanner.h | 10 ++- .../schema_user_privileges_scanner.cpp | 12 +++- .../schema_user_privileges_scanner.h | 10 ++- .../schema_variables_scanner.cpp | 16 ++++- .../schema_scanner/schema_variables_scanner.h | 11 +++- .../schema_scanner/schema_views_scanner.cpp | 12 +++- .../schema_scanner/schema_views_scanner.h | 10 ++- be/src/exec/table_connector.cpp | 21 ++++++- be/src/exec/table_connector.h | 12 ++++ be/src/exec/tablet_info.cpp | 18 ++++++ be/src/exec/tablet_info.h | 21 ++++++- be/src/exec/text_converter.cpp | 14 ++++- be/src/exec/text_converter.h | 3 + be/src/exprs/block_bloom_filter_avx_impl.cc | 6 +- be/src/exprs/block_bloom_filter_impl.cc | 9 ++- be/src/exprs/json_functions.cpp | 16 +++-- be/src/exprs/json_functions.h | 13 ++++ be/src/exprs/math_functions.cpp | 11 ++-- be/src/exprs/math_functions.h | 1 + be/src/exprs/runtime_filter.cpp | 23 ++++++- be/src/exprs/runtime_filter.h | 22 +++++++ be/src/exprs/runtime_filter_rpc.cpp | 15 ++++- be/src/exprs/string_functions.cpp | 7 +-- be/src/exprs/string_functions.h | 2 + be/src/geo/ByteOrderDataInStream.h | 2 + be/src/geo/ByteOrderValues.cpp | 3 +- be/src/geo/ByteOrderValues.h | 5 ++ be/src/geo/geo_tobinary.cpp | 10 ++- be/src/geo/geo_tobinary.h | 8 +++ be/src/geo/geo_types.cpp | 14 +++-- be/src/geo/geo_types.h | 3 +- be/src/geo/machine.h | 2 + be/src/geo/wkb_parse.cpp | 10 ++- be/src/geo/wkb_parse.h | 12 ++++ be/src/geo/wkt_parse.cpp | 3 +- be/src/geo/wkt_parse.h | 4 ++ .../http/action/check_rpc_channel_action.cpp | 14 ++++- be/src/http/action/check_rpc_channel_action.h | 2 + .../action/check_tablet_segment_action.cpp | 7 +++ .../http/action/check_tablet_segment_action.h | 1 + be/src/http/action/checksum_action.cpp | 7 +-- be/src/http/action/checksum_action.h | 1 + be/src/http/action/compaction_action.cpp | 13 +++- be/src/http/action/compaction_action.h | 5 ++ be/src/http/action/config_action.cpp | 8 ++- be/src/http/action/config_action.h | 1 + be/src/http/action/download_action.cpp | 12 ++-- be/src/http/action/download_action.h | 5 ++ be/src/http/action/health_action.cpp | 1 - be/src/http/action/health_action.h | 1 + be/src/http/action/jeprofile_actions.cpp | 9 ++- be/src/http/action/meta_action.cpp | 13 ++-- be/src/http/action/meta_action.h | 3 + be/src/http/action/metrics_action.cpp | 7 --- be/src/http/action/monitor_action.cpp | 7 ++- be/src/http/action/pad_rowset_action.cpp | 15 ++++- be/src/http/action/pad_rowset_action.h | 2 + be/src/http/action/pprof_actions.cpp | 14 ++--- be/src/http/action/reload_tablet_action.cpp | 7 ++- be/src/http/action/reload_tablet_action.h | 7 ++- .../http/action/reset_rpc_channel_action.cpp | 8 ++- be/src/http/action/reset_rpc_channel_action.h | 2 + be/src/http/action/restore_tablet_action.cpp | 19 ++++-- be/src/http/action/restore_tablet_action.h | 6 +- be/src/http/action/snapshot_action.cpp | 10 ++- be/src/http/action/snapshot_action.h | 1 + be/src/http/action/stream_load.cpp | 32 +++++----- be/src/http/action/stream_load.h | 9 ++- be/src/http/action/stream_load_2pc.cpp | 11 +++- be/src/http/action/stream_load_2pc.h | 1 + .../http/action/tablet_migration_action.cpp | 7 ++- be/src/http/action/tablet_migration_action.h | 14 ++++- .../action/tablets_distribution_action.cpp | 10 ++- .../http/action/tablets_distribution_action.h | 3 + be/src/http/action/tablets_info_action.cpp | 11 +++- be/src/http/action/tablets_info_action.h | 1 + be/src/http/action/version_action.cpp | 5 +- be/src/http/action/version_action.h | 1 + be/src/http/default_path_handlers.cpp | 18 ++++-- be/src/http/ev_http_server.cpp | 19 ++++-- be/src/http/ev_http_server.h | 3 + be/src/http/http_channel.cpp | 7 ++- be/src/http/http_channel.h | 2 + be/src/http/http_client.cpp | 6 ++ be/src/http/http_client.h | 3 + be/src/http/http_method.cpp | 1 + be/src/http/http_request.cpp | 7 +-- be/src/http/http_status.cpp | 1 + be/src/http/utils.cpp | 10 ++- be/src/http/utils.h | 1 + be/src/http/web_page_handler.cpp | 12 +++- be/src/http/web_page_handler.h | 3 + be/src/io/fs/file_reader_writer_fwd.h | 3 + be/src/io/fs/hdfs.h | 4 +- be/src/io/fs/hdfs_file_reader.h | 12 ++++ be/src/io/fs/hdfs_file_writer.h | 7 +++ be/src/service/backend_options.cpp | 1 + be/src/service/backend_options.h | 1 + be/src/service/backend_service.cpp | 46 ++++++++------ be/src/service/backend_service.h | 23 ++++++- be/src/service/brpc_service.cpp | 9 ++- be/src/service/doris_main.cpp | 32 ++++++---- be/src/service/http_service.cpp | 5 ++ be/src/service/internal_service.cpp | 62 ++++++++++++++++--- be/src/service/internal_service.h | 15 ++++- be/src/service/point_query_executor.cpp | 15 ++++- be/src/service/point_query_executor.h | 33 +++++++++- .../single_replica_load_download_service.cpp | 6 ++ be/src/udf/udf.cpp | 11 +--- be/src/udf/udf.h | 2 +- be/src/util/sse_util.hpp | 6 +- 185 files changed, 1622 insertions(+), 358 deletions(-) diff --git a/be/src/agent/agent_server.cpp b/be/src/agent/agent_server.cpp index 5fc46a912d..cb84e8b2e0 100644 --- a/be/src/agent/agent_server.cpp +++ b/be/src/agent/agent_server.cpp @@ -17,9 +17,14 @@ #include "agent/agent_server.h" +#include +#include +#include +#include #include #include +#include #include #include "agent/task_worker_pool.h" @@ -29,7 +34,14 @@ #include "common/logging.h" #include "common/status.h" #include "gutil/strings/substitute.h" +#include "olap/olap_define.h" +#include "olap/options.h" #include "olap/snapshot_manager.h" +#include "runtime/exec_env.h" + +namespace doris { +class TopicListener; +} // namespace doris using std::string; using std::vector; diff --git a/be/src/agent/agent_server.h b/be/src/agent/agent_server.h index c8136d00b8..11521eb09a 100644 --- a/be/src/agent/agent_server.h +++ b/be/src/agent/agent_server.h @@ -17,17 +17,25 @@ #pragma once +#include +#include + #include #include #include -#include "gen_cpp/AgentService_types.h" #include "runtime/exec_env.h" namespace doris { class TaskWorkerPool; class TopicSubscriber; +class ExecEnv; +class TAgentPublishRequest; +class TAgentResult; +class TAgentTaskRequest; +class TMasterInfo; +class TSnapshotRequest; // Each method corresponds to one RPC from FE Master, see BackendService. class AgentServer { diff --git a/be/src/agent/heartbeat_server.cpp b/be/src/agent/heartbeat_server.cpp index 705f14ab9a..41a61005ed 100644 --- a/be/src/agent/heartbeat_server.cpp +++ b/be/src/agent/heartbeat_server.cpp @@ -17,18 +17,31 @@ #include "agent/heartbeat_server.h" -#include +#include +#include +#include +#include +#include +#include +#include + +#include "common/config.h" #include "common/status.h" -#include "gen_cpp/HeartbeatService.h" -#include "gen_cpp/Status_types.h" #include "olap/storage_engine.h" +#include "runtime/exec_env.h" #include "runtime/heartbeat_flags.h" #include "service/backend_options.h" #include "util/debug_util.h" #include "util/thrift_server.h" #include "util/time.h" +namespace apache { +namespace thrift { +class TProcessor; +} // namespace thrift +} // namespace apache + namespace doris { HeartbeatServer::HeartbeatServer(TMasterInfo* master_info) diff --git a/be/src/agent/heartbeat_server.h b/be/src/agent/heartbeat_server.h index 73bfbba7fa..65e228dd8c 100644 --- a/be/src/agent/heartbeat_server.h +++ b/be/src/agent/heartbeat_server.h @@ -17,14 +17,20 @@ #pragma once +#include +#include +#include + #include #include "common/status.h" -#include "gen_cpp/HeartbeatService.h" #include "olap/olap_define.h" #include "runtime/exec_env.h" namespace doris { +class ExecEnv; +class THeartbeatResult; +class TMasterInfo; const uint32_t HEARTBEAT_INTERVAL = 10; class StorageEngine; diff --git a/be/src/agent/task_worker_pool.cpp b/be/src/agent/task_worker_pool.cpp index 9fe680ea96..ab7877fbf2 100644 --- a/be/src/agent/task_worker_pool.cpp +++ b/be/src/agent/task_worker_pool.cpp @@ -17,46 +17,66 @@ #include "agent/task_worker_pool.h" +#include #include -#include -#include +#include +#include +#include +#include +#include -#include -#include -#include +#include +// IWYU pragma: no_include +#include // IWYU pragma: keep #include +#include #include +#include #include #include +#include +#include +#include #include "agent/utils.h" +#include "common/config.h" #include "common/logging.h" #include "common/status.h" -#include "gen_cpp/Types_types.h" +#include "gutil/ref_counted.h" +#include "gutil/stringprintf.h" #include "gutil/strings/substitute.h" +#include "io/fs/file_system.h" #include "io/fs/local_file_system.h" +#include "io/fs/path.h" #include "io/fs/s3_file_system.h" #include "olap/data_dir.h" #include "olap/olap_common.h" +#include "olap/rowset/rowset_meta.h" #include "olap/snapshot_manager.h" #include "olap/storage_engine.h" #include "olap/storage_policy.h" #include "olap/tablet.h" +#include "olap/tablet_manager.h" +#include "olap/tablet_meta.h" +#include "olap/tablet_schema.h" #include "olap/task/engine_alter_tablet_task.h" #include "olap/task/engine_batch_load_task.h" #include "olap/task/engine_checksum_task.h" #include "olap/task/engine_clone_task.h" #include "olap/task/engine_publish_version_task.h" #include "olap/task/engine_storage_migration_task.h" +#include "olap/txn_manager.h" #include "olap/utils.h" #include "runtime/exec_env.h" #include "runtime/snapshot_loader.h" #include "service/backend_options.h" #include "util/doris_metrics.h" #include "util/random.h" +#include "util/s3_util.h" #include "util/scoped_cleanup.h" #include "util/stopwatch.hpp" #include "util/threadpool.h" +#include "util/time.h" #include "util/trace.h" namespace doris { diff --git a/be/src/agent/task_worker_pool.h b/be/src/agent/task_worker_pool.h index 3ea664014e..cd9b274d98 100644 --- a/be/src/agent/task_worker_pool.h +++ b/be/src/agent/task_worker_pool.h @@ -17,24 +17,39 @@ #pragma once +#include +#include +#include +#include +#include + #include +#include #include +#include #include +#include +#include +#include #include #include #include "common/status.h" -#include "gen_cpp/AgentService_types.h" -#include "gen_cpp/HeartbeatService_types.h" #include "olap/data_dir.h" #include "olap/tablet.h" #include "util/countdown_latch.h" +#include "util/metrics.h" namespace doris { class ExecEnv; class ThreadPool; class AgentUtils; +class DataDir; +class TFinishTaskRequest; +class TMasterInfo; +class TReportRequest; +class TTabletInfo; class TaskWorkerPool { public: diff --git a/be/src/agent/topic_subscriber.cpp b/be/src/agent/topic_subscriber.cpp index 88754efd2b..c5c4a324eb 100644 --- a/be/src/agent/topic_subscriber.cpp +++ b/be/src/agent/topic_subscriber.cpp @@ -17,6 +17,13 @@ #include "agent/topic_subscriber.h" +#include + +#include +#include + +#include "agent/topic_listener.h" + namespace doris { TopicSubscriber::TopicSubscriber() {} diff --git a/be/src/agent/topic_subscriber.h b/be/src/agent/topic_subscriber.h index 2d57f6927d..3151cbe54c 100644 --- a/be/src/agent/topic_subscriber.h +++ b/be/src/agent/topic_subscriber.h @@ -17,15 +17,18 @@ #pragma once +#include + #include #include #include #include +#include #include "agent/topic_listener.h" -#include "gen_cpp/AgentService_types.h" namespace doris { +class TopicListener; class TopicSubscriber { public: diff --git a/be/src/agent/user_resource_listener.cpp b/be/src/agent/user_resource_listener.cpp index efef2c7f6b..07ae1ee6b0 100644 --- a/be/src/agent/user_resource_listener.cpp +++ b/be/src/agent/user_resource_listener.cpp @@ -17,17 +17,24 @@ #include "agent/user_resource_listener.h" -#include +#include +#include +#include +#include +#include +#include #include -#include -#include -#include +#include #include -#include +#include +#include +#include -#include "gen_cpp/FrontendService.h" +#include "common/config.h" +#include "common/status.h" #include "runtime/client_cache.h" +#include "runtime/exec_env.h" namespace doris { diff --git a/be/src/agent/user_resource_listener.h b/be/src/agent/user_resource_listener.h index 9bddb1856b..b26ae3f279 100644 --- a/be/src/agent/user_resource_listener.h +++ b/be/src/agent/user_resource_listener.h @@ -17,16 +17,19 @@ #pragma once +#include +#include +#include + #include #include "agent/topic_listener.h" -#include "gen_cpp/AgentService_types.h" -#include "gen_cpp/HeartbeatService_types.h" #include "runtime/exec_env.h" namespace doris { class ExecEnv; +class TMasterInfo; class UserResourceListener : public TopicListener { public: diff --git a/be/src/agent/utils.cpp b/be/src/agent/utils.cpp index dfe4bc04c8..0e91eeaa49 100644 --- a/be/src/agent/utils.cpp +++ b/be/src/agent/utils.cpp @@ -17,18 +17,39 @@ #include "agent/utils.h" +#include +#include +#include +#include +#include #include +#include #include #include #include +#include +#include +#include +#include #include +#include #include -#include +#include +#include +#include "common/config.h" #include "common/status.h" #include "runtime/client_cache.h" +namespace doris { +class TConfirmUnusedRemoteFilesRequest; +class TConfirmUnusedRemoteFilesResult; +class TFinishTaskRequest; +class TMasterResult; +class TReportRequest; +} // namespace doris + using std::map; using std::string; using std::stringstream; diff --git a/be/src/agent/utils.h b/be/src/agent/utils.h index cfce0c3413..8cd1895d6a 100644 --- a/be/src/agent/utils.h +++ b/be/src/agent/utils.h @@ -17,14 +17,24 @@ #pragma once +#include #include #include #include +#include +#include + #include "common/status.h" #include "gutil/macros.h" namespace doris { +class TConfirmUnusedRemoteFilesRequest; +class TConfirmUnusedRemoteFilesResult; +class TFinishTaskRequest; +class TMasterInfo; +class TMasterResult; +class TReportRequest; class MasterServerClient { public: diff --git a/be/src/common/config.h b/be/src/common/config.h index 03dfb1cfc2..3f2034191c 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -17,7 +17,7 @@ #pragma once -#include "configbase.h" +#include "configbase.h" // IWYU pragma: export namespace doris { namespace config { diff --git a/be/src/common/configbase.cpp b/be/src/common/configbase.cpp index 24e3a44e66..066aa0352d 100644 --- a/be/src/common/configbase.cpp +++ b/be/src/common/configbase.cpp @@ -15,20 +15,31 @@ // specific language governing permissions and limitations // under the License. +#include + #include +#include #include +#include #include -#include +#include // IWYU pragma: keep +#include #include -#include #include +#include +#include +#include +#include +#include + +#include "common/logging.h" #define __IN_CONFIGBASE_CPP__ -#include "common/config.h" +#include "common/config.h" // IWYU pragma: keep #undef __IN_CONFIGBASE_CPP__ #include "common/status.h" -#include "gutil/strings/substitute.h" +#include "io/fs/file_reader_writer_fwd.h" #include "io/fs/file_writer.h" #include "io/fs/local_file_system.h" @@ -390,7 +401,7 @@ Status persist_config(const std::string& field, const std::string& value) { // lock to make sure only one thread can modify the be_custom.conf std::lock_guard l(custom_conf_lock); - static const string conffile = string(getenv("DORIS_HOME")) + "/conf/be_custom.conf"; + static const std::string conffile = std::string(getenv("DORIS_HOME")) + "/conf/be_custom.conf"; Properties tmp_props; if (!tmp_props.load(conffile.c_str(), false)) { diff --git a/be/src/common/configbase.h b/be/src/common/configbase.h index f3c79519ba..0bc11647a4 100644 --- a/be/src/common/configbase.h +++ b/be/src/common/configbase.h @@ -22,6 +22,7 @@ #include #include #include +#include #include namespace doris { diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp index 9e75a5a784..4a64e67053 100644 --- a/be/src/common/daemon.cpp +++ b/be/src/common/daemon.cpp @@ -17,21 +17,35 @@ #include "common/daemon.h" +#include #include -#include +// IWYU pragma: no_include +#include #include +#include +#include +#include + +#include +// IWYU pragma: no_include +#include // IWYU pragma: keep +#include +#include +#include +#include +#include #include "common/config.h" #include "common/logging.h" -#include "exprs/math_functions.h" -#include "exprs/string_functions.h" +#include "common/status.h" #include "olap/options.h" #include "olap/storage_engine.h" +#include "olap/tablet_manager.h" #include "runtime/block_spill_manager.h" #include "runtime/exec_env.h" -#include "runtime/fragment_mgr.h" #include "runtime/load_channel_mgr.h" -#include "runtime/memory/chunk_allocator.h" +#include "runtime/memory/mem_tracker.h" +#include "runtime/memory/mem_tracker_limiter.h" #include "runtime/user_function_cache.h" #include "service/backend_options.h" #include "util/cpu_info.h" @@ -39,7 +53,9 @@ #include "util/disk_info.h" #include "util/doris_metrics.h" #include "util/mem_info.h" +#include "util/metrics.h" #include "util/network_util.h" +#include "util/perf_counters.h" #include "util/system_metrics.h" #include "util/thrift_util.h" #include "util/time.h" diff --git a/be/src/common/exception.h b/be/src/common/exception.h index fff3215d31..3723db0891 100644 --- a/be/src/common/exception.h +++ b/be/src/common/exception.h @@ -17,6 +17,17 @@ #pragma once +#include +#include +#include + +#include +#include +#include +#include +#include +#include + #include "common/status.h" namespace doris { diff --git a/be/src/common/logconfig.cpp b/be/src/common/logconfig.cpp index 9e05e64a97..fc81103254 100644 --- a/be/src/common/logconfig.cpp +++ b/be/src/common/logconfig.cpp @@ -15,14 +15,16 @@ // specific language governing permissions and limitations // under the License. -#include -#include +#include +#include #include #include #include #include #include +#include +#include #include "common/config.h" #include "common/logging.h" diff --git a/be/src/common/logging.h b/be/src/common/logging.h index d8c55d5f6b..894db39cda 100644 --- a/be/src/common/logging.h +++ b/be/src/common/logging.h @@ -24,7 +24,7 @@ #undef _XOPEN_SOURCE // This is including a glog internal file. We want this to expose the // function to get the stack trace. -#include +#include // IWYU pragma: export #undef MutexLock // Define VLOG levels. We want display per-row info less than per-file which diff --git a/be/src/common/resource_tls.cpp b/be/src/common/resource_tls.cpp index 5ac6c94d9d..9b5ddc6815 100644 --- a/be/src/common/resource_tls.cpp +++ b/be/src/common/resource_tls.cpp @@ -17,10 +17,12 @@ #include "common/resource_tls.h" +#include #include +#include + #include "common/logging.h" -#include "gen_cpp/Types_types.h" namespace doris { diff --git a/be/src/common/status.cpp b/be/src/common/status.cpp index 85f4d69938..d4403f1112 100644 --- a/be/src/common/status.cpp +++ b/be/src/common/status.cpp @@ -4,10 +4,16 @@ #include "common/status.h" +#include +#include // for PStatus +#include #include #include -#include "gen_cpp/types.pb.h" // for PStatus +#include +#include +#include + #include "service/backend_options.h" namespace doris { diff --git a/be/src/common/status.h b/be/src/common/status.h index 330f8114bf..ec8fbba4fe 100644 --- a/be/src/common/status.h +++ b/be/src/common/status.h @@ -5,14 +5,17 @@ #pragma once #include +#include // for TStatus #include +#include #include +#include #include #include +#include #include "common/compiler_util.h" -#include "gen_cpp/Status_types.h" // for TStatus #ifdef ENABLE_STACKTRACE #include "util/stack_util.h" #endif diff --git a/be/src/exec/arrow/arrow_reader.cpp b/be/src/exec/arrow/arrow_reader.cpp index 2e34b343d2..6696d5489c 100644 --- a/be/src/exec/arrow/arrow_reader.cpp +++ b/be/src/exec/arrow/arrow_reader.cpp @@ -16,23 +16,24 @@ // under the License. #include "exec/arrow/arrow_reader.h" -#include -#include -#include +#include +#include +#include + +#include +// IWYU pragma: no_include +#include // IWYU pragma: keep +#include +#include #include "common/logging.h" -#include "gen_cpp/PaloBrokerService_types.h" -#include "gen_cpp/TPaloBrokerService.h" -#include "io/io_common.h" -#include "olap/iterators.h" -#include "runtime/broker_mgr.h" -#include "runtime/client_cache.h" +#include "io/fs/file_reader.h" #include "runtime/descriptors.h" -#include "runtime/exec_env.h" #include "runtime/runtime_state.h" +#include "util/slice.h" #include "util/string_util.h" -#include "util/thrift_util.h" #include "vec/core/block.h" +#include "vec/core/column_with_type_and_name.h" #include "vec/utils/arrow_column_to_doris_column.h" namespace doris { diff --git a/be/src/exec/arrow/arrow_reader.h b/be/src/exec/arrow/arrow_reader.h index fc068092e6..e685e7edaf 100644 --- a/be/src/exec/arrow/arrow_reader.h +++ b/be/src/exec/arrow/arrow_reader.h @@ -22,23 +22,40 @@ #include #include #include +#include +#include +#include +#include #include #include #include #include #include +#include +#include #include +#include +#include +#include #include +#include +#include #include +#include +#include +#include "common/config.h" #include "common/status.h" -#include "gen_cpp/PaloBrokerService_types.h" -#include "gen_cpp/PlanNodes_types.h" -#include "gen_cpp/Types_types.h" #include "io/fs/file_reader.h" +#include "io/fs/file_reader_writer_fwd.h" #include "vec/exec/format/generic_reader.h" +namespace arrow { +class RecordBatch; +class RecordBatchReader; +} // namespace arrow + namespace doris { class ExecEnv; @@ -47,6 +64,11 @@ class TNetworkAddress; class RuntimeState; class SlotDescriptor; class FileReader; +class TupleDescriptor; + +namespace vectorized { +class Block; +} // namespace vectorized struct Statistics { int32_t filtered_row_groups = 0; diff --git a/be/src/exec/arrow/parquet_reader.cpp b/be/src/exec/arrow/parquet_reader.cpp index 5423db509f..f0a1755324 100644 --- a/be/src/exec/arrow/parquet_reader.cpp +++ b/be/src/exec/arrow/parquet_reader.cpp @@ -16,23 +16,34 @@ // under the License. #include "exec/arrow/parquet_reader.h" -#include +#include +#include #include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include -#include +#include +// IWYU pragma: no_include +#include // IWYU pragma: keep +#include +#include +#include #include +#include #include #include "common/logging.h" #include "common/status.h" -#include "runtime/descriptors.h" #include "util/string_util.h" -#include "vec/common/string_ref.h" namespace doris { +class TupleDescriptor; // Broker ParquetReaderWrap::ParquetReaderWrap(RuntimeState* state, diff --git a/be/src/exec/arrow/parquet_reader.h b/be/src/exec/arrow/parquet_reader.h index 93dd64a081..4f57fdc7b9 100644 --- a/be/src/exec/arrow/parquet_reader.h +++ b/be/src/exec/arrow/parquet_reader.h @@ -23,6 +23,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -34,16 +38,23 @@ #include #include #include +#include #include #include #include +#include #include "common/config.h" #include "common/status.h" #include "exec/arrow/arrow_reader.h" -#include "gen_cpp/PaloBrokerService_types.h" -#include "gen_cpp/PlanNodes_types.h" -#include "gen_cpp/Types_types.h" +#include "io/fs/file_reader_writer_fwd.h" + +namespace arrow { +class RecordBatch; +} // namespace arrow +namespace parquet { +class FileMetaData; +} // namespace parquet namespace doris { @@ -54,6 +65,7 @@ class RuntimeState; class SlotDescriptor; class FileReader; class RowGroupReader; +class TupleDescriptor; // Reader of parquet file class ParquetReaderWrap final : public ArrowReaderWrap { diff --git a/be/src/exec/base_scanner.cpp b/be/src/exec/base_scanner.cpp index 84329c832d..043913a5f8 100644 --- a/be/src/exec/base_scanner.cpp +++ b/be/src/exec/base_scanner.cpp @@ -17,16 +17,40 @@ #include "base_scanner.h" +#include #include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include #include "common/consts.h" -#include "common/utils.h" -#include "exec/exec_node.h" +#include "gutil/casts.h" +#include "runtime/define_primitive_type.h" #include "runtime/descriptors.h" #include "runtime/runtime_state.h" +#include "runtime/types.h" +#include "vec/columns/column_nullable.h" +#include "vec/columns/column_vector.h" +#include "vec/columns/columns_number.h" +#include "vec/common/string_ref.h" +#include "vec/core/column_with_type_and_name.h" +#include "vec/data_types/data_type.h" #include "vec/data_types/data_type_factory.hpp" +#include "vec/data_types/data_type_number.h" +#include "vec/exprs/vexpr_context.h" namespace doris { +class TColumn; +class TNetworkAddress; BaseScanner::BaseScanner(RuntimeState* state, RuntimeProfile* profile, const TBrokerScanRangeParams& params, diff --git a/be/src/exec/base_scanner.h b/be/src/exec/base_scanner.h index 8fbcb8b01f..291f7d653d 100644 --- a/be/src/exec/base_scanner.h +++ b/be/src/exec/base_scanner.h @@ -17,9 +17,21 @@ #pragma once +#include +#include + +#include +#include +#include + +#include "common/global_types.h" #include "common/status.h" +#include "runtime/descriptors.h" #include "util/runtime_profile.h" +#include "util/slice.h" +#include "vec/columns/column.h" #include "vec/common/schema_util.h" +#include "vec/core/block.h" #include "vec/exprs/vexpr.h" #include "vec/exprs/vexpr_context.h" @@ -28,10 +40,14 @@ namespace doris { class TupleDescriptor; class RowDescriptor; class RuntimeState; +class TBrokerRangeDesc; +class TBrokerScanRangeParams; +class TNetworkAddress; namespace vectorized { class VExprContext; class IColumn; + using MutableColumnPtr = IColumn::MutablePtr; } // namespace vectorized diff --git a/be/src/exec/data_sink.cpp b/be/src/exec/data_sink.cpp index 3ce9d004e2..197a353124 100644 --- a/be/src/exec/data_sink.cpp +++ b/be/src/exec/data_sink.cpp @@ -20,22 +20,28 @@ #include "exec/data_sink.h" +#include +#include +#include + #include #include +#include #include +#include -#include "gen_cpp/PaloInternalService_types.h" -#include "runtime/runtime_state.h" +#include "common/config.h" #include "vec/sink/vdata_stream_sender.h" #include "vec/sink/vjdbc_table_sink.h" #include "vec/sink/vmemory_scratch_sink.h" -#include "vec/sink/vmysql_table_sink.h" #include "vec/sink/vodbc_table_sink.h" #include "vec/sink/vresult_file_sink.h" #include "vec/sink/vresult_sink.h" #include "vec/sink/vtablet_sink.h" namespace doris { +class DescriptorTbl; +class TExpr; Status DataSink::create_data_sink(ObjectPool* pool, const TDataSink& thrift_sink, const std::vector& output_exprs, diff --git a/be/src/exec/data_sink.h b/be/src/exec/data_sink.h index 0e0b9e63fd..3ea5da0c3c 100644 --- a/be/src/exec/data_sink.h +++ b/be/src/exec/data_sink.h @@ -20,11 +20,16 @@ #pragma once +#include +#include +#include +#include +// IWYU pragma: no_include +#include +#include #include #include "common/status.h" -#include "gen_cpp/DataSinks_types.h" -#include "gen_cpp/Exprs_types.h" #include "runtime/descriptors.h" #include "runtime/query_statistics.h" #include "util/runtime_profile.h" @@ -36,6 +41,11 @@ class ObjectPool; class RuntimeState; class TPlanFragmentExecParams; class RowDescriptor; +class DescriptorTbl; +class QueryStatistics; +class TDataSink; +class TExpr; +class TPipelineFragmentParams; namespace vectorized { class Block; diff --git a/be/src/exec/decompressor.cpp b/be/src/exec/decompressor.cpp index 18bf064fcb..af69a896a2 100644 --- a/be/src/exec/decompressor.cpp +++ b/be/src/exec/decompressor.cpp @@ -17,6 +17,10 @@ #include "exec/decompressor.h" +#include + +#include + #include "common/logging.h" namespace doris { diff --git a/be/src/exec/decompressor.h b/be/src/exec/decompressor.h index a9e6ef7b02..af37335f1f 100644 --- a/be/src/exec/decompressor.h +++ b/be/src/exec/decompressor.h @@ -19,8 +19,12 @@ #include #include +#include +#include #include +#include + #ifdef DORIS_WITH_LZO #include #include diff --git a/be/src/exec/es/es_scan_reader.cpp b/be/src/exec/es/es_scan_reader.cpp index 0002d8f2d6..10c36ab67f 100644 --- a/be/src/exec/es/es_scan_reader.cpp +++ b/be/src/exec/es/es_scan_reader.cpp @@ -17,6 +17,8 @@ #include "exec/es/es_scan_reader.h" +#include + #include #include #include @@ -24,7 +26,9 @@ #include "common/config.h" #include "common/logging.h" #include "common/status.h" +#include "exec/es/es_scroll_parser.h" #include "exec/es/es_scroll_query.h" +#include "http/http_method.h" namespace doris { diff --git a/be/src/exec/es/es_scan_reader.h b/be/src/exec/es/es_scan_reader.h index 79042838af..95b3e37980 100644 --- a/be/src/exec/es/es_scan_reader.h +++ b/be/src/exec/es/es_scan_reader.h @@ -17,11 +17,17 @@ #pragma once +#include +#include #include #include "exec/es/es_scroll_parser.h" #include "http/http_client.h" +namespace doris { +class ScrollParser; +} // namespace doris + using std::string; namespace doris { diff --git a/be/src/exec/es/es_scroll_parser.cpp b/be/src/exec/es/es_scroll_parser.cpp index d0a57b341c..abe793984c 100644 --- a/be/src/exec/es/es_scroll_parser.cpp +++ b/be/src/exec/es/es_scroll_parser.cpp @@ -18,20 +18,34 @@ #include "exec/es/es_scroll_parser.h" #include +#include #include +#include +#include +#include +#include -#include +// IWYU pragma: no_include +#include // IWYU pragma: keep +#include +#include #include #include "common/status.h" +#include "gutil/integral_types.h" #include "rapidjson/document.h" #include "rapidjson/rapidjson.h" #include "rapidjson/stringbuffer.h" #include "rapidjson/writer.h" -#include "runtime/memory/mem_tracker.h" +#include "runtime/decimalv2_value.h" +#include "runtime/define_primitive_type.h" +#include "runtime/descriptors.h" +#include "runtime/primitive_type.h" +#include "runtime/types.h" +#include "util/binary_cast.hpp" #include "util/string_parser.hpp" -#include "vec/columns/column_array.h" -#include "vec/common/string_ref.h" +#include "vec/columns/column.h" +#include "vec/columns/column_nullable.h" #include "vec/core/field.h" #include "vec/runtime/vdatetime_value.h" diff --git a/be/src/exec/es/es_scroll_parser.h b/be/src/exec/es/es_scroll_parser.h index 2a40bde974..d4edcb9ed2 100644 --- a/be/src/exec/es/es_scroll_parser.h +++ b/be/src/exec/es/es_scroll_parser.h @@ -17,15 +17,21 @@ #pragma once +#include + +#include #include +#include #include "rapidjson/document.h" #include "runtime/descriptors.h" #include "vec/core/block.h" +#include "vec/data_types/data_type.h" namespace doris { class Status; +class TupleDescriptor; class ScrollParser { public: diff --git a/be/src/exec/es/es_scroll_query.cpp b/be/src/exec/es/es_scroll_query.cpp index b68e8624c3..e8d214fd9b 100644 --- a/be/src/exec/es/es_scroll_query.cpp +++ b/be/src/exec/es/es_scroll_query.cpp @@ -17,6 +17,11 @@ #include "exec/es/es_scroll_query.h" +#include +#include +#include +#include + #include #include "exec/es/es_scan_reader.h" diff --git a/be/src/exec/exec_node.cpp b/be/src/exec/exec_node.cpp index d0dde43c93..6c3a011dc5 100644 --- a/be/src/exec/exec_node.cpp +++ b/be/src/exec/exec_node.cpp @@ -20,19 +20,32 @@ #include "exec/exec_node.h" +#include +#include +#include #include -#include +#include #include +#include +#include +#include "common/config.h" +#include "common/logging.h" #include "common/object_pool.h" #include "common/status.h" +#include "exec/scan_node.h" #include "runtime/descriptors.h" #include "runtime/memory/mem_tracker.h" #include "runtime/runtime_state.h" #include "util/debug_util.h" #include "util/runtime_profile.h" +#include "util/uid_util.h" +#include "vec/columns/column.h" +#include "vec/columns/column_nullable.h" +#include "vec/common/pod_array_fwd.h" #include "vec/core/block.h" +#include "vec/core/column_with_type_and_name.h" #include "vec/exec/join/vhash_join_node.h" #include "vec/exec/join/vnested_loop_join_node.h" #include "vec/exec/scan/new_es_scan_node.h" @@ -41,13 +54,13 @@ #include "vec/exec/scan/new_odbc_scan_node.h" #include "vec/exec/scan/new_olap_scan_node.h" #include "vec/exec/scan/vmeta_scan_node.h" +#include "vec/exec/scan/vscan_node.h" #include "vec/exec/vaggregation_node.h" #include "vec/exec/vanalytic_eval_node.h" #include "vec/exec/vassert_num_rows_node.h" #include "vec/exec/vdata_gen_scan_node.h" #include "vec/exec/vempty_set_node.h" #include "vec/exec/vexchange_node.h" -#include "vec/exec/vmysql_scan_node.h" #include "vec/exec/vrepeat_node.h" #include "vec/exec/vschema_scan_node.h" #include "vec/exec/vselect_node.h" @@ -56,8 +69,11 @@ #include "vec/exec/vtable_function_node.h" #include "vec/exec/vunion_node.h" #include "vec/exprs/vexpr.h" +#include "vec/exprs/vexpr_context.h" +#include "vec/utils/util.hpp" namespace doris { +class QueryStatistics; const std::string ExecNode::ROW_THROUGHPUT_COUNTER = "RowsReturnedRate"; diff --git a/be/src/exec/exec_node.h b/be/src/exec/exec_node.h index d5a38890ab..d5b9688361 100644 --- a/be/src/exec/exec_node.h +++ b/be/src/exec/exec_node.h @@ -20,18 +20,27 @@ #pragma once +#include +#include +#include + +#include +#include +#include #include #include +#include #include +#include "common/global_types.h" #include "common/status.h" -#include "gen_cpp/PlanNodes_types.h" #include "runtime/descriptors.h" #include "runtime/query_statistics.h" #include "service/backend_options.h" #include "util/blocking_queue.hpp" #include "util/runtime_profile.h" #include "util/telemetry/telemetry.h" +#include "vec/core/block.h" #include "vec/exprs/vexpr_context.h" namespace doris { @@ -40,10 +49,12 @@ class Counters; class RuntimeState; class TPlan; class MemTracker; +class QueryStatistics; namespace vectorized { class Block; class VExpr; +class VExprContext; } // namespace vectorized namespace pipeline { diff --git a/be/src/exec/odbc_connector.cpp b/be/src/exec/odbc_connector.cpp index 255eb1715c..3b3d896ce6 100644 --- a/be/src/exec/odbc_connector.cpp +++ b/be/src/exec/odbc_connector.cpp @@ -17,12 +17,22 @@ #include "exec/odbc_connector.h" +#include +#include #include +#include -#include +#include +#include -#include "runtime/primitive_type.h" -#include "util/types.h" +#include "runtime/define_primitive_type.h" +#include "runtime/descriptors.h" +#include "runtime/types.h" +#include "util/runtime_profile.h" + +namespace doris { +class RuntimeState; +} // namespace doris #define ODBC_DISPOSE(h, ht, x, op) \ { \ diff --git a/be/src/exec/odbc_connector.h b/be/src/exec/odbc_connector.h index f7765a9fce..90ef031a10 100644 --- a/be/src/exec/odbc_connector.h +++ b/be/src/exec/odbc_connector.h @@ -16,12 +16,24 @@ // under the License. #pragma once +#include #include +#include +#include +#include +#include +#include + +#include "common/config.h" #include "common/status.h" #include "exec/table_connector.h" namespace doris { +class RuntimeProfile; +class RuntimeState; +class TupleDescriptor; + struct ODBCConnectorParam { std::string connect_string; diff --git a/be/src/exec/olap_common.cpp b/be/src/exec/olap_common.cpp index 7963139542..04ca8e5efc 100644 --- a/be/src/exec/olap_common.cpp +++ b/be/src/exec/olap_common.cpp @@ -17,10 +17,6 @@ #include "exec/olap_common.h" -#include -#include -#include -#include #include #include diff --git a/be/src/exec/olap_common.h b/be/src/exec/olap_common.h index d0b6191927..e160d54fa3 100644 --- a/be/src/exec/olap_common.h +++ b/be/src/exec/olap_common.h @@ -17,17 +17,30 @@ #pragma once +#include +#include +#include + +#include #include #include +#include #include +#include +#include #include #include #include +#include #include +#include +#include "common/status.h" #include "exec/olap_utils.h" #include "olap/olap_common.h" #include "olap/olap_tuple.h" +#include "runtime/datetime_value.h" +#include "runtime/define_primitive_type.h" #include "runtime/primitive_type.h" #include "runtime/type_limit.h" #include "vec/core/types.h" diff --git a/be/src/exec/rowid_fetcher.cpp b/be/src/exec/rowid_fetcher.cpp index a9a326c0e3..57bacb4fcb 100644 --- a/be/src/exec/rowid_fetcher.cpp +++ b/be/src/exec/rowid_fetcher.cpp @@ -17,14 +17,36 @@ #include "exec/rowid_fetcher.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + #include "bthread/countdown_event.h" +#include "common/config.h" #include "exec/tablet_info.h" // DorisNodesInfo -#include "gen_cpp/Types_types.h" -#include "gen_cpp/internal_service.pb.h" +#include "olap/olap_common.h" +#include "olap/utils.h" +#include "runtime/descriptors.h" #include "runtime/exec_env.h" // ExecEnv #include "runtime/runtime_state.h" // RuntimeState #include "util/brpc_client_cache.h" // BrpcClientCache #include "util/defer_op.h" +#include "vec/columns/column.h" +#include "vec/columns/column_nullable.h" +#include "vec/columns/column_string.h" +#include "vec/common/assert_cast.h" +#include "vec/common/string_ref.h" #include "vec/core/block.h" // Block namespace doris { diff --git a/be/src/exec/rowid_fetcher.h b/be/src/exec/rowid_fetcher.h index 57101c5033..19dabdf901 100644 --- a/be/src/exec/rowid_fetcher.h +++ b/be/src/exec/rowid_fetcher.h @@ -17,13 +17,25 @@ #pragma once -#include "gen_cpp/internal_service.pb.h" +#include + +#include +#include + +#include "common/status.h" #include "vec/core/block.h" +#include "vec/data_types/data_type.h" namespace doris { class DorisNodesInfo; class RuntimeState; +class TupleDescriptor; + +namespace vectorized { +class ColumnString; +class MutableBlock; +} // namespace vectorized // fetch rows by global rowid // tablet_id/rowset_name/segment_id/ordinal_id diff --git a/be/src/exec/scan_node.cpp b/be/src/exec/scan_node.cpp index 2b8bb6b5cf..281a55b6f3 100644 --- a/be/src/exec/scan_node.cpp +++ b/be/src/exec/scan_node.cpp @@ -20,9 +20,18 @@ #include "exec/scan_node.h" +#include + +#include + +#include "vec/exprs/vexpr_context.h" #include "vec/utils/util.hpp" namespace doris { +class RuntimeState; +namespace vectorized { +class VExpr; +} // namespace vectorized const std::string ScanNode::_s_bytes_read_counter = "BytesRead"; const std::string ScanNode::_s_rows_read_counter = "RowsRead"; diff --git a/be/src/exec/scan_node.h b/be/src/exec/scan_node.h index c83bf9884b..aed701dbe9 100644 --- a/be/src/exec/scan_node.h +++ b/be/src/exec/scan_node.h @@ -20,15 +20,24 @@ #pragma once -#include +#include +#include +#include +#include + +#include "common/status.h" #include "exec/exec_node.h" -#include "gen_cpp/PaloInternalService_types.h" #include "util/runtime_profile.h" namespace doris { class TScanRange; +class DescriptorTbl; +class ObjectPool; +class RuntimeState; +class TPlanNode; +class TScanRangeParams; // Abstract base class of all scan nodes; introduces set_scan_range(). // diff --git a/be/src/exec/schema_scanner.cpp b/be/src/exec/schema_scanner.cpp index ebca8591a5..fd47976c89 100644 --- a/be/src/exec/schema_scanner.cpp +++ b/be/src/exec/schema_scanner.cpp @@ -17,7 +17,14 @@ #include "exec/schema_scanner.h" -#include +#include +#include +#include +#include + +#include +#include +#include #include "exec/schema_scanner/schema_charsets_scanner.h" #include "exec/schema_scanner/schema_collations_scanner.h" @@ -33,13 +40,23 @@ #include "exec/schema_scanner/schema_user_privileges_scanner.h" #include "exec/schema_scanner/schema_variables_scanner.h" #include "exec/schema_scanner/schema_views_scanner.h" +#include "olap/hll.h" #include "runtime/define_primitive_type.h" -#include "util/encryption_util.h" +#include "util/types.h" #include "vec/columns/column.h" +#include "vec/columns/column_complex.h" +#include "vec/columns/column_nullable.h" +#include "vec/columns/column_string.h" +#include "vec/columns/column_vector.h" +#include "vec/columns/columns_number.h" #include "vec/common/string_ref.h" #include "vec/core/block.h" +#include "vec/core/column_with_type_and_name.h" +#include "vec/core/types.h" +#include "vec/data_types/data_type.h" namespace doris { +class ObjectPool; DorisServer* SchemaScanner::_s_doris_server; diff --git a/be/src/exec/schema_scanner.h b/be/src/exec/schema_scanner.h index 3602defbd0..bc600bdf58 100644 --- a/be/src/exec/schema_scanner.h +++ b/be/src/exec/schema_scanner.h @@ -17,12 +17,18 @@ #pragma once +#include +#include +#include +#include + +#include #include +#include #include "common/object_pool.h" #include "common/status.h" -#include "gen_cpp/Descriptors_types.h" -#include "gen_cpp/Types_types.h" +#include "runtime/define_primitive_type.h" #include "util/runtime_profile.h" #include "vec/core/block.h" @@ -31,6 +37,8 @@ namespace doris { // forehead declare class, because jni function init in DorisServer. class DorisServer; class RuntimeState; +class ObjectPool; +class TUserIdentity; namespace vectorized { class Block; diff --git a/be/src/exec/schema_scanner/schema_charsets_scanner.cpp b/be/src/exec/schema_scanner/schema_charsets_scanner.cpp index 824b5a76ea..4a801f50c1 100644 --- a/be/src/exec/schema_scanner/schema_charsets_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_charsets_scanner.cpp @@ -17,10 +17,18 @@ #include "exec/schema_scanner/schema_charsets_scanner.h" +#include +#include + #include "common/status.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaCharsetsScanner::_s_css_columns = { // name, type, size diff --git a/be/src/exec/schema_scanner/schema_charsets_scanner.h b/be/src/exec/schema_scanner/schema_charsets_scanner.h index 37b2866bab..dfc83cc34b 100644 --- a/be/src/exec/schema_scanner/schema_charsets_scanner.h +++ b/be/src/exec/schema_scanner/schema_charsets_scanner.h @@ -19,9 +19,15 @@ #include +#include + +#include "common/status.h" #include "exec/schema_scanner.h" namespace doris { +namespace vectorized { +class Block; +} // namespace vectorized class SchemaCharsetsScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_collations_scanner.cpp b/be/src/exec/schema_scanner/schema_collations_scanner.cpp index 472ba92074..f63e7622b4 100644 --- a/be/src/exec/schema_scanner/schema_collations_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_collations_scanner.cpp @@ -17,11 +17,18 @@ #include "exec/schema_scanner/schema_collations_scanner.h" +#include +#include + #include "common/status.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaCollationsScanner::_s_cols_columns = { // name, type, size diff --git a/be/src/exec/schema_scanner/schema_collations_scanner.h b/be/src/exec/schema_scanner/schema_collations_scanner.h index d421cf3818..260ef0a170 100644 --- a/be/src/exec/schema_scanner/schema_collations_scanner.h +++ b/be/src/exec/schema_scanner/schema_collations_scanner.h @@ -19,9 +19,15 @@ #include +#include + +#include "common/status.h" #include "exec/schema_scanner.h" namespace doris { +namespace vectorized { +class Block; +} // namespace vectorized class SchemaCollationsScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_columns_scanner.cpp b/be/src/exec/schema_scanner/schema_columns_scanner.cpp index 963ed68ebd..e980cced64 100644 --- a/be/src/exec/schema_scanner/schema_columns_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_columns_scanner.cpp @@ -17,16 +17,24 @@ #include "exec/schema_scanner/schema_columns_scanner.h" -#include +#include +#include +#include +#include + #include -#include -#include #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; + +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaColumnsScanner::_s_col_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_columns_scanner.h b/be/src/exec/schema_scanner/schema_columns_scanner.h index 634ff08e2c..4165c6b0bc 100644 --- a/be/src/exec/schema_scanner/schema_columns_scanner.h +++ b/be/src/exec/schema_scanner/schema_columns_scanner.h @@ -17,12 +17,19 @@ #pragma once -#include +#include +#include +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaColumnsScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_dummy_scanner.cpp b/be/src/exec/schema_scanner/schema_dummy_scanner.cpp index b858855718..1d5956f390 100644 --- a/be/src/exec/schema_scanner/schema_dummy_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_dummy_scanner.cpp @@ -17,6 +17,15 @@ #include "schema_dummy_scanner.h" +#include + +namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized +} // namespace doris + namespace { std::vector DUMMY_COLUMN; } diff --git a/be/src/exec/schema_scanner/schema_dummy_scanner.h b/be/src/exec/schema_scanner/schema_dummy_scanner.h index d48466e83a..919bae8fbb 100644 --- a/be/src/exec/schema_scanner/schema_dummy_scanner.h +++ b/be/src/exec/schema_scanner/schema_dummy_scanner.h @@ -17,9 +17,14 @@ #pragma once +#include "common/status.h" #include "exec/schema_scanner.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaDummyScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_files_scanner.cpp b/be/src/exec/schema_scanner/schema_files_scanner.cpp index 1eb8132668..596d21c3dd 100644 --- a/be/src/exec/schema_scanner/schema_files_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_files_scanner.cpp @@ -17,12 +17,20 @@ #include "exec/schema_scanner/schema_files_scanner.h" +#include +#include +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" #include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaFilesScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_files_scanner.h b/be/src/exec/schema_scanner/schema_files_scanner.h index 0e33bf6dd3..7d140bdbe4 100644 --- a/be/src/exec/schema_scanner/schema_files_scanner.h +++ b/be/src/exec/schema_scanner/schema_files_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaFilesScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_helper.cpp b/be/src/exec/schema_scanner/schema_helper.cpp index dc4e213d67..9dbc40886e 100644 --- a/be/src/exec/schema_scanner/schema_helper.cpp +++ b/be/src/exec/schema_scanner/schema_helper.cpp @@ -17,15 +17,24 @@ #include "exec/schema_scanner/schema_helper.h" -#include -#include +#include -#include "gen_cpp/FrontendService.h" -#include "gen_cpp/FrontendService_types.h" #include "runtime/client_cache.h" #include "util/thrift_rpc_helper.h" namespace doris { +class TDescribeTableParams; +class TDescribeTableResult; +class TDescribeTablesParams; +class TDescribeTablesResult; +class TGetDbsParams; +class TGetDbsResult; +class TGetTablesParams; +class TGetTablesResult; +class TListPrivilegesResult; +class TListTableStatusResult; +class TShowVariableRequest; +class TShowVariableResult; Status SchemaHelper::get_db_names(const std::string& ip, const int32_t port, const TGetDbsParams& request, TGetDbsResult* result) { diff --git a/be/src/exec/schema_scanner/schema_helper.h b/be/src/exec/schema_scanner/schema_helper.h index a6a2ed976e..d6a340e1e4 100644 --- a/be/src/exec/schema_scanner/schema_helper.h +++ b/be/src/exec/schema_scanner/schema_helper.h @@ -17,10 +17,26 @@ #pragma once +#include +#include + +#include + #include "common/status.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class TDescribeTableParams; +class TDescribeTableResult; +class TDescribeTablesParams; +class TDescribeTablesResult; +class TGetDbsParams; +class TGetDbsResult; +class TGetTablesParams; +class TGetTablesResult; +class TListPrivilegesResult; +class TListTableStatusResult; +class TShowVariableRequest; +class TShowVariableResult; // this class is a helper for getting schema info from FE class SchemaHelper { diff --git a/be/src/exec/schema_scanner/schema_partitions_scanner.cpp b/be/src/exec/schema_scanner/schema_partitions_scanner.cpp index 5aaded0f93..7c6b7827b9 100644 --- a/be/src/exec/schema_scanner/schema_partitions_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_partitions_scanner.cpp @@ -17,13 +17,21 @@ #include "exec/schema_scanner/schema_partitions_scanner.h" +#include +#include +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/datetime_value.h" -#include "runtime/primitive_type.h" +#include "runtime/decimalv2_value.h" +#include "runtime/define_primitive_type.h" #include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaPartitionsScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_partitions_scanner.h b/be/src/exec/schema_scanner/schema_partitions_scanner.h index 197f917a1d..1c5a86f145 100644 --- a/be/src/exec/schema_scanner/schema_partitions_scanner.h +++ b/be/src/exec/schema_scanner/schema_partitions_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaPartitionsScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_rowsets_scanner.cpp b/be/src/exec/schema_scanner/schema_rowsets_scanner.cpp index 1028812910..49a8d1fe7f 100644 --- a/be/src/exec/schema_scanner/schema_rowsets_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_rowsets_scanner.cpp @@ -17,20 +17,32 @@ #include "exec/schema_scanner/schema_rowsets_scanner.h" +#include + +#include #include +#include +#include +#include +#include #include "common/status.h" -#include "gutil/integral_types.h" -#include "olap/rowset/beta_rowset.h" +#include "olap/olap_common.h" #include "olap/rowset/rowset.h" -#include "olap/rowset/segment_v2/segment.h" -#include "olap/segment_loader.h" +#include "olap/rowset/rowset_meta.h" #include "olap/storage_engine.h" #include "olap/tablet.h" -#include "runtime/descriptors.h" -#include "runtime/primitive_type.h" +#include "olap/tablet_manager.h" +#include "runtime/define_primitive_type.h" +#include "runtime/runtime_state.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" + namespace doris { +namespace vectorized { +class Block; +} // namespace vectorized + std::vector SchemaRowsetsScanner::_s_tbls_columns = { // name, type, size, is_null {"BACKEND_ID", TYPE_BIGINT, sizeof(int64_t), true}, diff --git a/be/src/exec/schema_scanner/schema_rowsets_scanner.h b/be/src/exec/schema_scanner/schema_rowsets_scanner.h index 1e8921a78d..0a8dabc270 100644 --- a/be/src/exec/schema_scanner/schema_rowsets_scanner.h +++ b/be/src/exec/schema_scanner/schema_rowsets_scanner.h @@ -20,13 +20,21 @@ #include #include #include +#include #include "common/status.h" #include "exec/schema_scanner.h" #include "olap/rowset/rowset.h" #include "olap/rowset/segment_v2/segment.h" #include "runtime/runtime_state.h" + namespace doris { +class RuntimeState; + +namespace vectorized { +class Block; +} // namespace vectorized + class SchemaRowsetsScanner : public SchemaScanner { public: SchemaRowsetsScanner(); diff --git a/be/src/exec/schema_scanner/schema_schema_privileges_scanner.cpp b/be/src/exec/schema_scanner/schema_schema_privileges_scanner.cpp index 17973a1e61..4b210bc5eb 100644 --- a/be/src/exec/schema_scanner/schema_schema_privileges_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_schema_privileges_scanner.cpp @@ -17,11 +17,21 @@ #include "exec/schema_scanner/schema_schema_privileges_scanner.h" +#include +#include + +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaSchemaPrivilegesScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_schema_privileges_scanner.h b/be/src/exec/schema_scanner/schema_schema_privileges_scanner.h index a52643afd1..9b34f952f5 100644 --- a/be/src/exec/schema_scanner/schema_schema_privileges_scanner.h +++ b/be/src/exec/schema_scanner/schema_schema_privileges_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaSchemaPrivilegesScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_schemata_scanner.cpp b/be/src/exec/schema_scanner/schema_schemata_scanner.cpp index 4c2b05a172..b0d0aca2bb 100644 --- a/be/src/exec/schema_scanner/schema_schemata_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_schemata_scanner.cpp @@ -17,11 +17,21 @@ #include "exec/schema_scanner/schema_schemata_scanner.h" +#include +#include + +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaSchemataScanner::_s_columns = { // name, type, size diff --git a/be/src/exec/schema_scanner/schema_schemata_scanner.h b/be/src/exec/schema_scanner/schema_schemata_scanner.h index 572f8b741d..90437e0f78 100644 --- a/be/src/exec/schema_scanner/schema_schemata_scanner.h +++ b/be/src/exec/schema_scanner/schema_schemata_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaSchemataScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_statistics_scanner.cpp b/be/src/exec/schema_scanner/schema_statistics_scanner.cpp index ed2e713da0..f4f3d5dba8 100644 --- a/be/src/exec/schema_scanner/schema_statistics_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_statistics_scanner.cpp @@ -17,7 +17,9 @@ #include "exec/schema_scanner/schema_statistics_scanner.h" -#include "runtime/primitive_type.h" +#include + +#include "runtime/define_primitive_type.h" #include "vec/common/string_ref.h" namespace doris { diff --git a/be/src/exec/schema_scanner/schema_statistics_scanner.h b/be/src/exec/schema_scanner/schema_statistics_scanner.h index e31c27277b..2d02863bfc 100644 --- a/be/src/exec/schema_scanner/schema_statistics_scanner.h +++ b/be/src/exec/schema_scanner/schema_statistics_scanner.h @@ -17,6 +17,8 @@ #pragma once +#include + #include "exec/schema_scanner.h" namespace doris { diff --git a/be/src/exec/schema_scanner/schema_table_privileges_scanner.cpp b/be/src/exec/schema_scanner/schema_table_privileges_scanner.cpp index d40ce08d18..4a4982bad7 100644 --- a/be/src/exec/schema_scanner/schema_table_privileges_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_table_privileges_scanner.cpp @@ -17,13 +17,21 @@ #include "exec/schema_scanner/schema_table_privileges_scanner.h" +#include +#include + #include #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaTablePrivilegesScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_table_privileges_scanner.h b/be/src/exec/schema_scanner/schema_table_privileges_scanner.h index 00545717c2..3aa0d4c659 100644 --- a/be/src/exec/schema_scanner/schema_table_privileges_scanner.h +++ b/be/src/exec/schema_scanner/schema_table_privileges_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaTablePrivilegesScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_tables_scanner.cpp b/be/src/exec/schema_scanner/schema_tables_scanner.cpp index def0ef5540..3acf255df2 100644 --- a/be/src/exec/schema_scanner/schema_tables_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_tables_scanner.cpp @@ -17,13 +17,27 @@ #include "exec/schema_scanner/schema_tables_scanner.h" +#include +#include +#include + +#include + #include "common/status.h" #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" -#include "vec/columns/column_complex.h" +#include "runtime/decimalv2_value.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" +#include "util/timezone_utils.h" #include "vec/common/string_ref.h" +#include "vec/runtime/vdatetime_value.h" namespace doris { +class RuntimeState; + +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaTablesScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_tables_scanner.h b/be/src/exec/schema_scanner/schema_tables_scanner.h index 18488451cc..c295fc6ba2 100644 --- a/be/src/exec/schema_scanner/schema_tables_scanner.h +++ b/be/src/exec/schema_scanner/schema_tables_scanner.h @@ -17,12 +17,20 @@ #pragma once +#include + +#include + #include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" #include "vec/core/block.h" namespace doris { +class RuntimeState; + +namespace vectorized { +class Block; +} // namespace vectorized class SchemaTablesScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_user_privileges_scanner.cpp b/be/src/exec/schema_scanner/schema_user_privileges_scanner.cpp index bd1037941a..f74436d8d1 100644 --- a/be/src/exec/schema_scanner/schema_user_privileges_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_user_privileges_scanner.cpp @@ -17,11 +17,21 @@ #include "exec/schema_scanner/schema_user_privileges_scanner.h" +#include +#include + +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaUserPrivilegesScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_user_privileges_scanner.h b/be/src/exec/schema_scanner/schema_user_privileges_scanner.h index 1bef2b340b..66c3501c37 100644 --- a/be/src/exec/schema_scanner/schema_user_privileges_scanner.h +++ b/be/src/exec/schema_scanner/schema_user_privileges_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaUserPrivilegesScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_variables_scanner.cpp b/be/src/exec/schema_scanner/schema_variables_scanner.cpp index 7627ecdfe1..5efcee07b7 100644 --- a/be/src/exec/schema_scanner/schema_variables_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_variables_scanner.cpp @@ -17,12 +17,24 @@ #include "exec/schema_scanner/schema_variables_scanner.h" +#include +#include +#include + +#include +#include +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" -#include "runtime/runtime_state.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaVariablesScanner::_s_vars_columns = { // name, type, size diff --git a/be/src/exec/schema_scanner/schema_variables_scanner.h b/be/src/exec/schema_scanner/schema_variables_scanner.h index 4befea7bda..2728b70530 100644 --- a/be/src/exec/schema_scanner/schema_variables_scanner.h +++ b/be/src/exec/schema_scanner/schema_variables_scanner.h @@ -17,13 +17,22 @@ #pragma once +#include +#include + #include #include +#include +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; + +namespace vectorized { +class Block; +} // namespace vectorized class SchemaVariablesScanner : public SchemaScanner { public: diff --git a/be/src/exec/schema_scanner/schema_views_scanner.cpp b/be/src/exec/schema_scanner/schema_views_scanner.cpp index 34e9d93dae..abfb1929f3 100644 --- a/be/src/exec/schema_scanner/schema_views_scanner.cpp +++ b/be/src/exec/schema_scanner/schema_views_scanner.cpp @@ -17,11 +17,21 @@ #include "exec/schema_scanner/schema_views_scanner.h" +#include +#include + +#include + #include "exec/schema_scanner/schema_helper.h" -#include "runtime/primitive_type.h" +#include "runtime/define_primitive_type.h" +#include "util/runtime_profile.h" #include "vec/common/string_ref.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized std::vector SchemaViewsScanner::_s_tbls_columns = { // name, type, size, is_null diff --git a/be/src/exec/schema_scanner/schema_views_scanner.h b/be/src/exec/schema_scanner/schema_views_scanner.h index 9eeca601f3..65683c4a8b 100644 --- a/be/src/exec/schema_scanner/schema_views_scanner.h +++ b/be/src/exec/schema_scanner/schema_views_scanner.h @@ -17,10 +17,18 @@ #pragma once +#include + +#include + +#include "common/status.h" #include "exec/schema_scanner.h" -#include "gen_cpp/FrontendService_types.h" namespace doris { +class RuntimeState; +namespace vectorized { +class Block; +} // namespace vectorized class SchemaViewsScanner : public SchemaScanner { public: diff --git a/be/src/exec/table_connector.cpp b/be/src/exec/table_connector.cpp index e4af221a2b..ef0b9db8c3 100644 --- a/be/src/exec/table_connector.cpp +++ b/be/src/exec/table_connector.cpp @@ -17,22 +17,37 @@ #include "exec/table_connector.h" -#include +#include +#include +#include #include #include #include +#include +#include +#include +#include + +#include "runtime/decimalv2_value.h" #include "runtime/define_primitive_type.h" -#include "runtime/primitive_type.h" -#include "util/mysql_global.h" +#include "util/binary_cast.hpp" +#include "vec/columns/column.h" #include "vec/columns/column_array.h" +#include "vec/columns/column_nullable.h" +#include "vec/common/assert_cast.h" +#include "vec/common/string_ref.h" #include "vec/core/block.h" +#include "vec/core/column_with_type_and_name.h" #include "vec/data_types/data_type.h" #include "vec/data_types/data_type_array.h" +#include "vec/data_types/data_type_nullable.h" #include "vec/exprs/vexpr.h" #include "vec/exprs/vexpr_context.h" +#include "vec/runtime/vdatetime_value.h" namespace doris { +class TupleDescriptor; // Default max buffer size use in insert to: 50MB, normally a batch is smaller than the size static constexpr uint32_t INSERT_BUFFER_SIZE = 1024l * 1024 * 50; diff --git a/be/src/exec/table_connector.h b/be/src/exec/table_connector.h index 872aa7fe14..27d3061e75 100644 --- a/be/src/exec/table_connector.h +++ b/be/src/exec/table_connector.h @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -27,9 +28,20 @@ #include "common/status.h" #include "runtime/descriptors.h" +#include "runtime/types.h" +#include "util/runtime_profile.h" +#include "vec/aggregate_functions/aggregate_function.h" +#include "vec/data_types/data_type.h" #include "vec/exprs/vexpr_context.h" namespace doris { +class RuntimeState; +class TupleDescriptor; + +namespace vectorized { +class Block; +class VExprContext; +} // namespace vectorized // Table Connector for scan data from ODBC/JDBC class TableConnector { diff --git a/be/src/exec/tablet_info.cpp b/be/src/exec/tablet_info.cpp index b4583943ea..1b79278d8b 100644 --- a/be/src/exec/tablet_info.cpp +++ b/be/src/exec/tablet_info.cpp @@ -17,10 +17,28 @@ #include "exec/tablet_info.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "olap/tablet_schema.h" +#include "runtime/descriptors.h" #include "runtime/large_int_value.h" +#include "runtime/memory/mem_tracker.h" #include "runtime/raw_value.h" +#include "runtime/types.h" +#include "util/hash_util.hpp" #include "util/string_parser.hpp" +#include "vec/common/string_ref.h" #include "vec/exprs/vexpr.h" +#include "vec/runtime/vdatetime_value.h" namespace doris { diff --git a/be/src/exec/tablet_info.h b/be/src/exec/tablet_info.h index 97dcd2a40d..6c9272787d 100644 --- a/be/src/exec/tablet_info.h +++ b/be/src/exec/tablet_info.h @@ -17,22 +17,39 @@ #pragma once +#include +#include + #include +#include +#include #include #include +#include #include +#include #include #include "common/object_pool.h" #include "common/status.h" -#include "gen_cpp/Descriptors_types.h" -#include "gen_cpp/descriptors.pb.h" #include "olap/tablet_schema.h" #include "runtime/descriptors.h" +#include "vec/columns/column.h" #include "vec/core/block.h" +#include "vec/core/column_with_type_and_name.h" #include "vec/exprs/vexpr_context.h" namespace doris { +class MemTracker; +class SlotDescriptor; +class TExprNode; +class TabletColumn; +class TabletIndex; +class TupleDescriptor; + +namespace vectorized { +class VExprContext; +} // namespace vectorized struct OlapTableIndexSchema { int64_t index_id; diff --git a/be/src/exec/text_converter.cpp b/be/src/exec/text_converter.cpp index 3859bd3022..8249b42a98 100644 --- a/be/src/exec/text_converter.cpp +++ b/be/src/exec/text_converter.cpp @@ -17,15 +17,25 @@ #include "text_converter.h" +#include #include +#include +#include + +#include "common/compiler_util.h" +#include "olap/hll.h" #include "runtime/decimalv2_value.h" +#include "runtime/define_primitive_type.h" #include "runtime/descriptors.h" +#include "runtime/types.h" +#include "util/slice.h" #include "util/string_parser.hpp" -#include "util/types.h" #include "vec/columns/column_complex.h" #include "vec/columns/column_nullable.h" -#include "vec/common/string_ref.h" +#include "vec/columns/column_string.h" +#include "vec/columns/column_vector.h" +#include "vec/core/types.h" #include "vec/runtime/vdatetime_value.h" namespace doris { diff --git a/be/src/exec/text_converter.h b/be/src/exec/text_converter.h index d1b32a094e..0bf3b3f16e 100644 --- a/be/src/exec/text_converter.h +++ b/be/src/exec/text_converter.h @@ -17,7 +17,10 @@ #pragma once +#include + #include "vec/columns/column.h" + namespace doris { class SlotDescriptor; diff --git a/be/src/exprs/block_bloom_filter_avx_impl.cc b/be/src/exprs/block_bloom_filter_avx_impl.cc index db8b9156f0..6781a23332 100644 --- a/be/src/exprs/block_bloom_filter_avx_impl.cc +++ b/be/src/exprs/block_bloom_filter_avx_impl.cc @@ -20,10 +20,14 @@ #ifdef __AVX2__ +#include #include +#include +#include + +#include #include "exprs/block_bloom_filter.hpp" -#include "gutil/macros.h" namespace doris { diff --git a/be/src/exprs/block_bloom_filter_impl.cc b/be/src/exprs/block_bloom_filter_impl.cc index 07d98e842b..d285edcb31 100644 --- a/be/src/exprs/block_bloom_filter_impl.cc +++ b/be/src/exprs/block_bloom_filter_impl.cc @@ -20,15 +20,20 @@ // and modified by Doris #include +#include +#include +#include #include -#include -#include +#include // IWYU pragma: keep +#include // IWYU pragma: keep #include #include #include +#include "common/status.h" #include "exprs/block_bloom_filter.hpp" +// IWYU pragma: no_include #include "util/sse_util.hpp" namespace doris { diff --git a/be/src/exprs/json_functions.cpp b/be/src/exprs/json_functions.cpp index 5a3cbcc9e0..ebfc4b0ae8 100644 --- a/be/src/exprs/json_functions.cpp +++ b/be/src/exprs/json_functions.cpp @@ -17,25 +17,23 @@ #include "exprs/json_functions.h" +#include #include -#include -#include +#include +#include #include +#include // IWYU pragma: keep #include -#include -#include -#include +#include +#include +#include #include #include -#include #include #include "common/compiler_util.h" #include "common/logging.h" -#include "gutil/strings/stringpiece.h" -#include "udf/udf.h" -#include "util/string_util.h" namespace doris { diff --git a/be/src/exprs/json_functions.h b/be/src/exprs/json_functions.h index 32a2f93814..2de0857219 100644 --- a/be/src/exprs/json_functions.h +++ b/be/src/exprs/json_functions.h @@ -18,14 +18,27 @@ #pragma once #include +#include #include #include #include +#include +#include +#include #include "common/status.h" #include "udf/udf.h" +namespace simdjson { +namespace fallback { +namespace ondemand { +class object; +class value; +} // namespace ondemand +} // namespace fallback +} // namespace simdjson + namespace doris { enum JsonFunctionType { diff --git a/be/src/exprs/math_functions.cpp b/be/src/exprs/math_functions.cpp index 04ca6f57c1..e76cdde2a5 100644 --- a/be/src/exprs/math_functions.cpp +++ b/be/src/exprs/math_functions.cpp @@ -21,17 +21,14 @@ #include "exprs/math_functions.h" #include - +#include +// IWYU pragma: no_include #include -#include -#include -#include +#include #include #include "common/compiler_util.h" -#include "runtime/decimalv2_value.h" -#include "runtime/large_int_value.h" -#include "util/simd/vstring_function.h" +#include "udf/udf.h" #include "util/string_parser.hpp" namespace doris { diff --git a/be/src/exprs/math_functions.h b/be/src/exprs/math_functions.h index 108a690660..5399a39f42 100644 --- a/be/src/exprs/math_functions.h +++ b/be/src/exprs/math_functions.h @@ -26,6 +26,7 @@ #include "vec/common/string_ref.h" namespace doris { +class FunctionContext; class MathFunctions { public: diff --git a/be/src/exprs/runtime_filter.cpp b/be/src/exprs/runtime_filter.cpp index 0a39b25248..30d8f3b988 100644 --- a/be/src/exprs/runtime_filter.cpp +++ b/be/src/exprs/runtime_filter.cpp @@ -17,27 +17,46 @@ #include "runtime_filter.h" -#include +#include +#include +#include +#include +#include +#include +#include +// IWYU pragma: no_include +#include // IWYU pragma: keep +#include +#include +#include +#include +#include + +#include "common/logging.h" #include "common/object_pool.h" #include "common/status.h" #include "exprs/bitmapfilter_predicate.h" +#include "exprs/bloom_filter_func.h" #include "exprs/create_predicate_function.h" #include "exprs/hybrid_set.h" #include "exprs/minmax_predicate.h" -#include "gen_cpp/internal_service.pb.h" +#include "gutil/strings/substitute.h" #include "runtime/define_primitive_type.h" #include "runtime/large_int_value.h" #include "runtime/primitive_type.h" #include "runtime/runtime_filter_mgr.h" +#include "util/bitmap_value.h" #include "util/runtime_profile.h" #include "util/string_parser.hpp" #include "vec/columns/column.h" #include "vec/columns/column_complex.h" +#include "vec/common/assert_cast.h" #include "vec/exprs/vbitmap_predicate.h" #include "vec/exprs/vbloom_predicate.h" #include "vec/exprs/vdirect_in_predicate.h" #include "vec/exprs/vexpr.h" +#include "vec/exprs/vexpr_context.h" #include "vec/exprs/vliteral.h" #include "vec/exprs/vruntimefilter_wrapper.h" #include "vec/runtime/shared_hash_table_controller.h" diff --git a/be/src/exprs/runtime_filter.h b/be/src/exprs/runtime_filter.h index 5050d81c41..141df632c5 100644 --- a/be/src/exprs/runtime_filter.h +++ b/be/src/exprs/runtime_filter.h @@ -17,12 +17,31 @@ #pragma once +#include +#include +#include + +#include +#include +#include +#include + +#include "common/status.h" +#include "runtime/datetime_value.h" +#include "runtime/decimalv2_value.h" +#include "runtime/define_primitive_type.h" #include "runtime/large_int_value.h" +#include "runtime/primitive_type.h" #include "runtime/runtime_state.h" +#include "runtime/types.h" #include "util/lock.h" #include "util/runtime_profile.h" #include "util/time.h" #include "util/uid_util.h" +#include "vec/common/string_ref.h" +#include "vec/core/types.h" +#include "vec/data_types/data_type.h" +#include "vec/runtime/vdatetime_value.h" namespace butil { class IOBufAsZeroCopyInputStream; @@ -42,6 +61,8 @@ class HashJoinNode; class RuntimeProfile; class BloomFilterFuncBase; class BitmapFilterFuncBase; +class TNetworkAddress; +class TQueryOptions; namespace vectorized { class VExpr; @@ -339,6 +360,7 @@ protected: std::vector _push_down_vexprs; struct rpc_context; + std::shared_ptr _rpc_context; // parent profile diff --git a/be/src/exprs/runtime_filter_rpc.cpp b/be/src/exprs/runtime_filter_rpc.cpp index faaee410d0..8a5c4acb9b 100644 --- a/be/src/exprs/runtime_filter_rpc.cpp +++ b/be/src/exprs/runtime_filter_rpc.cpp @@ -15,14 +15,25 @@ // specific language governing permissions and limitations // under the License. +#include +#include +#include +#include +#include + +#include +#include +#include + #include "common/config.h" #include "common/status.h" #include "exprs/runtime_filter.h" #include "runtime/exec_env.h" #include "runtime/runtime_state.h" - // for rpc -#include "gen_cpp/internal_service.pb.h" +#include + +#include "common/logging.h" #include "util/brpc_client_cache.h" namespace doris { diff --git a/be/src/exprs/string_functions.cpp b/be/src/exprs/string_functions.cpp index ac80e21b9b..ce5738dba9 100644 --- a/be/src/exprs/string_functions.cpp +++ b/be/src/exprs/string_functions.cpp @@ -21,12 +21,9 @@ #include "exprs/string_functions.h" #include +#include -#include - -#include "math_functions.h" -#include "util/simd/vstring_function.h" -#include "util/url_parser.h" +#include // NOTE: be careful not to use string::append. It is not performant. namespace doris { diff --git a/be/src/exprs/string_functions.h b/be/src/exprs/string_functions.h index e8527eb614..5a64790032 100644 --- a/be/src/exprs/string_functions.h +++ b/be/src/exprs/string_functions.h @@ -24,7 +24,9 @@ #include #include +#include #include +#include #include #include "gutil/strings/numbers.h" diff --git a/be/src/geo/ByteOrderDataInStream.h b/be/src/geo/ByteOrderDataInStream.h index 2980fc4b43..f42d685808 100644 --- a/be/src/geo/ByteOrderDataInStream.h +++ b/be/src/geo/ByteOrderDataInStream.h @@ -15,6 +15,8 @@ // specific language governing permissions and limitations // under the License. +#pragma once + #include #include "ByteOrderValues.h" diff --git a/be/src/geo/ByteOrderValues.cpp b/be/src/geo/ByteOrderValues.cpp index ba05bb647d..1e78322eaa 100644 --- a/be/src/geo/ByteOrderValues.cpp +++ b/be/src/geo/ByteOrderValues.cpp @@ -17,7 +17,8 @@ #include "ByteOrderValues.h" -#include +#include + #include namespace doris { diff --git a/be/src/geo/ByteOrderValues.h b/be/src/geo/ByteOrderValues.h index 79a0bbde8a..c78f6c8856 100644 --- a/be/src/geo/ByteOrderValues.h +++ b/be/src/geo/ByteOrderValues.h @@ -15,7 +15,12 @@ // specific language governing permissions and limitations // under the License. +#pragma once + +#include + #include + using int64_t = __int64_t; using int32_t = __int32_t; using uint32_t = __uint32_t; diff --git a/be/src/geo/geo_tobinary.cpp b/be/src/geo/geo_tobinary.cpp index f3980075c0..12b36dd3a8 100644 --- a/be/src/geo/geo_tobinary.cpp +++ b/be/src/geo/geo_tobinary.cpp @@ -17,10 +17,16 @@ #include "geo_tobinary.h" +#include +#include +#include + +#include "geo/ByteOrderValues.h" +#include "geo/geo_common.h" +#include "geo/machine.h" +#include "geo/wkt_parse_type.h" #include "geo_tobinary_type.h" #include "geo_types.h" -#include "sstream" -#include "wkb_parse.h" namespace doris { diff --git a/be/src/geo/geo_tobinary.h b/be/src/geo/geo_tobinary.h index ee77bea88e..8b861a519a 100644 --- a/be/src/geo/geo_tobinary.h +++ b/be/src/geo/geo_tobinary.h @@ -15,18 +15,26 @@ // specific language governing permissions and limitations // under the License. +#pragma once + //#include "geo_types.h" +#include + #include "geo/geo_common.h" #include "geo/geo_tobinary_type.h" #include "geo/wkt_parse_type.h" +struct ToBinaryContext; + namespace doris { class GeoShape; class GeoPoint; class GeoLine; class GeoPolygon; +struct GeoCoordinate; +struct GeoCoordinateList; class toBinary { public: diff --git a/be/src/geo/geo_types.cpp b/be/src/geo/geo_types.cpp index 10d7f5e0a1..672e594273 100644 --- a/be/src/geo/geo_types.cpp +++ b/be/src/geo/geo_types.cpp @@ -17,19 +17,25 @@ #include "geo/geo_types.h" +#include +#include +#include #include -#include #include #include +#include +#include #include #include #include #include -#include - +#include +// IWYU pragma: no_include +#include #include #include -#include +#include +#include #include "geo/geo_tobinary.h" #include "geo/wkb_parse.h" diff --git a/be/src/geo/geo_types.h b/be/src/geo/geo_types.h index 055d5463ae..7416dccb35 100644 --- a/be/src/geo/geo_types.h +++ b/be/src/geo/geo_types.h @@ -17,6 +17,8 @@ #pragma once +#include + #include #include #include @@ -28,7 +30,6 @@ class S2Polyline; class S2Polygon; class S2Cap; class S2Loop; - template class Vector3; diff --git a/be/src/geo/machine.h b/be/src/geo/machine.h index db2a67e14e..f40f7b9529 100644 --- a/be/src/geo/machine.h +++ b/be/src/geo/machine.h @@ -15,6 +15,8 @@ // specific language governing permissions and limitations // under the License. +#pragma once + namespace doris { /** * Check endianness of current machine. diff --git a/be/src/geo/wkb_parse.cpp b/be/src/geo/wkb_parse.cpp index 5510fa5250..f792dd9a25 100644 --- a/be/src/geo/wkb_parse.cpp +++ b/be/src/geo/wkb_parse.cpp @@ -17,10 +17,16 @@ #include "wkb_parse.h" -#include +#include +#include +#include +#include +#include "geo/ByteOrderDataInStream.h" +#include "geo/ByteOrderValues.h" +#include "geo/geo_types.h" +#include "geo/wkb_parse_ctx.h" #include "geo_tobinary_type.h" -#include "sstream" namespace doris { diff --git a/be/src/geo/wkb_parse.h b/be/src/geo/wkb_parse.h index 312459e0f1..c27537966b 100644 --- a/be/src/geo/wkb_parse.h +++ b/be/src/geo/wkb_parse.h @@ -15,13 +15,25 @@ // specific language governing permissions and limitations // under the License. +#pragma once + +#include + +#include + #include "geo/geo_common.h" #include "geo/geo_types.h" +#include "geo/wkt_parse_type.h" #include "wkb_parse_ctx.h" +struct WkbParseContext; + namespace doris { class GeoShape; +class GeoLine; +class GeoPoint; +class GeoPolygon; class WkbParse { public: diff --git a/be/src/geo/wkt_parse.cpp b/be/src/geo/wkt_parse.cpp index 1e69f7036a..5dd8778332 100644 --- a/be/src/geo/wkt_parse.cpp +++ b/be/src/geo/wkt_parse.cpp @@ -17,9 +17,10 @@ #include "geo/wkt_parse.h" -#include "geo/geo_types.h" #include "geo/wkt_parse_ctx.h" +#include "geo/wkt_parse_type.h" // IWYU pragma: keep #include "geo/wkt_yacc.y.hpp" + #define YYSTYPE WKT_STYPE #define YY_EXTRA_TYPE WktParseContext* #include "geo/wkt_lex.l.h" diff --git a/be/src/geo/wkt_parse.h b/be/src/geo/wkt_parse.h index a121944aef..0bb999af73 100644 --- a/be/src/geo/wkt_parse.h +++ b/be/src/geo/wkt_parse.h @@ -15,6 +15,10 @@ // specific language governing permissions and limitations // under the License. +#pragma once + +#include + #include #include "geo/geo_common.h" diff --git a/be/src/http/action/check_rpc_channel_action.cpp b/be/src/http/action/check_rpc_channel_action.cpp index 6a688e836d..d483fc4fa3 100644 --- a/be/src/http/action/check_rpc_channel_action.cpp +++ b/be/src/http/action/check_rpc_channel_action.cpp @@ -17,13 +17,21 @@ #include "http/action/check_rpc_channel_action.h" -#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include -#include "gen_cpp/internal_service.pb.h" #include "http/http_channel.h" #include "http/http_request.h" +#include "http/http_status.h" #include "runtime/exec_env.h" -#include "service/brpc.h" #include "util/brpc_client_cache.h" #include "util/md5.h" diff --git a/be/src/http/action/check_rpc_channel_action.h b/be/src/http/action/check_rpc_channel_action.h index d8b456ca8b..6847c51b08 100644 --- a/be/src/http/action/check_rpc_channel_action.h +++ b/be/src/http/action/check_rpc_channel_action.h @@ -21,6 +21,8 @@ namespace doris { class ExecEnv; +class HttpRequest; + class CheckRPCChannelAction : public HttpHandler { public: explicit CheckRPCChannelAction(ExecEnv* exec_env); diff --git a/be/src/http/action/check_tablet_segment_action.cpp b/be/src/http/action/check_tablet_segment_action.cpp index 6e822ace7d..4b5362a587 100644 --- a/be/src/http/action/check_tablet_segment_action.cpp +++ b/be/src/http/action/check_tablet_segment_action.cpp @@ -17,6 +17,11 @@ #include "http/action/check_tablet_segment_action.h" +#include +#include + +#include +#include #include #include "http/http_channel.h" @@ -24,7 +29,9 @@ #include "http/http_request.h" #include "http/http_status.h" #include "olap/storage_engine.h" +#include "olap/tablet_manager.h" #include "service/backend_options.h" +#include "util/easy_json.h" namespace doris { diff --git a/be/src/http/action/check_tablet_segment_action.h b/be/src/http/action/check_tablet_segment_action.h index 353c372a13..a4c6f422ee 100644 --- a/be/src/http/action/check_tablet_segment_action.h +++ b/be/src/http/action/check_tablet_segment_action.h @@ -23,6 +23,7 @@ #include "util/easy_json.h" namespace doris { +class HttpRequest; class CheckTabletSegmentAction : public HttpHandler { public: diff --git a/be/src/http/action/checksum_action.cpp b/be/src/http/action/checksum_action.cpp index 3bbf1dd5a6..6ef7215b95 100644 --- a/be/src/http/action/checksum_action.cpp +++ b/be/src/http/action/checksum_action.cpp @@ -17,20 +17,17 @@ #include "http/action/checksum_action.h" +#include #include #include #include "boost/lexical_cast.hpp" #include "common/logging.h" +#include "common/status.h" #include "http/http_channel.h" -#include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" -#include "olap/olap_define.h" -#include "olap/storage_engine.h" #include "olap/task/engine_checksum_task.h" -#include "runtime/exec_env.h" namespace doris { diff --git a/be/src/http/action/checksum_action.h b/be/src/http/action/checksum_action.h index 441c302cb1..5afacbfe6d 100644 --- a/be/src/http/action/checksum_action.h +++ b/be/src/http/action/checksum_action.h @@ -24,6 +24,7 @@ namespace doris { class ExecEnv; +class HttpRequest; class ChecksumAction : public HttpHandler { public: diff --git a/be/src/http/action/compaction_action.cpp b/be/src/http/action/compaction_action.cpp index 86d2548946..96d450c599 100644 --- a/be/src/http/action/compaction_action.cpp +++ b/be/src/http/action/compaction_action.cpp @@ -17,11 +17,16 @@ #include "http/action/compaction_action.h" -#include - +// IWYU pragma: no_include +#include // IWYU pragma: keep +#include #include +#include +#include #include #include +#include +#include #include "common/logging.h" #include "gutil/strings/substitute.h" @@ -31,8 +36,12 @@ #include "http/http_status.h" #include "olap/base_compaction.h" #include "olap/cumulative_compaction.h" +#include "olap/cumulative_compaction_policy.h" #include "olap/olap_define.h" #include "olap/storage_engine.h" +#include "olap/tablet_manager.h" +#include "util/doris_metrics.h" +#include "util/stopwatch.hpp" namespace doris { using namespace ErrorCode; diff --git a/be/src/http/action/compaction_action.h b/be/src/http/action/compaction_action.h index 6def386a44..8fc487d4a0 100644 --- a/be/src/http/action/compaction_action.h +++ b/be/src/http/action/compaction_action.h @@ -17,11 +17,16 @@ #pragma once +#include + +#include + #include "common/status.h" #include "http/http_handler.h" #include "olap/tablet.h" namespace doris { +class HttpRequest; enum class CompactionActionType { SHOW_INFO = 1, diff --git a/be/src/http/action/config_action.cpp b/be/src/http/action/config_action.cpp index 9c95276db3..60cc21e36b 100644 --- a/be/src/http/action/config_action.cpp +++ b/be/src/http/action/config_action.cpp @@ -18,11 +18,16 @@ #include "http/action/config_action.h" #include +#include #include -#include #include +#include +#include +#include #include +#include +#include #include "common/configbase.h" #include "common/logging.h" @@ -31,7 +36,6 @@ #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" namespace doris { diff --git a/be/src/http/action/config_action.h b/be/src/http/action/config_action.h index ca20f3862f..7d9d3e7f2e 100644 --- a/be/src/http/action/config_action.h +++ b/be/src/http/action/config_action.h @@ -20,6 +20,7 @@ #include "http/http_handler.h" namespace doris { +class HttpRequest; enum ConfigActionType { UPDATE_CONFIG = 1, diff --git a/be/src/http/action/download_action.cpp b/be/src/http/action/download_action.cpp index e56b24c61f..074baf5ec1 100644 --- a/be/src/http/action/download_action.cpp +++ b/be/src/http/action/download_action.cpp @@ -17,21 +17,19 @@ #include "http/action/download_action.h" -#include -#include - +#include +#include #include #include +#include +#include "common/config.h" +#include "common/logging.h" #include "http/http_channel.h" -#include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" -#include "http/http_status.h" #include "http/utils.h" #include "io/fs/local_file_system.h" #include "runtime/exec_env.h" -#include "util/path_util.h" namespace doris { diff --git a/be/src/http/action/download_action.h b/be/src/http/action/download_action.h index 944c422fc6..86bee3e2b1 100644 --- a/be/src/http/action/download_action.h +++ b/be/src/http/action/download_action.h @@ -17,6 +17,10 @@ #pragma once +#include +#include + +#include "common/status.h" #include "exec/scan_node.h" #include "http/http_handler.h" #include "runtime/descriptors.h" @@ -24,6 +28,7 @@ namespace doris { class ExecEnv; +class HttpRequest; // A simple handler that serves incoming HTTP requests of file-download to send their respective HTTP responses. // diff --git a/be/src/http/action/health_action.cpp b/be/src/http/action/health_action.cpp index 163c782b5f..ef937ab27c 100644 --- a/be/src/http/action/health_action.cpp +++ b/be/src/http/action/health_action.cpp @@ -23,7 +23,6 @@ #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" namespace doris { diff --git a/be/src/http/action/health_action.h b/be/src/http/action/health_action.h index 68d46fa325..cdee0f12b4 100644 --- a/be/src/http/action/health_action.h +++ b/be/src/http/action/health_action.h @@ -22,6 +22,7 @@ namespace doris { class ExecEnv; +class HttpRequest; // Get BE health state from http API. class HealthAction : public HttpHandler { diff --git a/be/src/http/action/jeprofile_actions.cpp b/be/src/http/action/jeprofile_actions.cpp index c014ef4eba..4faac5b51a 100644 --- a/be/src/http/action/jeprofile_actions.cpp +++ b/be/src/http/action/jeprofile_actions.cpp @@ -18,22 +18,25 @@ #include "http/action/jeprofile_actions.h" #include +#include +#include #include #include +#include #include -#include +#include #include "common/config.h" #include "common/object_pool.h" #include "http/ev_http_server.h" #include "http/http_channel.h" #include "http/http_handler.h" -#include "http/http_headers.h" -#include "http/http_request.h" +#include "http/http_method.h" #include "io/fs/local_file_system.h" namespace doris { +class HttpRequest; static std::mutex kJeprofileActionMutex; class JeHeapAction : public HttpHandler { diff --git a/be/src/http/action/meta_action.cpp b/be/src/http/action/meta_action.cpp index bb8300c8d3..ede286e3d9 100644 --- a/be/src/http/action/meta_action.cpp +++ b/be/src/http/action/meta_action.cpp @@ -17,22 +17,27 @@ #include "http/action/meta_action.h" +#include +#include + +#include +#include +#include +#include #include #include #include "common/logging.h" -#include "gutil/strings/substitute.h" #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" #include "olap/olap_define.h" #include "olap/storage_engine.h" #include "olap/tablet.h" +#include "olap/tablet_manager.h" #include "olap/tablet_meta.h" -#include "olap/tablet_meta_manager.h" -#include "util/json_util.h" +#include "util/easy_json.h" namespace doris { diff --git a/be/src/http/action/meta_action.h b/be/src/http/action/meta_action.h index 2349d7ec22..c4809cd3b5 100644 --- a/be/src/http/action/meta_action.h +++ b/be/src/http/action/meta_action.h @@ -17,12 +17,15 @@ #pragma once +#include + #include "common/status.h" #include "http/http_handler.h" namespace doris { class ExecEnv; +class HttpRequest; // Get Meta Info class MetaAction : public HttpHandler { diff --git a/be/src/http/action/metrics_action.cpp b/be/src/http/action/metrics_action.cpp index f2bd8b43cb..d9df65928a 100644 --- a/be/src/http/action/metrics_action.cpp +++ b/be/src/http/action/metrics_action.cpp @@ -17,18 +17,11 @@ #include "http/action/metrics_action.h" -#include -#include -#include -#include - #include #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" -#include "runtime/exec_env.h" #include "util/metrics.h" namespace doris { diff --git a/be/src/http/action/monitor_action.cpp b/be/src/http/action/monitor_action.cpp index cf1604623e..22a1a89cd2 100644 --- a/be/src/http/action/monitor_action.cpp +++ b/be/src/http/action/monitor_action.cpp @@ -17,12 +17,13 @@ #include "http/action/monitor_action.h" -#include +#include + +#include +#include -#include "common/status.h" #include "http/http_channel.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" #include "http/rest_monitor_iface.h" diff --git a/be/src/http/action/pad_rowset_action.cpp b/be/src/http/action/pad_rowset_action.cpp index c353b4fad7..18e0b2568e 100644 --- a/be/src/http/action/pad_rowset_action.cpp +++ b/be/src/http/action/pad_rowset_action.cpp @@ -17,14 +17,27 @@ #include "http/action/pad_rowset_action.h" +#include +#include +#include + +#include #include #include +#include +#include +#include #include "http/http_channel.h" +#include "http/http_request.h" +#include "http/http_status.h" #include "olap/olap_common.h" -#include "olap/rowset/beta_rowset_writer.h" #include "olap/rowset/rowset.h" +#include "olap/rowset/rowset_writer.h" +#include "olap/rowset/rowset_writer_context.h" #include "olap/storage_engine.h" +#include "olap/tablet_manager.h" +#include "util/time.h" namespace doris { diff --git a/be/src/http/action/pad_rowset_action.h b/be/src/http/action/pad_rowset_action.h index f6036dc9fa..13090dcd8c 100644 --- a/be/src/http/action/pad_rowset_action.h +++ b/be/src/http/action/pad_rowset_action.h @@ -23,6 +23,8 @@ #include "olap/tablet.h" namespace doris { +class HttpRequest; +struct Version; class PadRowsetAction : public HttpHandler { public: diff --git a/be/src/http/action/pprof_actions.cpp b/be/src/http/action/pprof_actions.cpp index 0be0e2c708..7696078a4d 100644 --- a/be/src/http/action/pprof_actions.cpp +++ b/be/src/http/action/pprof_actions.cpp @@ -17,29 +17,23 @@ #include "http/action/pprof_actions.h" -#include -#include -#include +#include #include -#include +#include #include -#include +#include -#include "agent/utils.h" #include "common/config.h" #include "common/object_pool.h" -#include "gutil/strings/substitute.h" #include "http/ev_http_server.h" #include "http/http_channel.h" #include "http/http_handler.h" -#include "http/http_headers.h" +#include "http/http_method.h" #include "http/http_request.h" -#include "http/http_response.h" #include "io/fs/local_file_system.h" #include "runtime/exec_env.h" #include "util/bfd_parser.h" -#include "util/pprof_utils.h" namespace doris { diff --git a/be/src/http/action/reload_tablet_action.cpp b/be/src/http/action/reload_tablet_action.cpp index ee4d6bd22f..30f65fccce 100644 --- a/be/src/http/action/reload_tablet_action.cpp +++ b/be/src/http/action/reload_tablet_action.cpp @@ -17,17 +17,18 @@ #include "http/action/reload_tablet_action.h" +#include + +#include #include #include #include "boost/lexical_cast.hpp" #include "common/logging.h" +#include "common/status.h" #include "http/http_channel.h" -#include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" -#include "olap/olap_define.h" #include "olap/storage_engine.h" #include "runtime/exec_env.h" diff --git a/be/src/http/action/reload_tablet_action.h b/be/src/http/action/reload_tablet_action.h index 5338131224..aa36a474dd 100644 --- a/be/src/http/action/reload_tablet_action.h +++ b/be/src/http/action/reload_tablet_action.h @@ -17,12 +17,17 @@ #pragma once -#include "gen_cpp/AgentService_types.h" +#include +#include + +#include + #include "http/http_handler.h" namespace doris { class ExecEnv; +class HttpRequest; class ReloadTabletAction : public HttpHandler { public: diff --git a/be/src/http/action/reset_rpc_channel_action.cpp b/be/src/http/action/reset_rpc_channel_action.cpp index 242bfe7a05..95f9ba9e7e 100644 --- a/be/src/http/action/reset_rpc_channel_action.cpp +++ b/be/src/http/action/reset_rpc_channel_action.cpp @@ -17,10 +17,16 @@ #include "http/action/reset_rpc_channel_action.h" -#include +#include +#include + +#include +#include +#include #include "http/http_channel.h" #include "http/http_request.h" +#include "http/http_status.h" #include "runtime/exec_env.h" #include "util/brpc_client_cache.h" #include "util/string_util.h" diff --git a/be/src/http/action/reset_rpc_channel_action.h b/be/src/http/action/reset_rpc_channel_action.h index 912a324217..52df0d6817 100644 --- a/be/src/http/action/reset_rpc_channel_action.h +++ b/be/src/http/action/reset_rpc_channel_action.h @@ -21,6 +21,8 @@ namespace doris { class ExecEnv; +class HttpRequest; + class ResetRPCChannelAction : public HttpHandler { public: explicit ResetRPCChannelAction(ExecEnv* exec_env); diff --git a/be/src/http/action/restore_tablet_action.cpp b/be/src/http/action/restore_tablet_action.cpp index 118008d160..d710a2b36b 100644 --- a/be/src/http/action/restore_tablet_action.cpp +++ b/be/src/http/action/restore_tablet_action.cpp @@ -17,24 +17,31 @@ #include "http/action/restore_tablet_action.h" -#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include -#include "gutil/strings/substitute.h" // for Substitute #include "http/http_channel.h" -#include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" +#include "io/fs/file_system.h" +#include "io/fs/local_file_system.h" +#include "io/fs/path.h" #include "olap/data_dir.h" -#include "olap/olap_define.h" #include "olap/storage_engine.h" +#include "olap/tablet.h" +#include "olap/tablet_manager.h" #include "olap/tablet_meta.h" #include "olap/utils.h" #include "runtime/exec_env.h" -#include "util/json_util.h" using std::filesystem::path; diff --git a/be/src/http/action/restore_tablet_action.h b/be/src/http/action/restore_tablet_action.h index 7cae5ff70a..a11d7783b7 100644 --- a/be/src/http/action/restore_tablet_action.h +++ b/be/src/http/action/restore_tablet_action.h @@ -17,16 +17,20 @@ #pragma once +#include +#include + #include #include +#include #include "common/status.h" -#include "gen_cpp/AgentService_types.h" #include "http/http_handler.h" namespace doris { class ExecEnv; +class HttpRequest; class RestoreTabletAction : public HttpHandler { public: diff --git a/be/src/http/action/snapshot_action.cpp b/be/src/http/action/snapshot_action.cpp index 4862df5037..19e603fa34 100644 --- a/be/src/http/action/snapshot_action.cpp +++ b/be/src/http/action/snapshot_action.cpp @@ -17,21 +17,19 @@ #include "http/action/snapshot_action.h" +#include + #include +#include #include #include #include "common/logging.h" -#include "gen_cpp/AgentService_types.h" +#include "common/status.h" #include "http/http_channel.h" -#include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" -#include "olap/olap_define.h" #include "olap/snapshot_manager.h" -#include "olap/storage_engine.h" -#include "runtime/exec_env.h" namespace doris { diff --git a/be/src/http/action/snapshot_action.h b/be/src/http/action/snapshot_action.h index 49285bb336..0d1399604d 100644 --- a/be/src/http/action/snapshot_action.h +++ b/be/src/http/action/snapshot_action.h @@ -25,6 +25,7 @@ namespace doris { class ExecEnv; +class HttpRequest; // make snapshot // be_host:be_http_port/api/snapshot?tablet_id=123&schema_hash=456 diff --git a/be/src/http/action/stream_load.cpp b/be/src/http/action/stream_load.cpp index 2520b3a5f4..925a8ad8e0 100644 --- a/be/src/http/action/stream_load.cpp +++ b/be/src/http/action/stream_load.cpp @@ -17,45 +17,49 @@ #include "http/action/stream_load.h" -#include -#include -#include - // use string iequal #include -#include #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include + +#include +#include +#include +#include +#include #include "common/config.h" #include "common/consts.h" #include "common/logging.h" +#include "common/status.h" #include "common/utils.h" -#include "gen_cpp/FrontendService.h" -#include "gen_cpp/FrontendService_types.h" -#include "gen_cpp/HeartbeatService_types.h" #include "http/http_channel.h" #include "http/http_common.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/utils.h" #include "io/fs/stream_load_pipe.h" #include "olap/storage_engine.h" #include "runtime/client_cache.h" #include "runtime/exec_env.h" -#include "runtime/fragment_mgr.h" #include "runtime/load_path_mgr.h" -#include "runtime/plan_fragment_executor.h" +#include "runtime/message_body_sink.h" #include "runtime/stream_load/new_load_stream_mgr.h" #include "runtime/stream_load/stream_load_context.h" #include "runtime/stream_load/stream_load_executor.h" #include "runtime/stream_load/stream_load_recorder.h" #include "util/byte_buffer.h" -#include "util/debug_util.h" #include "util/doris_metrics.h" -#include "util/json_util.h" #include "util/metrics.h" #include "util/string_util.h" #include "util/thrift_rpc_helper.h" diff --git a/be/src/http/action/stream_load.h b/be/src/http/action/stream_load.h index 2dc3c762ad..3c44a77bb4 100644 --- a/be/src/http/action/stream_load.h +++ b/be/src/http/action/stream_load.h @@ -17,18 +17,23 @@ #pragma once -#include +#include + +#include +#include +#include -#include "gen_cpp/PlanNodes_types.h" #include "http/http_handler.h" #include "runtime/client_cache.h" #include "runtime/message_body_sink.h" +#include "util/metrics.h" namespace doris { class ExecEnv; class Status; class StreamLoadContext; +class HttpRequest; class StreamLoadAction : public HttpHandler { public: diff --git a/be/src/http/action/stream_load_2pc.cpp b/be/src/http/action/stream_load_2pc.cpp index 3a5690cb8f..ce3a8961b2 100644 --- a/be/src/http/action/stream_load_2pc.cpp +++ b/be/src/http/action/stream_load_2pc.cpp @@ -17,18 +17,25 @@ #include "http/action/stream_load_2pc.h" +#include +#include #include #include +#include +#include +#include +#include + #include "common/status.h" #include "http/http_channel.h" -#include "http/http_headers.h" +#include "http/http_common.h" #include "http/http_request.h" #include "http/http_status.h" #include "http/utils.h" +#include "runtime/exec_env.h" #include "runtime/stream_load/stream_load_context.h" #include "runtime/stream_load/stream_load_executor.h" -#include "util/json_util.h" namespace doris { diff --git a/be/src/http/action/stream_load_2pc.h b/be/src/http/action/stream_load_2pc.h index 1a1013a12b..fdf39873e2 100644 --- a/be/src/http/action/stream_load_2pc.h +++ b/be/src/http/action/stream_load_2pc.h @@ -24,6 +24,7 @@ namespace doris { class ExecEnv; +class HttpRequest; class StreamLoad2PCAction : public HttpHandler { public: diff --git a/be/src/http/action/tablet_migration_action.cpp b/be/src/http/action/tablet_migration_action.cpp index 6cb05d13a0..3f0fbed297 100644 --- a/be/src/http/action/tablet_migration_action.cpp +++ b/be/src/http/action/tablet_migration_action.cpp @@ -17,17 +17,20 @@ #include "http/action/tablet_migration_action.h" +#include + +#include #include -#include "gutil/strings/substitute.h" +#include "common/config.h" #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" #include "http/http_status.h" +#include "olap/data_dir.h" #include "olap/storage_engine.h" #include "olap/tablet_manager.h" #include "olap/task/engine_storage_migration_task.h" -#include "util/json_util.h" namespace doris { diff --git a/be/src/http/action/tablet_migration_action.h b/be/src/http/action/tablet_migration_action.h index 4e5a92b877..aee9a65d12 100644 --- a/be/src/http/action/tablet_migration_action.h +++ b/be/src/http/action/tablet_migration_action.h @@ -17,16 +17,28 @@ #pragma once +#include +#include + +#include +#include +#include +#include +#include #include +#include #include "common/status.h" -#include "gen_cpp/Status_types.h" +#include "gutil/stringprintf.h" +#include "gutil/strings/numbers.h" #include "http/http_handler.h" #include "olap/data_dir.h" #include "olap/tablet.h" #include "util/threadpool.h" namespace doris { +class DataDir; +class HttpRequest; // Migrate a tablet from a disk to another. class TabletMigrationAction : public HttpHandler { diff --git a/be/src/http/action/tablets_distribution_action.cpp b/be/src/http/action/tablets_distribution_action.cpp index 6bb7b5ab6f..605f900b17 100644 --- a/be/src/http/action/tablets_distribution_action.cpp +++ b/be/src/http/action/tablets_distribution_action.cpp @@ -17,7 +17,14 @@ #include "http/action/tablets_distribution_action.h" +#include + +#include +#include +#include #include +#include +#include #include "common/status.h" #include "gutil/strings/substitute.h" @@ -25,10 +32,11 @@ #include "http/http_headers.h" #include "http/http_request.h" #include "http/http_status.h" +#include "olap/data_dir.h" +#include "olap/olap_common.h" #include "olap/storage_engine.h" #include "olap/tablet_manager.h" #include "service/backend_options.h" -#include "util/json_util.h" namespace doris { diff --git a/be/src/http/action/tablets_distribution_action.h b/be/src/http/action/tablets_distribution_action.h index 218882d6c2..0e400f9feb 100644 --- a/be/src/http/action/tablets_distribution_action.h +++ b/be/src/http/action/tablets_distribution_action.h @@ -17,12 +17,15 @@ #pragma once +#include + #include #include "http/http_handler.h" #include "util/easy_json.h" namespace doris { +class HttpRequest; // Get BE tablets distribution info from http API. class TabletsDistributionAction : public HttpHandler { diff --git a/be/src/http/action/tablets_info_action.cpp b/be/src/http/action/tablets_info_action.cpp index 56ccbc09a8..656fbdf158 100644 --- a/be/src/http/action/tablets_info_action.cpp +++ b/be/src/http/action/tablets_info_action.cpp @@ -17,12 +17,21 @@ #include "http/action/tablets_info_action.h" -#include +#include +#include +#include +#include +#include +#include +#include + +#include "gutil/strings/numbers.h" #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" #include "http/http_status.h" +#include "olap/olap_common.h" #include "olap/storage_engine.h" #include "olap/tablet_manager.h" #include "service/backend_options.h" diff --git a/be/src/http/action/tablets_info_action.h b/be/src/http/action/tablets_info_action.h index f21045bfae..22f8634faf 100644 --- a/be/src/http/action/tablets_info_action.h +++ b/be/src/http/action/tablets_info_action.h @@ -23,6 +23,7 @@ #include "util/easy_json.h" namespace doris { +class HttpRequest; // Get BE tablets info from http API. class TabletsInfoAction : public HttpHandler { diff --git a/be/src/http/action/version_action.cpp b/be/src/http/action/version_action.cpp index c9cb908522..18b05ed3c4 100644 --- a/be/src/http/action/version_action.cpp +++ b/be/src/http/action/version_action.cpp @@ -17,14 +17,13 @@ #include "http/action/version_action.h" -#include +#include + #include -#include "gen_cpp/version.h" #include "http/http_channel.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" #include "util/easy_json.h" diff --git a/be/src/http/action/version_action.h b/be/src/http/action/version_action.h index 7695ad9fe4..e78e19f37c 100644 --- a/be/src/http/action/version_action.h +++ b/be/src/http/action/version_action.h @@ -23,6 +23,7 @@ namespace doris { class ExecEnv; +class HttpRequest; // Get BE version info from http API. class VersionAction : public HttpHandler { diff --git a/be/src/http/default_path_handlers.cpp b/be/src/http/default_path_handlers.cpp index b4c837f3d8..539268f693 100644 --- a/be/src/http/default_path_handlers.cpp +++ b/be/src/http/default_path_handlers.cpp @@ -17,24 +17,32 @@ #include "http/default_path_handlers.h" -#include +#include + +#include #ifdef USE_JEMALLOC #include "jemalloc/jemalloc.h" #else #include #endif -#include +#include +#include +#include +#include #include +#include +#include +#include -#include "agent/utils.h" -#include "common/configbase.h" +#include "common/config.h" #include "gutil/strings/numbers.h" #include "gutil/strings/substitute.h" #include "http/action/tablets_info_action.h" #include "http/web_page_handler.h" +#include "runtime/memory/mem_tracker.h" #include "runtime/memory/mem_tracker_limiter.h" -#include "util/debug_util.h" +#include "util/easy_json.h" #include "util/mem_info.h" #include "util/perf_counters.h" #include "util/pretty_printer.h" diff --git a/be/src/http/ev_http_server.cpp b/be/src/http/ev_http_server.cpp index bef87541a3..ccea181a8f 100644 --- a/be/src/http/ev_http_server.cpp +++ b/be/src/http/ev_http_server.cpp @@ -17,14 +17,20 @@ #include "http/ev_http_server.h" -#include -#include +#include +#include +#include +#include #include #include #include -#include #include +#include +#include +#include +#include +#include #include #include @@ -33,12 +39,13 @@ #include "http/http_handler.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "runtime/thread_context.h" +#include "http/http_status.h" #include "service/backend_options.h" -#include "service/brpc.h" -#include "util/debug_util.h" #include "util/threadpool.h" +struct event_base; +struct evhttp; + namespace doris { static void on_chunked(struct evhttp_request* ev_req, void* param) { diff --git a/be/src/http/ev_http_server.h b/be/src/http/ev_http_server.h index 7263b2f3ef..5ba634b219 100644 --- a/be/src/http/ev_http_server.h +++ b/be/src/http/ev_http_server.h @@ -17,6 +17,7 @@ #pragma once +#include #include #include #include @@ -26,6 +27,8 @@ #include "http/http_method.h" #include "util/path_trie.hpp" +struct event_base; + namespace doris { class HttpHandler; diff --git a/be/src/http/http_channel.cpp b/be/src/http/http_channel.cpp index 4a06a4e7f5..5727ba3902 100644 --- a/be/src/http/http_channel.cpp +++ b/be/src/http/http_channel.cpp @@ -20,16 +20,19 @@ #include #include -#include +#include #include #include +#include #include "common/logging.h" +#include "common/status.h" #include "gutil/strings/split.h" +#include "gutil/strings/strip.h" #include "http/http_headers.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" +#include "util/slice.h" #include "util/zlib.h" namespace doris { diff --git a/be/src/http/http_channel.h b/be/src/http/http_channel.h index 83b696a409..a12eddb535 100644 --- a/be/src/http/http_channel.h +++ b/be/src/http/http_channel.h @@ -17,6 +17,8 @@ #pragma once +#include + #include #include diff --git a/be/src/http/http_client.cpp b/be/src/http/http_client.cpp index 0cb5b97ec4..0919d21d38 100644 --- a/be/src/http/http_client.cpp +++ b/be/src/http/http_client.cpp @@ -17,6 +17,12 @@ #include "http/http_client.h" +#include +#include + +#include +#include + #include "common/config.h" #include "util/stack_util.h" diff --git a/be/src/http/http_client.h b/be/src/http/http_client.h index b9605afb0f..7ec714587a 100644 --- a/be/src/http/http_client.h +++ b/be/src/http/http_client.h @@ -18,8 +18,11 @@ #pragma once #include +#include +#include #include +#include #include #include "common/status.h" diff --git a/be/src/http/http_method.cpp b/be/src/http/http_method.cpp index c7a95905b1..9986f3c653 100644 --- a/be/src/http/http_method.cpp +++ b/be/src/http/http_method.cpp @@ -19,6 +19,7 @@ #include #include +#include namespace doris { diff --git a/be/src/http/http_request.cpp b/be/src/http/http_request.cpp index c3228f7a58..14bde591b4 100644 --- a/be/src/http/http_request.cpp +++ b/be/src/http/http_request.cpp @@ -18,19 +18,16 @@ #include "http/http_request.h" #include -#include #include #include #include -#include #include #include -#include +#include +#include -#include "common/logging.h" #include "http/http_handler.h" -#include "util/url_coding.h" namespace doris { diff --git a/be/src/http/http_status.cpp b/be/src/http/http_status.cpp index 415be0b835..b716ff269f 100644 --- a/be/src/http/http_status.cpp +++ b/be/src/http/http_status.cpp @@ -19,6 +19,7 @@ #include #include +#include namespace doris { diff --git a/be/src/http/utils.cpp b/be/src/http/utils.cpp index ec793b9c30..fe11738d5a 100644 --- a/be/src/http/utils.cpp +++ b/be/src/http/utils.cpp @@ -18,15 +18,23 @@ #include "http/utils.h" #include +#include #include +#include + +#include +#include +#include #include "common/logging.h" #include "common/status.h" #include "common/utils.h" #include "http/http_channel.h" -#include "http/http_common.h" #include "http/http_headers.h" +#include "http/http_method.h" #include "http/http_request.h" +#include "http/http_status.h" +#include "io/fs/file_system.h" #include "io/fs/local_file_system.h" #include "util/path_util.h" #include "util/url_coding.h" diff --git a/be/src/http/utils.h b/be/src/http/utils.h index a120c67cbf..f9b09b3017 100644 --- a/be/src/http/utils.h +++ b/be/src/http/utils.h @@ -26,6 +26,7 @@ namespace doris { class HttpRequest; +struct AuthInfo; std::string encode_basic_auth(const std::string& user, const std::string& passwd); // parse Basic authorization diff --git a/be/src/http/web_page_handler.cpp b/be/src/http/web_page_handler.cpp index 20e6a00185..c6def7ff0f 100644 --- a/be/src/http/web_page_handler.cpp +++ b/be/src/http/web_page_handler.cpp @@ -17,22 +17,28 @@ #include "http/web_page_handler.h" -#include +#include -#include "common/config.h" +#include +#include + +#include "common/logging.h" +#include "common/status.h" #include "gutil/stl_util.h" +#include "gutil/strings/numbers.h" #include "gutil/strings/substitute.h" #include "http/ev_http_server.h" #include "http/http_channel.h" #include "http/http_headers.h" +#include "http/http_method.h" #include "http/http_request.h" -#include "http/http_response.h" #include "http/http_status.h" #include "http/utils.h" #include "io/fs/local_file_system.h" #include "util/cpu_info.h" #include "util/debug_util.h" #include "util/disk_info.h" +#include "util/easy_json.h" #include "util/mem_info.h" #include "util/mustache/mustache.h" diff --git a/be/src/http/web_page_handler.h b/be/src/http/web_page_handler.h index e55197a716..9ab304d96f 100644 --- a/be/src/http/web_page_handler.h +++ b/be/src/http/web_page_handler.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include "http/http_handler.h" @@ -30,6 +31,8 @@ namespace doris { class EvHttpServer; +class EasyJson; +class HttpRequest; // This a handler for webpage request // and this handler manage all the page handler diff --git a/be/src/io/fs/file_reader_writer_fwd.h b/be/src/io/fs/file_reader_writer_fwd.h index a0e3078095..e63c5395de 100644 --- a/be/src/io/fs/file_reader_writer_fwd.h +++ b/be/src/io/fs/file_reader_writer_fwd.h @@ -19,6 +19,9 @@ // and modified by Doris #pragma once + +#include + namespace doris { namespace io { diff --git a/be/src/io/fs/hdfs.h b/be/src/io/fs/hdfs.h index eb9e1b2c07..c260ff9dea 100644 --- a/be/src/io/fs/hdfs.h +++ b/be/src/io/fs/hdfs.h @@ -18,7 +18,7 @@ #pragma once #ifdef USE_HADOOP_HDFS -#include +#include // IWYU pragma: export #else -#include +#include // IWYU pragma: export #endif diff --git a/be/src/io/fs/hdfs_file_reader.h b/be/src/io/fs/hdfs_file_reader.h index 2b10baa602..cfb53eae39 100644 --- a/be/src/io/fs/hdfs_file_reader.h +++ b/be/src/io/fs/hdfs_file_reader.h @@ -17,11 +17,23 @@ #pragma once +#include + +#include +#include +#include + +#include "common/status.h" #include "io/fs/file_reader.h" +#include "io/fs/file_system.h" +#include "io/fs/hdfs.h" #include "io/fs/hdfs_file_system.h" +#include "io/fs/path.h" +#include "util/slice.h" namespace doris { namespace io { +class IOContext; class HdfsFileReader : public FileReader { public: diff --git a/be/src/io/fs/hdfs_file_writer.h b/be/src/io/fs/hdfs_file_writer.h index 92130a93c2..c9b3ff9def 100644 --- a/be/src/io/fs/hdfs_file_writer.h +++ b/be/src/io/fs/hdfs_file_writer.h @@ -17,18 +17,25 @@ #pragma once +#include + #include #include +#include "common/status.h" #include "gen_cpp/PlanNodes_types.h" +#include "io/fs/file_system.h" #include "io/fs/file_writer.h" +#include "io/fs/hdfs.h" #include "io/fs/path.h" #include "io/hdfs_builder.h" +#include "util/slice.h" namespace doris { namespace io { class HdfsFileSystem; + class HdfsFileWriter : public FileWriter { public: HdfsFileWriter(Path file, FileSystemSPtr fs); diff --git a/be/src/service/backend_options.cpp b/be/src/service/backend_options.cpp index bad73b0c82..3b1652ef43 100644 --- a/be/src/service/backend_options.cpp +++ b/be/src/service/backend_options.cpp @@ -18,6 +18,7 @@ #include "service/backend_options.h" #include +#include #include "common/config.h" #include "common/logging.h" diff --git a/be/src/service/backend_options.h b/be/src/service/backend_options.h index 5d28edbf12..87ca36b17a 100644 --- a/be/src/service/backend_options.h +++ b/be/src/service/backend_options.h @@ -17,6 +17,7 @@ #pragma once +#include #include #include diff --git a/be/src/service/backend_service.cpp b/be/src/service/backend_service.cpp index 3ec71b8b37..977d9cfc02 100644 --- a/be/src/service/backend_service.cpp +++ b/be/src/service/backend_service.cpp @@ -18,43 +18,53 @@ #include "service/backend_service.h" #include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include -#include +#include #include #include +#include +#include #include "common/config.h" #include "common/logging.h" #include "common/status.h" -#include "gen_cpp/DorisExternalService_types.h" -#include "gen_cpp/PaloInternalService_types.h" -#include "gen_cpp/TDorisExternalService.h" -#include "gen_cpp/Types_types.h" #include "gutil/strings/substitute.h" +#include "olap/olap_common.h" +#include "olap/olap_define.h" #include "olap/storage_engine.h" -#include "runtime/descriptors.h" +#include "olap/tablet_manager.h" #include "runtime/exec_env.h" -#include "runtime/export_task_mgr.h" #include "runtime/external_scan_context_mgr.h" #include "runtime/fragment_mgr.h" -#include "runtime/primitive_type.h" -#include "runtime/result_buffer_mgr.h" #include "runtime/result_queue_mgr.h" #include "runtime/routine_load/routine_load_task_executor.h" #include "runtime/stream_load/stream_load_context.h" -#include "service/backend_options.h" +#include "runtime/stream_load/stream_load_recorder.h" #include "util/arrow/row_batch.h" -#include "util/blocking_queue.hpp" -#include "util/debug_util.h" -#include "util/doris_metrics.h" -#include "util/network_util.h" #include "util/thrift_server.h" -#include "util/thrift_util.h" #include "util/uid_util.h" -#include "util/url_coding.h" + +namespace apache { +namespace thrift { +class TException; +class TMultiplexedProcessor; +class TProcessor; +namespace transport { +class TTransportException; +} // namespace transport +} // namespace thrift +} // namespace apache namespace doris { diff --git a/be/src/service/backend_service.h b/be/src/service/backend_service.h index 64a06e34ec..35a9ba8abc 100644 --- a/be/src/service/backend_service.h +++ b/be/src/service/backend_service.h @@ -17,17 +17,20 @@ #pragma once +#include +#include +#include +#include #include #include #include #include +#include +#include #include "agent/agent_server.h" #include "common/status.h" -#include "gen_cpp/BackendService.h" -#include "gen_cpp/DorisExternalService_types.h" -#include "gen_cpp/TDorisExternalService.h" namespace doris { @@ -57,6 +60,20 @@ class TExportTaskRequest; class TExportStatusResult; class TStreamLoadRecordResult; class TDiskTrashInfo; +class TCancelPlanFragmentParams; +class TCheckStorageFormatResult; +class TRoutineLoadTask; +class TScanBatchResult; +class TScanCloseParams; +class TScanCloseResult; +class TScanNextBatchParams; +class TScanOpenParams; +class TScanOpenResult; +class TSnapshotRequest; +class TStatus; +class TTabletStatResult; +class TTransmitDataParams; +class TUniqueId; // This class just forward rpc for actual handler // make this class because we can bind multiple service on single point diff --git a/be/src/service/brpc_service.cpp b/be/src/service/brpc_service.cpp index e606fd8c85..35989f29dc 100644 --- a/be/src/service/brpc_service.cpp +++ b/be/src/service/brpc_service.cpp @@ -17,11 +17,18 @@ #include "service/brpc_service.h" +#include +#include +#include +#include +#include #include +#include + +#include "common/config.h" #include "common/logging.h" #include "service/backend_options.h" -#include "service/brpc.h" #include "service/internal_service.h" namespace brpc { diff --git a/be/src/service/doris_main.cpp b/be/src/service/doris_main.cpp index b3fd6e07ac..ab91661b5f 100644 --- a/be/src/service/doris_main.cpp +++ b/be/src/service/doris_main.cpp @@ -15,18 +15,28 @@ // specific language governing permissions and limitations // under the License. +#include +#include #include +#include #include #include -#include +#include +#include +#include +#include #include -#include +#include #include -#include -#include -#include +#include +#include +#include +#include +#include "olap/tablet_schema_cache.h" +#include "olap/utils.h" +#include "runtime/memory/mem_tracker_limiter.h" #include "util/jni-util.h" #if defined(LEAK_SANITIZER) @@ -34,39 +44,35 @@ #endif #include -#include #include #include "agent/heartbeat_server.h" -#include "agent/topic_subscriber.h" #include "common/config.h" #include "common/daemon.h" #include "common/logging.h" #include "common/resource_tls.h" #include "common/signal_handler.h" #include "common/status.h" -#include "common/utils.h" #include "io/cache/block/block_file_cache_factory.h" #include "olap/options.h" #include "olap/storage_engine.h" #include "runtime/exec_env.h" -#include "runtime/heartbeat_flags.h" #include "service/backend_options.h" #include "service/backend_service.h" #include "service/brpc_service.h" #include "service/http_service.h" #include "service/single_replica_load_download_service.h" #include "util/debug_util.h" -#include "util/doris_metrics.h" -#include "util/perf_counters.h" #include "util/telemetry/telemetry.h" #include "util/thrift_rpc_helper.h" #include "util/thrift_server.h" #include "util/uid_util.h" -static void help(const char*); +namespace doris { +class TMasterInfo; +} // namespace doris -#include +static void help(const char*); extern "C" { void __lsan_do_leak_check(); diff --git a/be/src/service/http_service.cpp b/be/src/service/http_service.cpp index 3280ac0e6f..91e2a85044 100644 --- a/be/src/service/http_service.cpp +++ b/be/src/service/http_service.cpp @@ -17,6 +17,10 @@ #include "service/http_service.h" +#include +#include +#include + #include "http/action/check_rpc_channel_action.h" #include "http/action/check_tablet_segment_action.h" #include "http/action/checksum_action.h" @@ -43,6 +47,7 @@ #include "http/ev_http_server.h" #include "http/http_method.h" #include "http/web_page_handler.h" +#include "olap/options.h" #include "runtime/exec_env.h" #include "runtime/load_path_mgr.h" #include "util/doris_metrics.h" diff --git a/be/src/service/internal_service.cpp b/be/src/service/internal_service.cpp index 4a337f0f1e..1cf6323587 100644 --- a/be/src/service/internal_service.cpp +++ b/be/src/service/internal_service.cpp @@ -17,54 +17,92 @@ #include "service/internal_service.h" +#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include +#include #include +#include +#include #include #include #include +#include #include #include "common/config.h" -#include "common/consts.h" -#include "gen_cpp/BackendService.h" -#include "gen_cpp/PaloInternalService_types.h" -#include "gen_cpp/internal_service.pb.h" +#include "common/logging.h" +#include "gutil/integral_types.h" #include "http/http_client.h" +#include "io/fs/stream_load_pipe.h" +#include "io/io_common.h" +#include "olap/data_dir.h" +#include "olap/olap_common.h" #include "olap/rowset/beta_rowset.h" +#include "olap/rowset/rowset.h" #include "olap/rowset/rowset_factory.h" +#include "olap/rowset/rowset_meta.h" #include "olap/rowset/segment_v2/column_reader.h" +#include "olap/rowset/segment_v2/common.h" +#include "olap/rowset/segment_v2/segment.h" #include "olap/segment_loader.h" #include "olap/storage_engine.h" #include "olap/tablet.h" +#include "olap/tablet_manager.h" #include "olap/tablet_schema.h" +#include "olap/txn_manager.h" +#include "olap/utils.h" #include "runtime/buffer_control_block.h" +#include "runtime/cache/result_cache.h" +#include "runtime/define_primitive_type.h" +#include "runtime/descriptors.h" #include "runtime/exec_env.h" #include "runtime/fold_constant_executor.h" #include "runtime/fragment_mgr.h" #include "runtime/load_channel_mgr.h" #include "runtime/result_buffer_mgr.h" #include "runtime/routine_load/routine_load_task_executor.h" -#include "runtime/runtime_state.h" +#include "runtime/stream_load/new_load_stream_mgr.h" +#include "runtime/stream_load/stream_load_context.h" #include "runtime/thread_context.h" -#include "service/brpc.h" +#include "runtime/types.h" #include "service/point_query_executor.h" #include "util/async_io.h" #include "util/brpc_client_cache.h" -#include "util/defer_op.h" +#include "util/doris_metrics.h" #include "util/md5.h" +#include "util/metrics.h" #include "util/proto_util.h" #include "util/ref_count_closure.h" -#include "util/s3_uri.h" +#include "util/runtime_profile.h" +#include "util/stopwatch.hpp" #include "util/string_util.h" #include "util/telemetry/brpc_carrier.h" #include "util/telemetry/telemetry.h" #include "util/thrift_util.h" +#include "util/time.h" #include "util/uid_util.h" +#include "vec/columns/column.h" #include "vec/core/block.h" -#include "vec/data_types/data_type_string.h" +#include "vec/core/column_with_type_and_name.h" +#include "vec/data_types/data_type.h" #include "vec/exec/format/csv/csv_reader.h" #include "vec/exec/format/generic_reader.h" #include "vec/exec/format/json/new_json_reader.h" @@ -72,6 +110,12 @@ #include "vec/exec/format/parquet/vparquet_reader.h" #include "vec/runtime/vdata_stream_mgr.h" +namespace google { +namespace protobuf { +class RpcController; +} // namespace protobuf +} // namespace google + namespace doris { using namespace ErrorCode; diff --git a/be/src/service/internal_service.h b/be/src/service/internal_service.h index 2730839ffb..1b1e56d0cf 100644 --- a/be/src/service/internal_service.h +++ b/be/src/service/internal_service.h @@ -17,11 +17,22 @@ #pragma once +#include +#include + +#include + #include "common/status.h" -#include "gen_cpp/internal_service.pb.h" #include "runtime/cache/result_cache.h" #include "util/priority_thread_pool.hpp" +namespace google { +namespace protobuf { +class Closure; +class RpcController; +} // namespace protobuf +} // namespace google + namespace brpc { class Controller; } @@ -29,6 +40,8 @@ class Controller; namespace doris { class ExecEnv; +class PHandShakeRequest; +class PHandShakeResponse; class PInternalServiceImpl : public PBackendService { public: diff --git a/be/src/service/point_query_executor.cpp b/be/src/service/point_query_executor.cpp index f57547d003..ed42c0c9c4 100644 --- a/be/src/service/point_query_executor.cpp +++ b/be/src/service/point_query_executor.cpp @@ -17,18 +17,27 @@ #include "service/point_query_executor.h" +#include +#include +#include +#include +#include + #include "olap/lru_cache.h" +#include "olap/olap_tuple.h" #include "olap/row_cursor.h" #include "olap/storage_engine.h" -#include "service/internal_service.h" -#include "util/defer_op.h" +#include "olap/tablet_manager.h" +#include "olap/tablet_schema.h" +#include "runtime/runtime_state.h" #include "util/key_util.h" #include "util/runtime_profile.h" #include "util/thrift_util.h" #include "vec/exprs/vexpr.h" -#include "vec/exprs/vliteral.h" +#include "vec/exprs/vexpr_context.h" #include "vec/jsonb/serialize.h" #include "vec/sink/vmysql_result_writer.cpp" +#include "vec/sink/vmysql_result_writer.h" namespace doris { diff --git a/be/src/service/point_query_executor.h b/be/src/service/point_query_executor.h index 3f4a0426a1..69fa6850e9 100644 --- a/be/src/service/point_query_executor.h +++ b/be/src/service/point_query_executor.h @@ -17,22 +17,53 @@ #pragma once +#include +#include +#include +#include +#include +#include +#include +#include + +#include #include +#include +#include +#include +#include +#include +#include #include "butil/containers/doubly_buffered_data.h" +#include "common/config.h" +#include "common/logging.h" #include "common/status.h" -#include "gen_cpp/internal_service.pb.h" #include "gutil/int128.h" +#include "olap/lru_cache.h" #include "olap/olap_common.h" #include "olap/rowset/rowset.h" #include "olap/tablet.h" +#include "olap/utils.h" +#include "runtime/descriptors.h" +#include "util/mysql_global.h" #include "util/runtime_profile.h" +#include "util/slice.h" #include "vec/core/block.h" namespace doris { class RowCache; class Cache; +class PTabletKeyLookupRequest; +class PTabletKeyLookupResponse; +class RuntimeState; +class TDescriptorTable; +class TExpr; + +namespace vectorized { +class VExprContext; +} // namespace vectorized // For caching point lookup pre allocted blocks and exprs class Reusable { diff --git a/be/src/service/single_replica_load_download_service.cpp b/be/src/service/single_replica_load_download_service.cpp index 1cee6c677a..0e48c6760f 100644 --- a/be/src/service/single_replica_load_download_service.cpp +++ b/be/src/service/single_replica_load_download_service.cpp @@ -17,9 +17,15 @@ #include "service/single_replica_load_download_service.h" +#include +#include +#include + #include "http/action/download_action.h" #include "http/ev_http_server.h" +#include "http/http_method.h" #include "io/fs/fs_utils.h" +#include "olap/options.h" #include "runtime/exec_env.h" namespace doris { diff --git a/be/src/udf/udf.cpp b/be/src/udf/udf.cpp index d57d1cc3ae..37c8e72d17 100644 --- a/be/src/udf/udf.cpp +++ b/be/src/udf/udf.cpp @@ -20,23 +20,14 @@ #include "udf/udf.h" -#include - #include -#include - -#include "common/logging.h" -#include "gen_cpp/types.pb.h" -#include "olap/hll.h" -#include "runtime/decimalv2_value.h" +#include // Be careful what this includes since this needs to be linked into the UDF's // binary. For example, it would be unfortunate if they had a random dependency // on libhdfs. #include "runtime/runtime_state.h" #include "runtime/types.h" -#include "udf/udf.h" -#include "util/debug_util.h" #include "vec/common/string_ref.h" namespace doris { diff --git a/be/src/udf/udf.h b/be/src/udf/udf.h index 3d7d960038..bec07e8363 100644 --- a/be/src/udf/udf.h +++ b/be/src/udf/udf.h @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "runtime/types.h" @@ -38,7 +39,6 @@ class BitmapValue; class DecimalV2Value; class CollectionValue; struct TypeDescriptor; - class RuntimeState; // All input and output values will be one of the structs below. The struct is a simple // object containing a boolean to store if the value is nullptr and the value itself. The diff --git a/be/src/util/sse_util.hpp b/be/src/util/sse_util.hpp index 60f1950a65..1d00a54fba 100644 --- a/be/src/util/sse_util.hpp +++ b/be/src/util/sse_util.hpp @@ -21,10 +21,10 @@ #pragma once #if defined(__aarch64__) -#include +#include // IWYU pragma: export #elif defined(__x86_64__) -#include -#include +#include // IWYU pragma: export +#include // IWYU pragma: export #endif namespace doris {