tp: move parser into its own directory
Prepares the move for the parser to an LALR model as well.
Change-Id: I32ba9cd0afc992a7db21496e02447716dccce2ce
diff --git a/Android.bp b/Android.bp
index 76c8a42..a45d4ff 100644
--- a/Android.bp
+++ b/Android.bp
@@ -2509,6 +2509,7 @@
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":perfetto_src_trace_processor_perfetto_sql_parser_parser",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_grammar",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":perfetto_src_trace_processor_sorter_sorter",
@@ -13228,25 +13229,17 @@
name: "perfetto_src_trace_processor_perfetto_sql_engine_engine",
srcs: [
"src/trace_processor/perfetto_sql/engine/created_function.cc",
- "src/trace_processor/perfetto_sql/engine/function_util.cc",
"src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.cc",
- "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.cc",
"src/trace_processor/perfetto_sql/engine/runtime_table_function.cc",
"src/trace_processor/perfetto_sql/engine/table_pointer_module.cc",
],
}
-// GN: //src/trace_processor/perfetto_sql/engine:test_utils
-filegroup {
- name: "perfetto_src_trace_processor_perfetto_sql_engine_test_utils",
-}
-
// GN: //src/trace_processor/perfetto_sql/engine:unittests
filegroup {
name: "perfetto_src_trace_processor_perfetto_sql_engine_unittests",
srcs: [
"src/trace_processor/perfetto_sql/engine/perfetto_sql_engine_unittest.cc",
- "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser_unittest.cc",
],
}
@@ -13423,6 +13416,20 @@
name: "perfetto_src_trace_processor_perfetto_sql_intrinsics_types_types",
}
+// GN: //src/trace_processor/perfetto_sql/parser:parser
+filegroup {
+ name: "perfetto_src_trace_processor_perfetto_sql_parser_parser",
+ srcs: [
+ "src/trace_processor/perfetto_sql/parser/function_util.cc",
+ "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.cc",
+ ],
+}
+
+// GN: //src/trace_processor/perfetto_sql/parser:test_utils
+filegroup {
+ name: "perfetto_src_trace_processor_perfetto_sql_parser_test_utils",
+}
+
// GN: //src/trace_processor/perfetto_sql/preprocessor:grammar
filegroup {
name: "perfetto_src_trace_processor_perfetto_sql_preprocessor_grammar",
@@ -15551,7 +15558,6 @@
":perfetto_src_trace_processor_metrics_metrics",
":perfetto_src_trace_processor_metrics_unittests",
":perfetto_src_trace_processor_perfetto_sql_engine_engine",
- ":perfetto_src_trace_processor_perfetto_sql_engine_test_utils",
":perfetto_src_trace_processor_perfetto_sql_engine_unittests",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_functions",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface",
@@ -15562,6 +15568,8 @@
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_unittests",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":perfetto_src_trace_processor_perfetto_sql_parser_parser",
+ ":perfetto_src_trace_processor_perfetto_sql_parser_test_utils",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_grammar",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_unittests",
@@ -16610,6 +16618,7 @@
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":perfetto_src_trace_processor_perfetto_sql_parser_parser",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_grammar",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":perfetto_src_trace_processor_rpc_httpd",
@@ -17023,6 +17032,7 @@
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":perfetto_src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":perfetto_src_trace_processor_perfetto_sql_parser_parser",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_grammar",
":perfetto_src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":perfetto_src_trace_processor_sorter_sorter",
diff --git a/BUILD b/BUILD
index b6937e7..6ce4ad9 100644
--- a/BUILD
+++ b/BUILD
@@ -267,6 +267,7 @@
":src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":src_trace_processor_perfetto_sql_intrinsics_table_functions_tables",
":src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":src_trace_processor_perfetto_sql_parser_parser",
":src_trace_processor_perfetto_sql_preprocessor_grammar",
":src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":src_trace_processor_rpc_rpc",
@@ -2419,12 +2420,8 @@
srcs = [
"src/trace_processor/perfetto_sql/engine/created_function.cc",
"src/trace_processor/perfetto_sql/engine/created_function.h",
- "src/trace_processor/perfetto_sql/engine/function_util.cc",
- "src/trace_processor/perfetto_sql/engine/function_util.h",
"src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.cc",
"src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h",
- "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.cc",
- "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h",
"src/trace_processor/perfetto_sql/engine/runtime_table_function.cc",
"src/trace_processor/perfetto_sql/engine/runtime_table_function.h",
"src/trace_processor/perfetto_sql/engine/table_pointer_module.cc",
@@ -2579,6 +2576,17 @@
],
)
+# GN target: //src/trace_processor/perfetto_sql/parser:parser
+perfetto_filegroup(
+ name = "src_trace_processor_perfetto_sql_parser_parser",
+ srcs = [
+ "src/trace_processor/perfetto_sql/parser/function_util.cc",
+ "src/trace_processor/perfetto_sql/parser/function_util.h",
+ "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.cc",
+ "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h",
+ ],
+)
+
# GN target: //src/trace_processor/perfetto_sql/preprocessor:grammar
perfetto_filegroup(
name = "src_trace_processor_perfetto_sql_preprocessor_grammar",
@@ -6318,6 +6326,7 @@
":src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":src_trace_processor_perfetto_sql_intrinsics_table_functions_tables",
":src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":src_trace_processor_perfetto_sql_parser_parser",
":src_trace_processor_perfetto_sql_preprocessor_grammar",
":src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":src_trace_processor_sorter_sorter",
@@ -6511,6 +6520,7 @@
":src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":src_trace_processor_perfetto_sql_intrinsics_table_functions_tables",
":src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":src_trace_processor_perfetto_sql_parser_parser",
":src_trace_processor_perfetto_sql_preprocessor_grammar",
":src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":src_trace_processor_rpc_httpd",
@@ -6761,6 +6771,7 @@
":src_trace_processor_perfetto_sql_intrinsics_table_functions_table_functions",
":src_trace_processor_perfetto_sql_intrinsics_table_functions_tables",
":src_trace_processor_perfetto_sql_intrinsics_types_types",
+ ":src_trace_processor_perfetto_sql_parser_parser",
":src_trace_processor_perfetto_sql_preprocessor_grammar",
":src_trace_processor_perfetto_sql_preprocessor_preprocessor",
":src_trace_processor_sorter_sorter",
diff --git a/src/trace_processor/perfetto_sql/engine/BUILD.gn b/src/trace_processor/perfetto_sql/engine/BUILD.gn
index 5a67347..b257681 100644
--- a/src/trace_processor/perfetto_sql/engine/BUILD.gn
+++ b/src/trace_processor/perfetto_sql/engine/BUILD.gn
@@ -20,12 +20,8 @@
sources = [
"created_function.cc",
"created_function.h",
- "function_util.cc",
- "function_util.h",
"perfetto_sql_engine.cc",
"perfetto_sql_engine.h",
- "perfetto_sql_parser.cc",
- "perfetto_sql_parser.h",
"runtime_table_function.cc",
"runtime_table_function.h",
"table_pointer_module.cc",
@@ -48,32 +44,14 @@
"../../util",
"../../util:sql_argument",
"../../util:stdlib",
+ "../parser",
"../preprocessor",
]
}
perfetto_unittest_source_set("unittests") {
testonly = true
- sources = [
- "perfetto_sql_engine_unittest.cc",
- "perfetto_sql_parser_unittest.cc",
- ]
- deps = [
- ":engine",
- ":test_utils",
- "../../../../gn:default_deps",
- "../../../../gn:gtest_and_gmock",
- "../../../../gn:sqlite",
- "../../../base",
- "../..//tables:tables_python",
- "../../perfetto_sql/intrinsics/table_functions:interface",
- "../../sqlite",
- ]
-}
-
-perfetto_unittest_source_set("test_utils") {
- testonly = true
- sources = [ "perfetto_sql_test_utils.h" ]
+ sources = [ "perfetto_sql_engine_unittest.cc" ]
deps = [
":engine",
"../../../../gn:default_deps",
diff --git a/src/trace_processor/perfetto_sql/engine/created_function.cc b/src/trace_processor/perfetto_sql/engine/created_function.cc
index be4f956..1c01c17 100644
--- a/src/trace_processor/perfetto_sql/engine/created_function.cc
+++ b/src/trace_processor/perfetto_sql/engine/created_function.cc
@@ -21,8 +21,8 @@
#include <stack>
#include "perfetto/base/status.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/scoped_db.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "src/trace_processor/sqlite/sqlite_engine.h"
diff --git a/src/trace_processor/perfetto_sql/engine/created_function.h b/src/trace_processor/perfetto_sql/engine/created_function.h
index 4d744e5..f93a4e3 100644
--- a/src/trace_processor/perfetto_sql/engine/created_function.h
+++ b/src/trace_processor/perfetto_sql/engine/created_function.h
@@ -23,8 +23,8 @@
#include "perfetto/base/status.h"
#include "perfetto/trace_processor/basic_types.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "src/trace_processor/types/destructible.h"
#include "src/trace_processor/util/sql_argument.h"
diff --git a/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.cc b/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.cc
index 1a3443f..7442b14 100644
--- a/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.cc
+++ b/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.cc
@@ -44,10 +44,10 @@
#include "src/trace_processor/db/runtime_table.h"
#include "src/trace_processor/db/table.h"
#include "src/trace_processor/perfetto_sql/engine/created_function.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h"
#include "src/trace_processor/perfetto_sql/engine/runtime_table_function.h"
#include "src/trace_processor/perfetto_sql/intrinsics/table_functions/static_table_function.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h"
#include "src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor.h"
#include "src/trace_processor/sqlite/db_sqlite_table.h"
#include "src/trace_processor/sqlite/scoped_db.h"
diff --git a/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h b/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h
index a4a2777..54fc18e 100644
--- a/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h
+++ b/src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h
@@ -33,11 +33,11 @@
#include "src/trace_processor/containers/string_pool.h"
#include "src/trace_processor/db/runtime_table.h"
#include "src/trace_processor/db/table.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h"
#include "src/trace_processor/perfetto_sql/engine/runtime_table_function.h"
#include "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h"
#include "src/trace_processor/perfetto_sql/intrinsics/table_functions/static_table_function.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h"
#include "src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor.h"
#include "src/trace_processor/sqlite/bindings/sqlite_result.h"
#include "src/trace_processor/sqlite/bindings/sqlite_window_function.h"
diff --git a/src/trace_processor/perfetto_sql/engine/runtime_table_function.cc b/src/trace_processor/perfetto_sql/engine/runtime_table_function.cc
index a2de04a..ad59b12 100644
--- a/src/trace_processor/perfetto_sql/engine/runtime_table_function.cc
+++ b/src/trace_processor/perfetto_sql/engine/runtime_table_function.cc
@@ -29,8 +29,8 @@
#include "perfetto/base/status.h"
#include "perfetto/ext/base/string_utils.h"
#include "perfetto/public/compiler.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/bindings/sqlite_result.h"
#include "src/trace_processor/sqlite/module_lifecycle_manager.h"
#include "src/trace_processor/sqlite/sqlite_utils.h"
diff --git a/src/trace_processor/perfetto_sql/engine/runtime_table_function.h b/src/trace_processor/perfetto_sql/engine/runtime_table_function.h
index b3a7b5b..51f0a07 100644
--- a/src/trace_processor/perfetto_sql/engine/runtime_table_function.h
+++ b/src/trace_processor/perfetto_sql/engine/runtime_table_function.h
@@ -24,7 +24,7 @@
#include <vector>
#include "perfetto/base/logging.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/bindings/sqlite_module.h"
#include "src/trace_processor/sqlite/module_lifecycle_manager.h"
#include "src/trace_processor/sqlite/sql_source.h"
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn b/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn
index d7ae797..58d1ae6 100644
--- a/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn
+++ b/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn
@@ -86,6 +86,7 @@
"../../../util:sql_argument",
"../../../util:stdlib",
"../../engine",
+ "../../parser",
"../types",
]
public_deps = [ ":interface" ]
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/counter_intervals.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/counter_intervals.cc
index f9c8d48..97a6218 100644
--- a/src/trace_processor/perfetto_sql/intrinsics/functions/counter_intervals.cc
+++ b/src/trace_processor/perfetto_sql/intrinsics/functions/counter_intervals.cc
@@ -37,10 +37,10 @@
#include "perfetto/trace_processor/basic_types.h"
#include "src/trace_processor/containers/string_pool.h"
#include "src/trace_processor/db/runtime_table.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/counter.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/partitioned_intervals.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/bindings/sqlite_bind.h"
#include "src/trace_processor/sqlite/bindings/sqlite_column.h"
#include "src/trace_processor/sqlite/bindings/sqlite_function.h"
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/create_function.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/create_function.cc
index a7fc1d4..934ed4e 100644
--- a/src/trace_processor/perfetto_sql/intrinsics/functions/create_function.cc
+++ b/src/trace_processor/perfetto_sql/intrinsics/functions/create_function.cc
@@ -21,8 +21,8 @@
#include "perfetto/base/status.h"
#include "perfetto/trace_processor/basic_types.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/scoped_db.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "src/trace_processor/sqlite/sqlite_engine.h"
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/create_view_function.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/create_view_function.cc
index f1483ea..9270e06 100644
--- a/src/trace_processor/perfetto_sql/intrinsics/functions/create_view_function.cc
+++ b/src/trace_processor/perfetto_sql/intrinsics/functions/create_view_function.cc
@@ -24,8 +24,8 @@
#include "perfetto/ext/base/string_view.h"
#include "perfetto/trace_processor/basic_types.h"
#include "src/trace_processor/containers/null_term_string_view.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "src/trace_processor/sqlite/sqlite_utils.h"
#include "src/trace_processor/util/status_macros.h"
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/graph_scan.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/graph_scan.cc
index 1df93ad..62aad8b 100644
--- a/src/trace_processor/perfetto_sql/intrinsics/functions/graph_scan.cc
+++ b/src/trace_processor/perfetto_sql/intrinsics/functions/graph_scan.cc
@@ -32,12 +32,12 @@
#include "perfetto/ext/base/string_utils.h"
#include "src/trace_processor/containers/string_pool.h"
#include "src/trace_processor/db/runtime_table.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/array.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/node.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/row_dataframe.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/value.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/bindings/sqlite_bind.h"
#include "src/trace_processor/sqlite/bindings/sqlite_column.h"
#include "src/trace_processor/sqlite/bindings/sqlite_function.h"
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/interval_intersect.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/interval_intersect.cc
index 96ee292..93e1f60 100644
--- a/src/trace_processor/perfetto_sql/intrinsics/functions/interval_intersect.cc
+++ b/src/trace_processor/perfetto_sql/intrinsics/functions/interval_intersect.cc
@@ -38,9 +38,9 @@
#include "src/trace_processor/containers/interval_intersector.h"
#include "src/trace_processor/containers/string_pool.h"
#include "src/trace_processor/db/runtime_table.h"
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h"
#include "src/trace_processor/perfetto_sql/intrinsics/types/partitioned_intervals.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/sqlite/bindings/sqlite_bind.h"
#include "src/trace_processor/sqlite/bindings/sqlite_column.h"
#include "src/trace_processor/sqlite/bindings/sqlite_function.h"
diff --git a/src/trace_processor/perfetto_sql/parser/BUILD.gn b/src/trace_processor/perfetto_sql/parser/BUILD.gn
new file mode 100644
index 0000000..831e3c8
--- /dev/null
+++ b/src/trace_processor/perfetto_sql/parser/BUILD.gn
@@ -0,0 +1,63 @@
+# 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.
+
+import("../../../../gn/test.gni")
+
+assert(enable_perfetto_trace_processor_sqlite)
+
+source_set("parser") {
+ sources = [
+ "function_util.cc",
+ "function_util.h",
+ "perfetto_sql_parser.cc",
+ "perfetto_sql_parser.h",
+ ]
+ deps = [
+ "../..:metatrace",
+ "../../../../gn:default_deps",
+ "../../../../gn:sqlite",
+ "../../../base",
+ "../../sqlite",
+ "../../util",
+ "../../util:sql_argument",
+ "../preprocessor",
+ ]
+}
+
+perfetto_unittest_source_set("unittests") {
+ testonly = true
+ sources = [ "perfetto_sql_parser_unittest.cc" ]
+ deps = [
+ ":parser",
+ ":test_utils",
+ "../../../../gn:default_deps",
+ "../../../../gn:gtest_and_gmock",
+ "../../../../gn:sqlite",
+ "../../../base",
+ "../../sqlite",
+ ]
+}
+
+perfetto_unittest_source_set("test_utils") {
+ testonly = true
+ sources = [ "perfetto_sql_test_utils.h" ]
+ deps = [
+ ":parser",
+ "../../../../gn:default_deps",
+ "../../../../gn:gtest_and_gmock",
+ "../../../../gn:sqlite",
+ "../../../base",
+ "../../sqlite",
+ ]
+}
diff --git a/src/trace_processor/perfetto_sql/engine/function_util.cc b/src/trace_processor/perfetto_sql/parser/function_util.cc
similarity index 98%
rename from src/trace_processor/perfetto_sql/engine/function_util.cc
rename to src/trace_processor/perfetto_sql/parser/function_util.cc
index ae3edde..cc0b2ee 100644
--- a/src/trace_processor/perfetto_sql/engine/function_util.cc
+++ b/src/trace_processor/perfetto_sql/parser/function_util.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/perfetto_sql/engine/function_util.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "perfetto/base/status.h"
#include "perfetto/ext/base/string_view.h"
diff --git a/src/trace_processor/perfetto_sql/engine/function_util.h b/src/trace_processor/perfetto_sql/parser/function_util.h
similarity index 91%
rename from src/trace_processor/perfetto_sql/engine/function_util.h
rename to src/trace_processor/perfetto_sql/parser/function_util.h
index 1467e7e..129bc5f 100644
--- a/src/trace_processor/perfetto_sql/engine/function_util.h
+++ b/src/trace_processor/perfetto_sql/parser/function_util.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_FUNCTION_UTIL_H_
-#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_FUNCTION_UTIL_H_
+#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_FUNCTION_UTIL_H_
+#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_FUNCTION_UTIL_H_
#include <sqlite3.h>
#include <optional>
@@ -64,4 +64,4 @@
} // namespace trace_processor
} // namespace perfetto
-#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_FUNCTION_UTIL_H_
+#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_FUNCTION_UTIL_H_
diff --git a/src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.cc b/src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.cc
similarity index 98%
rename from src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.cc
rename to src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.cc
index d6b1dee..8f30a94 100644
--- a/src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.cc
+++ b/src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h"
#include <algorithm>
#include <cctype>
@@ -24,14 +24,15 @@
#include <utility>
#include <vector>
-#include "perfetto/base/compiler.h"
#include "perfetto/base/logging.h"
#include "perfetto/base/status.h"
#include "perfetto/ext/base/flat_hash_map.h"
#include "perfetto/ext/base/string_utils.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "src/trace_processor/sqlite/sqlite_tokenizer.h"
+#include "src/trace_processor/util/sql_argument.h"
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h b/src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h
similarity index 95%
rename from src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h
rename to src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h
index 60d21ce..3252b9a 100644
--- a/src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h
+++ b/src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_PERFETTO_SQL_PARSER_H_
-#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_PERFETTO_SQL_PARSER_H_
+#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_PERFETTO_SQL_PARSER_H_
+#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_PERFETTO_SQL_PARSER_H_
#include <optional>
#include <string>
@@ -23,11 +23,12 @@
#include <variant>
#include <vector>
-#include "function_util.h"
#include "perfetto/ext/base/flat_hash_map.h"
+#include "src/trace_processor/perfetto_sql/parser/function_util.h"
#include "src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "src/trace_processor/sqlite/sqlite_tokenizer.h"
+#include "src/trace_processor/util/sql_argument.h"
namespace perfetto {
namespace trace_processor {
@@ -206,4 +207,4 @@
} // namespace trace_processor
} // namespace perfetto
-#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_PERFETTO_SQL_PARSER_H_
+#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_PERFETTO_SQL_PARSER_H_
diff --git a/src/trace_processor/perfetto_sql/engine/perfetto_sql_parser_unittest.cc b/src/trace_processor/perfetto_sql/parser/perfetto_sql_parser_unittest.cc
similarity index 98%
rename from src/trace_processor/perfetto_sql/engine/perfetto_sql_parser_unittest.cc
rename to src/trace_processor/perfetto_sql/parser/perfetto_sql_parser_unittest.cc
index 8a09a4b..15ac7c4 100644
--- a/src/trace_processor/perfetto_sql/engine/perfetto_sql_parser_unittest.cc
+++ b/src/trace_processor/perfetto_sql/parser/perfetto_sql_parser_unittest.cc
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h"
#include <cstdint>
#include <variant>
@@ -22,7 +22,7 @@
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/status_or.h"
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_test_utils.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_test_utils.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "test/gtest_and_gmock.h"
diff --git a/src/trace_processor/perfetto_sql/engine/perfetto_sql_test_utils.h b/src/trace_processor/perfetto_sql/parser/perfetto_sql_test_utils.h
similarity index 95%
rename from src/trace_processor/perfetto_sql/engine/perfetto_sql_test_utils.h
rename to src/trace_processor/perfetto_sql/parser/perfetto_sql_test_utils.h
index 86c0b76..5a776e0 100644
--- a/src/trace_processor/perfetto_sql/engine/perfetto_sql_test_utils.h
+++ b/src/trace_processor/perfetto_sql/parser/perfetto_sql_test_utils.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_PERFETTO_SQL_TEST_UTILS_H_
-#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_PERFETTO_SQL_TEST_UTILS_H_
+#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_PERFETTO_SQL_TEST_UTILS_H_
+#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_PERFETTO_SQL_TEST_UTILS_H_
#include <cstddef>
#include <cstdint>
@@ -25,7 +25,7 @@
#include "perfetto/base/logging.h"
#include "perfetto/ext/base/status_or.h"
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_parser.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_parser.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "test/gtest_and_gmock.h"
@@ -146,4 +146,4 @@
} // namespace trace_processor
} // namespace perfetto
-#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_ENGINE_PERFETTO_SQL_TEST_UTILS_H_
+#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_PARSER_PERFETTO_SQL_TEST_UTILS_H_
diff --git a/src/trace_processor/perfetto_sql/preprocessor/BUILD.gn b/src/trace_processor/perfetto_sql/preprocessor/BUILD.gn
index d790e67..7b3e7bc 100644
--- a/src/trace_processor/perfetto_sql/preprocessor/BUILD.gn
+++ b/src/trace_processor/perfetto_sql/preprocessor/BUILD.gn
@@ -53,6 +53,6 @@
"../../../../gn:sqlite",
"../../../base",
"../../sqlite",
- "../engine:test_utils",
+ "../parser:test_utils",
]
}
diff --git a/src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor_unittest.cc b/src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor_unittest.cc
index b59b429..305064f 100644
--- a/src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor_unittest.cc
+++ b/src/trace_processor/perfetto_sql/preprocessor/perfetto_sql_preprocessor_unittest.cc
@@ -19,7 +19,7 @@
#include <string>
#include "perfetto/ext/base/flat_hash_map.h"
-#include "src/trace_processor/perfetto_sql/engine/perfetto_sql_test_utils.h"
+#include "src/trace_processor/perfetto_sql/parser/perfetto_sql_test_utils.h"
#include "src/trace_processor/sqlite/sql_source.h"
#include "test/gtest_and_gmock.h"