structTableInfo { /** * Construct a new TableInfo instance. * @param schema The table schema * @param name The table name * @param table An owning pointer to the table heap * @param oid The unique OID for the table */ TableInfo(Schema schema, std::string name, std::unique_ptr<TableHeap> &&table, table_oid_t oid) : schema_{std::move(schema)}, name_{std::move(name)}, table_{std::move(table)}, oid_{oid} {} /** The table schema */ Schema schema_; /** The table name */ const std::string name_; /** An owning pointer to the table heap */ std::unique_ptr<TableHeap> table_; /** The table OID */ consttable_oid_t oid_; };
/** * Create a new table and return its metadata. * @param txn The transaction in which the table is being created * @param table_name The name of the new table * @param schema The schema of the new table * @return A (non-owning) pointer to the metadata for the table */