Lines Matching defs:Table
35 // Abstract base class representing a SQLite virtual table. Implements the
38 class Table : public sqlite3_vtab {
41 std::function<std::unique_ptr<Table>(sqlite3*, const TraceStorage*)>;
43 // Allowed types for columns in a table.
53 // Describes a column of this table.
74 virtual ~Table();
80 Cursor(Table* table);
83 // Methods to be implemented by derived table classes.
88 // Called to forward the cursor to the next row in the table.
109 friend class Table;
111 Table* table_ = nullptr;
114 // The schema of the table. Created by subclasses to allow the table class to
115 // do filtering and inform SQLite about the CREATE table statement.
131 // The names and types of the columns of the table.
134 // The primary keys of the table given by an offset into |columns|.
148 Table::Factory factory;
154 Table();
157 // |read_write| specifies whether the table can also be written to.
158 // |requires_args| should be true if the table requires arguments in order to
180 auto table = xdesc->factory(xdb, xdesc->storage);
181 table->name_ = xdesc->name;
183 auto opt_schema = table->Init(argc, argv);
185 PERFETTO_ELOG("Failed to create schema (table %s)",
192 PERFETTO_DLOG("Create table statement: %s", create_stmt.c_str());
199 table->schema_ = std::move(schema);
200 *tab = table.release();
259 // Register virtual tables into an internal 'perfetto_tables' table. This is
270 PERFETTO_ELOG("Error registering table: %s", error);
276 // Methods to be implemented by derived table classes.
300 return std::unique_ptr<Table>(new TableType(db, storage));
319 Table(const Table&) = delete;
320 Table& operator=(const Table&) = delete;