trace_processor: create sqlite folder and extract initial pieces
To advance the work on the refactor, we need SqliteTable to be isolated in its
own component. Because of this, pull it out along with all its dependenices into
a "sqlite" module.
There are many more classes which could also be pulled out but for now we're doing
the minimum possible.
Bug: 135177627
Change-Id: I8d0d6fe06f1ce1fa850f66718fcba19a6777d52f
diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn
index 4596944..7d25d49 100644
--- a/src/trace_processor/BUILD.gn
+++ b/src/trace_processor/BUILD.gn
@@ -28,7 +28,6 @@
deps = [
":lib",
"../../gn:default_deps",
- "../../gn:sqlite",
"../../include/perfetto/ext/base",
"../../protos/perfetto/trace_processor:lite",
]
@@ -98,8 +97,6 @@
"proto_trace_parser.h",
"proto_trace_tokenizer.cc",
"proto_trace_tokenizer.h",
- "query_constraints.cc",
- "query_constraints.h",
"raw_table.cc",
"raw_table.h",
"row_iterators.cc",
@@ -117,8 +114,6 @@
"sql_stats_table.h",
"sqlite3_str_split.cc",
"sqlite3_str_split.h",
- "sqlite_table.cc",
- "sqlite_table.h",
"sqlite_utils.h",
"stack_profile_callsite_table.cc",
"stack_profile_callsite_table.h",
@@ -171,8 +166,8 @@
]
deps = [
- ":sqlite",
"../../gn:default_deps",
+ "../../gn:sqlite",
"../../gn:zlib",
"../../include/perfetto/ext/traced:sys_stats_counters",
"../../protos/perfetto/common:zero",
@@ -195,6 +190,7 @@
"../protozero",
"db:lib",
"metrics:lib",
+ "sqlite",
]
public_deps = [
"../../include/perfetto/trace_processor",
@@ -251,7 +247,6 @@
"process_table_unittest.cc",
"process_tracker_unittest.cc",
"proto_trace_parser_unittest.cc",
- "query_constraints_unittest.cc",
"sched_slice_table_unittest.cc",
"slice_tracker_unittest.cc",
"span_join_operator_table_unittest.cc",
@@ -264,9 +259,9 @@
]
deps = [
":lib",
- ":sqlite",
"../../gn:default_deps",
"../../gn:gtest_and_gmock",
+ "../../gn:sqlite",
"../../protos/perfetto/common:zero",
"../../protos/perfetto/trace:zero",
"../../protos/perfetto/trace/android:zero",
@@ -280,6 +275,8 @@
"../base",
"../protozero",
"db:unittests",
+ "sqlite",
+ "sqlite:unittests",
]
if (perfetto_build_standalone || build_with_chromium) {
sources += [
@@ -291,16 +288,6 @@
}
}
-# Indirection target to allow modifying the path to the SQLite header.
-source_set("sqlite") {
- sources = [
- "sqlite.h",
- ]
- public_deps = [
- "../../gn:sqlite",
- ]
-}
-
source_set("integrationtests") {
testonly = true
sources = [
@@ -308,13 +295,13 @@
]
deps = [
":lib",
- ":sqlite",
"../../gn:default_deps",
"../../gn:gtest_and_gmock",
"../../protos/perfetto/trace:lite",
"../../protos/perfetto/trace_processor:lite",
"../base",
"../base:test_support",
+ "sqlite",
]
if (perfetto_build_standalone || build_with_chromium) {
deps += [ "../../gn:jsoncpp" ]
diff --git a/src/trace_processor/metrics/BUILD.gn b/src/trace_processor/metrics/BUILD.gn
index efe6781..2713ed7 100644
--- a/src/trace_processor/metrics/BUILD.gn
+++ b/src/trace_processor/metrics/BUILD.gn
@@ -65,8 +65,8 @@
"metrics.h",
]
deps = [
- "../:sqlite",
"../../../gn:default_deps",
+ "../../../gn:sqlite",
"../../../include/perfetto/trace_processor",
"../../../protos/perfetto/common:zero",
"../../../protos/perfetto/metrics:zero",
@@ -74,6 +74,7 @@
"../../../protos/perfetto/trace_processor:metrics_impl_zero",
"../../base",
"../../protozero:protozero",
+ "../sqlite",
]
public_deps = [
":gen_merged_sql_metrics",
diff --git a/src/trace_processor/metrics/metrics.h b/src/trace_processor/metrics/metrics.h
index de9de6e..77dfe17 100644
--- a/src/trace_processor/metrics/metrics.h
+++ b/src/trace_processor/metrics/metrics.h
@@ -27,7 +27,7 @@
#include "perfetto/trace_processor/trace_processor.h"
#include "src/trace_processor/metrics/descriptors.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
#include "perfetto/trace_processor/metrics_impl.pbzero.h"
diff --git a/src/trace_processor/process_table.cc b/src/trace_processor/process_table.cc
index c409989..70c3cda 100644
--- a/src/trace_processor/process_table.cc
+++ b/src/trace_processor/process_table.cc
@@ -17,7 +17,7 @@
#include "src/trace_processor/process_table.h"
#include "perfetto/base/logging.h"
-#include "src/trace_processor/query_constraints.h"
+#include "src/trace_processor/sqlite/query_constraints.h"
#include "src/trace_processor/sqlite_utils.h"
namespace perfetto {
diff --git a/src/trace_processor/process_table.h b/src/trace_processor/process_table.h
index 95fcf6c..4c8b208 100644
--- a/src/trace_processor/process_table.h
+++ b/src/trace_processor/process_table.h
@@ -20,7 +20,7 @@
#include <limits>
#include <memory>
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/trace_storage.h"
namespace perfetto {
diff --git a/src/trace_processor/scoped_db.h b/src/trace_processor/scoped_db.h
index 8d92756..c45ba94 100644
--- a/src/trace_processor/scoped_db.h
+++ b/src/trace_processor/scoped_db.h
@@ -18,7 +18,7 @@
#define SRC_TRACE_PROCESSOR_SCOPED_DB_H_
#include "perfetto/ext/base/scoped_file.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
extern "C" {
struct sqlite3;
diff --git a/src/trace_processor/span_join_operator_table.cc b/src/trace_processor/span_join_operator_table.cc
index eed3511..9c17c90 100644
--- a/src/trace_processor/span_join_operator_table.cc
+++ b/src/trace_processor/span_join_operator_table.cc
@@ -25,7 +25,7 @@
#include "perfetto/ext/base/string_splitter.h"
#include "perfetto/ext/base/string_utils.h"
#include "perfetto/ext/base/string_view.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
#include "src/trace_processor/sqlite_utils.h"
namespace perfetto {
diff --git a/src/trace_processor/span_join_operator_table.h b/src/trace_processor/span_join_operator_table.h
index a130b9d..fe42ebc 100644
--- a/src/trace_processor/span_join_operator_table.h
+++ b/src/trace_processor/span_join_operator_table.h
@@ -29,8 +29,8 @@
#include "perfetto/trace_processor/basic_types.h"
#include "perfetto/trace_processor/status.h"
#include "src/trace_processor/scoped_db.h"
-#include "src/trace_processor/sqlite.h"
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/sql_stats_table.cc b/src/trace_processor/sql_stats_table.cc
index b7a3e7b..3f2888c 100644
--- a/src/trace_processor/sql_stats_table.cc
+++ b/src/trace_processor/sql_stats_table.cc
@@ -20,7 +20,7 @@
#include <bitset>
#include <numeric>
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
#include "src/trace_processor/sqlite_utils.h"
#include "src/trace_processor/trace_storage.h"
diff --git a/src/trace_processor/sql_stats_table.h b/src/trace_processor/sql_stats_table.h
index ae58477..0ff06a7 100644
--- a/src/trace_processor/sql_stats_table.h
+++ b/src/trace_processor/sql_stats_table.h
@@ -20,7 +20,7 @@
#include <limits>
#include <memory>
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/sqlite/BUILD.gn b/src/trace_processor/sqlite/BUILD.gn
new file mode 100644
index 0000000..b032682
--- /dev/null
+++ b/src/trace_processor/sqlite/BUILD.gn
@@ -0,0 +1,44 @@
+# Copyright (C) 2019 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+source_set("sqlite") {
+ sources = [
+ "query_constraints.cc",
+ "query_constraints.h",
+ "sqlite.h",
+ "sqlite_table.cc",
+ "sqlite_table.h",
+ ]
+ deps = [
+ "../../../gn:default_deps",
+ "../../../gn:sqlite",
+ "../../../include/perfetto/trace_processor",
+ "../../base",
+ "../db:lib",
+ ]
+}
+
+source_set("unittests") {
+ testonly = true
+ sources = [
+ "query_constraints_unittest.cc",
+ ]
+ deps = [
+ ":sqlite",
+ "../../../gn:default_deps",
+ "../../../gn:gtest_and_gmock",
+ "../../../gn:sqlite",
+ "../../base",
+ ]
+}
diff --git a/src/trace_processor/query_constraints.cc b/src/trace_processor/sqlite/query_constraints.cc
similarity index 97%
rename from src/trace_processor/query_constraints.cc
rename to src/trace_processor/sqlite/query_constraints.cc
index b7e4d4d..98a2235 100644
--- a/src/trace_processor/query_constraints.cc
+++ b/src/trace_processor/sqlite/query_constraints.cc
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-#include "src/trace_processor/query_constraints.h"
+#include "src/trace_processor/sqlite/query_constraints.h"
#include <string>
#include "perfetto/ext/base/string_splitter.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/query_constraints.h b/src/trace_processor/sqlite/query_constraints.h
similarity index 92%
rename from src/trace_processor/query_constraints.h
rename to src/trace_processor/sqlite/query_constraints.h
index fae2210..f06e5e1 100644
--- a/src/trace_processor/query_constraints.h
+++ b/src/trace_processor/sqlite/query_constraints.h
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_QUERY_CONSTRAINTS_H_
-#define SRC_TRACE_PROCESSOR_QUERY_CONSTRAINTS_H_
+#ifndef SRC_TRACE_PROCESSOR_SQLITE_QUERY_CONSTRAINTS_H_
+#define SRC_TRACE_PROCESSOR_SQLITE_QUERY_CONSTRAINTS_H_
#include <vector>
#include "perfetto/ext/base/scoped_file.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
namespace perfetto {
namespace trace_processor {
@@ -83,4 +83,4 @@
} // namespace trace_processor
} // namespace perfetto
-#endif // SRC_TRACE_PROCESSOR_QUERY_CONSTRAINTS_H_
+#endif // SRC_TRACE_PROCESSOR_SQLITE_QUERY_CONSTRAINTS_H_
diff --git a/src/trace_processor/query_constraints_unittest.cc b/src/trace_processor/sqlite/query_constraints_unittest.cc
similarity index 97%
rename from src/trace_processor/query_constraints_unittest.cc
rename to src/trace_processor/sqlite/query_constraints_unittest.cc
index 2f50eab..ecadf90 100644
--- a/src/trace_processor/query_constraints_unittest.cc
+++ b/src/trace_processor/sqlite/query_constraints_unittest.cc
@@ -14,15 +14,16 @@
* limitations under the License.
*/
-#include "src/trace_processor/query_constraints.h"
+#include "src/trace_processor/sqlite/query_constraints.h"
+
#include "perfetto/base/logging.h"
#include "test/gtest_and_gmock.h"
using testing::ElementsAreArray;
-using testing::Matcher;
using testing::Field;
-using testing::Pointwise;
+using testing::Matcher;
using testing::Matches;
+using testing::Pointwise;
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/sqlite.h b/src/trace_processor/sqlite/sqlite.h
similarity index 85%
rename from src/trace_processor/sqlite.h
rename to src/trace_processor/sqlite/sqlite.h
index 953a400..f86b635 100644
--- a/src/trace_processor/sqlite.h
+++ b/src/trace_processor/sqlite/sqlite.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_SQLITE_H_
-#define SRC_TRACE_PROCESSOR_SQLITE_H_
+#ifndef SRC_TRACE_PROCESSOR_SQLITE_SQLITE_H_
+#define SRC_TRACE_PROCESSOR_SQLITE_SQLITE_H_
#include "perfetto/base/build_config.h"
@@ -26,4 +26,4 @@
#include "third_party/sqlite/sqlite3.h"
#endif
-#endif // SRC_TRACE_PROCESSOR_SQLITE_H_
+#endif // SRC_TRACE_PROCESSOR_SQLITE_SQLITE_H_
diff --git a/src/trace_processor/sqlite_table.cc b/src/trace_processor/sqlite/sqlite_table.cc
similarity index 98%
rename from src/trace_processor/sqlite_table.cc
rename to src/trace_processor/sqlite/sqlite_table.cc
index 1d52ddc..5786433 100644
--- a/src/trace_processor/sqlite_table.cc
+++ b/src/trace_processor/sqlite/sqlite_table.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include <ctype.h>
#include <string.h>
diff --git a/src/trace_processor/sqlite_table.h b/src/trace_processor/sqlite/sqlite_table.h
similarity index 96%
rename from src/trace_processor/sqlite_table.h
rename to src/trace_processor/sqlite/sqlite_table.h
index 5dc9cab..824ae8d 100644
--- a/src/trace_processor/sqlite_table.h
+++ b/src/trace_processor/sqlite/sqlite_table.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_SQLITE_TABLE_H_
-#define SRC_TRACE_PROCESSOR_SQLITE_TABLE_H_
+#ifndef SRC_TRACE_PROCESSOR_SQLITE_SQLITE_TABLE_H_
+#define SRC_TRACE_PROCESSOR_SQLITE_SQLITE_TABLE_H_
#include <functional>
#include <memory>
@@ -26,8 +26,8 @@
#include "perfetto/ext/base/utils.h"
#include "perfetto/trace_processor/basic_types.h"
#include "perfetto/trace_processor/status.h"
-#include "src/trace_processor/query_constraints.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/query_constraints.h"
+#include "src/trace_processor/sqlite/sqlite.h"
namespace perfetto {
namespace trace_processor {
@@ -268,7 +268,7 @@
char* insert_sql = sqlite3_mprintf(
"INSERT INTO perfetto_tables(name) VALUES('%q')", table_name.c_str());
char* error = nullptr;
- sqlite3_exec(db, insert_sql, 0, 0, &error);
+ sqlite3_exec(db, insert_sql, nullptr, nullptr, &error);
sqlite3_free(insert_sql);
if (error) {
PERFETTO_ELOG("Error registering table: %s", error);
@@ -334,4 +334,4 @@
} // namespace trace_processor
} // namespace perfetto
-#endif // SRC_TRACE_PROCESSOR_SQLITE_TABLE_H_
+#endif // SRC_TRACE_PROCESSOR_SQLITE_SQLITE_TABLE_H_
diff --git a/src/trace_processor/sqlite3_str_split_unittest.cc b/src/trace_processor/sqlite3_str_split_unittest.cc
index 46d69cd..3b1df31 100644
--- a/src/trace_processor/sqlite3_str_split_unittest.cc
+++ b/src/trace_processor/sqlite3_str_split_unittest.cc
@@ -20,7 +20,7 @@
#include "perfetto/base/logging.h"
#include "src/trace_processor/scoped_db.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
#include "test/gtest_and_gmock.h"
namespace perfetto {
diff --git a/src/trace_processor/sqlite_utils.h b/src/trace_processor/sqlite_utils.h
index 30fc2c4..b607780 100644
--- a/src/trace_processor/sqlite_utils.h
+++ b/src/trace_processor/sqlite_utils.h
@@ -26,8 +26,8 @@
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/optional.h"
#include "src/trace_processor/scoped_db.h"
-#include "src/trace_processor/sqlite.h"
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/stats_table.h b/src/trace_processor/stats_table.h
index 167c616..3a1a591 100644
--- a/src/trace_processor/stats_table.h
+++ b/src/trace_processor/stats_table.h
@@ -20,7 +20,7 @@
#include <limits>
#include <memory>
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/stats.h"
#include "src/trace_processor/trace_storage.h"
diff --git a/src/trace_processor/storage_schema.h b/src/trace_processor/storage_schema.h
index 8548f44..94e8918 100644
--- a/src/trace_processor/storage_schema.h
+++ b/src/trace_processor/storage_schema.h
@@ -23,7 +23,7 @@
#include <vector>
#include "src/trace_processor/filtered_row_index.h"
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/sqlite_utils.h"
#include "src/trace_processor/storage_columns.h"
#include "src/trace_processor/trace_storage.h"
diff --git a/src/trace_processor/storage_table.h b/src/trace_processor/storage_table.h
index d996ac1..74247f6 100644
--- a/src/trace_processor/storage_table.h
+++ b/src/trace_processor/storage_table.h
@@ -18,7 +18,7 @@
#include <set>
#include "src/trace_processor/row_iterators.h"
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/storage_columns.h"
#include "src/trace_processor/storage_schema.h"
diff --git a/src/trace_processor/thread_table.cc b/src/trace_processor/thread_table.cc
index 58a3fd5..e5bf94d 100644
--- a/src/trace_processor/thread_table.cc
+++ b/src/trace_processor/thread_table.cc
@@ -17,7 +17,7 @@
#include "src/trace_processor/thread_table.h"
#include "perfetto/base/logging.h"
-#include "src/trace_processor/query_constraints.h"
+#include "src/trace_processor/sqlite/query_constraints.h"
#include "src/trace_processor/sqlite_utils.h"
namespace perfetto {
diff --git a/src/trace_processor/thread_table.h b/src/trace_processor/thread_table.h
index 705a9e3..a72ed23 100644
--- a/src/trace_processor/thread_table.h
+++ b/src/trace_processor/thread_table.h
@@ -20,7 +20,7 @@
#include <limits>
#include <memory>
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/trace_storage.h"
namespace perfetto {
diff --git a/src/trace_processor/trace_processor.cc b/src/trace_processor/trace_processor.cc
index b4de729..75791cc 100644
--- a/src/trace_processor/trace_processor.cc
+++ b/src/trace_processor/trace_processor.cc
@@ -16,7 +16,7 @@
#include "perfetto/trace_processor/trace_processor.h"
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/trace_processor_impl.h"
namespace perfetto {
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc
index 7fcb98c..6d8afdd 100644
--- a/src/trace_processor/trace_processor_impl.cc
+++ b/src/trace_processor/trace_processor_impl.cc
@@ -51,8 +51,8 @@
#include "src/trace_processor/slice_tracker.h"
#include "src/trace_processor/span_join_operator_table.h"
#include "src/trace_processor/sql_stats_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
#include "src/trace_processor/sqlite3_str_split.h"
-#include "src/trace_processor/sqlite_table.h"
#include "src/trace_processor/stack_profile_callsite_table.h"
#include "src/trace_processor/stack_profile_frame_table.h"
#include "src/trace_processor/stack_profile_mapping_table.h"
diff --git a/src/trace_processor/trace_processor_impl.h b/src/trace_processor/trace_processor_impl.h
index 0ef2d7e..7c9e549 100644
--- a/src/trace_processor/trace_processor_impl.h
+++ b/src/trace_processor/trace_processor_impl.h
@@ -29,7 +29,7 @@
#include "src/trace_processor/metrics/descriptors.h"
#include "src/trace_processor/metrics/metrics.h"
#include "src/trace_processor/scoped_db.h"
-#include "src/trace_processor/sqlite.h"
+#include "src/trace_processor/sqlite/sqlite.h"
#include "src/trace_processor/trace_processor_context.h"
namespace perfetto {
diff --git a/src/trace_processor/window_operator_table.h b/src/trace_processor/window_operator_table.h
index 8dc1e5a..5959174 100644
--- a/src/trace_processor/window_operator_table.h
+++ b/src/trace_processor/window_operator_table.h
@@ -20,7 +20,7 @@
#include <limits>
#include <memory>
-#include "src/trace_processor/sqlite_table.h"
+#include "src/trace_processor/sqlite/sqlite_table.h"
namespace perfetto {
namespace trace_processor {