tp: cleanup unused interface (#4757)
diff --git a/Android.bp b/Android.bp index 1f828f1..41615ba 100644 --- a/Android.bp +++ b/Android.bp
@@ -2810,7 +2810,6 @@ ":perfetto_src_trace_processor_perfetto_sql_generator_generator", ":perfetto_src_trace_processor_perfetto_sql_grammar_grammar", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_operators_operators", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface", @@ -15427,14 +15426,6 @@ ], } -// GN: //src/trace_processor/perfetto_sql/intrinsics/functions:interface -filegroup { - name: "perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface", - srcs: [ - "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.cc", - ], -} - // GN: //src/trace_processor/perfetto_sql/intrinsics/functions:tables genrule { name: "perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_tables", @@ -16218,7 +16209,6 @@ ":perfetto_src_trace_processor_perfetto_sql_generator_generator", ":perfetto_src_trace_processor_perfetto_sql_grammar_grammar", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_operators_operators", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface", @@ -18615,7 +18605,6 @@ ":perfetto_src_trace_processor_perfetto_sql_generator_unittests", ":perfetto_src_trace_processor_perfetto_sql_grammar_grammar", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_unittests", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_operators_operators", @@ -19493,7 +19482,6 @@ ":perfetto_src_trace_processor_perfetto_sql_generator_generator", ":perfetto_src_trace_processor_perfetto_sql_grammar_grammar", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_operators_operators", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface", @@ -20001,7 +19989,6 @@ ":perfetto_src_trace_processor_perfetto_sql_generator_generator", ":perfetto_src_trace_processor_perfetto_sql_grammar_grammar", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_operators_operators", ":perfetto_src_trace_processor_perfetto_sql_intrinsics_table_functions_interface",
diff --git a/BUILD b/BUILD index 243860e..8953822 100644 --- a/BUILD +++ b/BUILD
@@ -399,7 +399,6 @@ ":src_trace_processor_perfetto_sql_generator_generator", ":src_trace_processor_perfetto_sql_grammar_grammar", ":src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":src_trace_processor_perfetto_sql_intrinsics_functions_tables", ":src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":src_trace_processor_perfetto_sql_intrinsics_operators_operators", @@ -606,7 +605,6 @@ ":src_trace_processor_perfetto_sql_generator_generator", ":src_trace_processor_perfetto_sql_grammar_grammar", ":src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":src_trace_processor_perfetto_sql_intrinsics_functions_tables", ":src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":src_trace_processor_perfetto_sql_intrinsics_operators_operators", @@ -3204,15 +3202,6 @@ ], ) -# GN target: //src/trace_processor/perfetto_sql/intrinsics/functions:interface -perfetto_filegroup( - name = "src_trace_processor_perfetto_sql_intrinsics_functions_interface", - srcs = [ - "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.cc", - "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h", - ], -) - # GN target: //src/trace_processor/perfetto_sql/intrinsics/functions:tables perfetto_cc_tp_tables( name = "src_trace_processor_perfetto_sql_intrinsics_functions_tables", @@ -8225,7 +8214,6 @@ ":src_trace_processor_perfetto_sql_generator_generator", ":src_trace_processor_perfetto_sql_grammar_grammar", ":src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":src_trace_processor_perfetto_sql_intrinsics_functions_tables", ":src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":src_trace_processor_perfetto_sql_intrinsics_operators_operators", @@ -8461,7 +8449,6 @@ ":src_trace_processor_perfetto_sql_generator_generator", ":src_trace_processor_perfetto_sql_grammar_grammar", ":src_trace_processor_perfetto_sql_intrinsics_functions_functions", - ":src_trace_processor_perfetto_sql_intrinsics_functions_interface", ":src_trace_processor_perfetto_sql_intrinsics_functions_tables", ":src_trace_processor_perfetto_sql_intrinsics_functions_trees_trees", ":src_trace_processor_perfetto_sql_intrinsics_operators_operators",
diff --git a/src/trace_processor/perfetto_sql/engine/BUILD.gn b/src/trace_processor/perfetto_sql/engine/BUILD.gn index feb75b4..550b627 100644 --- a/src/trace_processor/perfetto_sql/engine/BUILD.gn +++ b/src/trace_processor/perfetto_sql/engine/BUILD.gn
@@ -40,7 +40,6 @@ "../../../base", "../../containers", "../../core/dataframe", - "../../perfetto_sql/intrinsics/functions:interface", "../../perfetto_sql/intrinsics/table_functions:interface", "../../sqlite", "../../types",
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn b/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn index 517ccfe..f59a8dd 100644 --- a/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn +++ b/src/trace_processor/perfetto_sql/intrinsics/functions/BUILD.gn
@@ -101,7 +101,6 @@ "../../parser", "../types", ] - public_deps = [ ":interface" ] if (enable_perfetto_llvm_symbolizer) { sources += [ "symbolize.cc", @@ -114,19 +113,6 @@ } } -source_set("interface") { - sources = [ - "sql_function.cc", - "sql_function.h", - ] - deps = [ - "../../../../../gn:default_deps", - "../../../../../gn:sqlite", - "../../../../../include/perfetto/trace_processor:basic_types", - "../../../../base", - ] -} - perfetto_tp_tables("tables") { sources = [ "tables.py" ] }
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.cc deleted file mode 100644 index b18b184..0000000 --- a/src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.cc +++ /dev/null
@@ -1,29 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ - -#include "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h" - -#include "perfetto/base/status.h" - -namespace perfetto::trace_processor { - -base::Status LegacySqlFunction::VerifyPostConditions(Context*) { - return base::OkStatus(); -} - -void LegacySqlFunction::Cleanup(Context*) {} - -} // namespace perfetto::trace_processor
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h b/src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h deleted file mode 100644 index 6d5321a..0000000 --- a/src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h +++ /dev/null
@@ -1,116 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ - -#ifndef SRC_TRACE_PROCESSOR_PERFETTO_SQL_INTRINSICS_FUNCTIONS_SQL_FUNCTION_H_ -#define SRC_TRACE_PROCESSOR_PERFETTO_SQL_INTRINSICS_FUNCTIONS_SQL_FUNCTION_H_ - -#include <sqlite3.h> - -#include "perfetto/base/status.h" -#include "perfetto/trace_processor/basic_types.h" - -namespace perfetto { -namespace trace_processor { - -// LEGACY DO NOT CREATE ANY MORE IMPLEMENTATIONS OF THIS FUNCTION. Use -// sqlite::Function instead. -// -// Prototype for a C++ function which can be registered with SQLite. -// -// Usage -// -// Define a subclass of this struct as follows: -// struct YourFunction : public LegacySqlFunction { -// // Optional if you want a custom context object (i.e. an object -// // passed in at registration time which will be passed to Run on -// // every invocation) -// struct YourContext { /* define context fields here */ }; -// -// static base::Status Run(/* see parameters below */) { -// /* function body here */ -// } -// -// static base::Status Cleanup(/* see parameters below */) { -// /* function body here */ -// } -// } -// -// Then, register this function with SQLite using RegisterFunction (see below); -// you'll likely want to do this in TraceProcessorImpl: -// RegisterFunction<YourFunction>(/* see arguments below */) -struct LegacySqlFunction { - // The type of the context object which will be passed to the function. - // Can be redefined in any sub-classes to override the context. - using Context = void; - - // Indicates whether this function is "void" (i.e. doesn't actually want - // to return a value). While the function will still return null in SQL - // (because SQLite does not actually allow null functions), for accounting - // purposes, this null will be ignored when verifying whether this statement - // has any output. - // Can be redefined in any sub-classes to override it. - // If this is set to true, subclasses must not modify |out| or |destructors|. - static constexpr bool kVoidReturn = false; - - // Struct which holds destructors for strings/bytes returned from the - // function. Passed as an argument to |Run| to allow implementations to - // override the destructors. - struct Destructors { - // This matches SQLITE_TRANSIENT constant which we cannot use because it - // expands to a C-style cast, causing compiler warnings. - sqlite3_destructor_type string_destructor = - reinterpret_cast<sqlite3_destructor_type>(-1); - sqlite3_destructor_type bytes_destructor = - reinterpret_cast<sqlite3_destructor_type>(-1); - }; - - // The function which will be executed with the arguments from SQL. - // - // Implementations MUST define this function themselves; this function is - // declared but *not* defined so linker errors will be thrown if not defined. - // - // |ctx|: the context object passed at registration time. - // |argc|: number of arguments. - // |argv|: arguments to the function. - // |out|: the return value of the function. - // |destructors|: destructors for string/bytes return values. - static base::Status Run(Context* ctx, - size_t argc, - sqlite3_value** argv, - SqlValue& out, - Destructors& destructors); - - // Executed after the result from |Run| is reported to SQLite. - // Allows implementations to verify post-conditions without needing to worry - // about overwriting return types. - // - // Implementations do not need to define this function; a default no-op - // implementation will be used in this case. - static base::Status VerifyPostConditions(Context*); - - // Executed after the result from |Run| is reported to SQLite. - // Allows any pending state to be cleaned up post-copy of results by SQLite: - // this function will be called even if |Run| or |PostRun| returned errors. - // - // Implementations do not need to define this function; a default no-op - // implementation will be used in this case. - static void Cleanup(Context*); -}; - -} // namespace trace_processor -} // namespace perfetto - -#endif // SRC_TRACE_PROCESSOR_PERFETTO_SQL_INTRINSICS_FUNCTIONS_SQL_FUNCTION_H_
diff --git a/src/trace_processor/perfetto_sql/intrinsics/functions/stack_functions.cc b/src/trace_processor/perfetto_sql/intrinsics/functions/stack_functions.cc index abec842..7ff29b2 100644 --- a/src/trace_processor/perfetto_sql/intrinsics/functions/stack_functions.cc +++ b/src/trace_processor/perfetto_sql/intrinsics/functions/stack_functions.cc
@@ -34,7 +34,6 @@ #include "perfetto/trace_processor/status.h" #include "protos/perfetto/trace_processor/stack.pbzero.h" #include "src/trace_processor/perfetto_sql/engine/perfetto_sql_engine.h" -#include "src/trace_processor/perfetto_sql/intrinsics/functions/sql_function.h" #include "src/trace_processor/sqlite/bindings/sqlite_function.h" #include "src/trace_processor/sqlite/bindings/sqlite_result.h" #include "src/trace_processor/sqlite/bindings/sqlite_type.h"