#include "src/trace_processor/perfetto_sql/engine/runtime_table_function.h"
#include <sqlite3.h>
#include <cstddef>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "perfetto/base/logging.h"
#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/sqlite/bindings/sqlite_result.h"
#include "src/trace_processor/sqlite/module_lifecycle_manager.h"
#include "src/trace_processor/sqlite/sqlite_utils.h"
#include "src/trace_processor/tp_metatrace.h"
#include "src/trace_processor/util/sql_argument.h"
namespace perfetto::trace_processor {
namespace {
void ResetStatement(sqlite3_stmt* stmt) { … }
auto CreateTableStrFromState(RuntimeTableFunctionModule::State* state) { … }
}
int RuntimeTableFunctionModule::Create(sqlite3* db,
void* ctx,
int,
const char* const* argv,
sqlite3_vtab** vtab,
char**) { … }
int RuntimeTableFunctionModule::Destroy(sqlite3_vtab* vtab) { … }
int RuntimeTableFunctionModule::Connect(sqlite3* db,
void* ctx,
int,
const char* const*,
sqlite3_vtab** vtab,
char** argv) { … }
int RuntimeTableFunctionModule::Disconnect(sqlite3_vtab* vtab) { … }
int RuntimeTableFunctionModule::BestIndex(sqlite3_vtab* tab,
sqlite3_index_info* info) { … }
int RuntimeTableFunctionModule::Open(sqlite3_vtab* tab,
sqlite3_vtab_cursor** cursor) { … }
int RuntimeTableFunctionModule::Close(sqlite3_vtab_cursor* cursor) { … }
int RuntimeTableFunctionModule::Filter(sqlite3_vtab_cursor* cur,
int,
const char*,
int argc,
sqlite3_value** argv) { … }
int RuntimeTableFunctionModule::Next(sqlite3_vtab_cursor* cur) { … }
int RuntimeTableFunctionModule::Eof(sqlite3_vtab_cursor* cur) { … }
int RuntimeTableFunctionModule::Column(sqlite3_vtab_cursor* cur,
sqlite3_context* ctx,
int N) { … }
int RuntimeTableFunctionModule::Rowid(sqlite3_vtab_cursor*, sqlite_int64*) { … }
}