LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, sqlalchemy.engine.Engine engine, str dia_object_index, str htm_index_column, str schema_file, str schema_name="ApdbSchema", str prefix="", str|None namespace=None, bool enable_replica=False) | |
bool | empty (self) |
None | makeSchema (self, bool drop=False) |
sqlalchemy.schema.Table | get_table (self, ApdbTables|ExtraTables table_enum) |
list[sqlalchemy.schema.Column] | get_apdb_columns (self, ApdbTables|ExtraTables table_enum) |
bool | has_replica_chunks (self) |
Static Public Attributes | |
tuple | pixel_id_tables = (ApdbTables.DiaObject, ApdbTables.DiaObjectLast, ApdbTables.DiaSource) |
Protected Member Functions | |
bool | _check_replica_chunks (self) |
Mapping[ApdbTables, schema_model.Table] | _make_apdb_tables (self, str mysql_engine="InnoDB") |
Mapping[ExtraTables, schema_model.Table] | _make_extra_tables (self, Mapping[ApdbTables, schema_model.Table] apdb_tables) |
list[schema_model.Column] | _replicaChunkColumns (self, ExtraTables table_enum, ApdbTables apdb_enum) |
list[schema_model.Index] | _replicaChunkIndices (self, ExtraTables table_enum, Mapping[str, schema_model.Column] column_map) |
list[schema_model.Constraint] | _replicaChunkConstraints (self, ExtraTables table_enum, schema_model.Table apdb_table, schema_model.Table parent_table, Mapping[str, schema_model.Column] column_map) |
Protected Attributes | |
_engine | |
_dia_object_index | |
_htm_index_column | |
_prefix | |
_enable_replica | |
_metadata | |
_apdb_tables | |
_extra_tables | |
_has_replica_chunks | |
_metadata_check | |
Class for management of APDB schema. Attributes ---------- objects : `sqlalchemy.Table` DiaObject table instance objects_last : `sqlalchemy.Table` DiaObjectLast table instance, may be None sources : `sqlalchemy.Table` DiaSource table instance forcedSources : `sqlalchemy.Table` DiaForcedSource table instance has_replica_chunks : `bool` If true then schema has tables for replication chunks. Parameters ---------- engine : `sqlalchemy.engine.Engine` SQLAlchemy engine instance dia_object_index : `str` Indexing mode for DiaObject table, see `ApdbSqlConfig.dia_object_index` for details. htm_index_column : `str` Name of a HTM index column for DiaObject and DiaSource tables. schema_file : `str` Name of the YAML schema file. schema_name : `str`, optional Name of the schema in YAML files. prefix : `str`, optional Prefix to add to all schema elements. namespace : `str`, optional Namespace (or schema name) to use for all APDB tables. enable_replica : `bool`, optional If `True` then use additional tables for replica chunks.
Definition at line 80 of file apdbSqlSchema.py.
lsst.dax.apdb.sql.apdbSqlSchema.ApdbSqlSchema.__init__ | ( | self, | |
sqlalchemy.engine.Engine | engine, | ||
str | dia_object_index, | ||
str | htm_index_column, | ||
str | schema_file, | ||
str | schema_name = "ApdbSchema", | ||
str | prefix = "", | ||
str | None | namespace = None, | ||
bool | enable_replica = False ) |
Reimplemented from lsst.dax.apdb.apdbSchema.ApdbSchema.
Definition at line 120 of file apdbSqlSchema.py.
|
protected |
Check whether database has tables for tracking insert IDs.
Definition at line 323 of file apdbSqlSchema.py.
|
protected |
Generate schema for regular tables. Parameters ---------- mysql_engine : `str`, optional MySQL engine type to use for new tables.
Definition at line 329 of file apdbSqlSchema.py.
|
protected |
Generate schema for insert ID tables.
Definition at line 349 of file apdbSqlSchema.py.
|
protected |
Return list of columns for replica chunks tables.
Definition at line 409 of file apdbSqlSchema.py.
|
protected |
Return set of constraints for replica chunk table.
Definition at line 443 of file apdbSqlSchema.py.
|
protected |
Return set of indices for replica chunk table.
Definition at line 429 of file apdbSqlSchema.py.
bool lsst.dax.apdb.sql.apdbSqlSchema.ApdbSqlSchema.empty | ( | self | ) |
Return True if database schema is empty. Returns ------- empty : `bool` `True` if none of the required APDB tables exist in the database, `False` if all required tables exist. Raises ------ InconsistentSchemaError Raised when some of the required tables exist but not all.
Definition at line 187 of file apdbSqlSchema.py.
list[sqlalchemy.schema.Column] lsst.dax.apdb.sql.apdbSqlSchema.ApdbSqlSchema.get_apdb_columns | ( | self, | |
ApdbTables | ExtraTables | table_enum ) |
Return list of columns defined for a table in APDB schema. Returned list excludes columns that are implementation-specific, e.g. ``pixelId`` column is not include in the returned list. Parameters ---------- table_enum : `ApdbTables` or `ExtraTables` Type of table. Returns ------- table : `list` [`sqlalchemy.schema.Column`] Table instance. Raises ------ ValueError Raised if ``table_enum`` is not valid for this database.
Definition at line 289 of file apdbSqlSchema.py.
sqlalchemy.schema.Table lsst.dax.apdb.sql.apdbSqlSchema.ApdbSqlSchema.get_table | ( | self, | |
ApdbTables | ExtraTables | table_enum ) |
Return SQLAlchemy table instance for a specified table type/enum. Parameters ---------- table_enum : `ApdbTables` or `ExtraTables` Type of table to return. Returns ------- table : `sqlalchemy.schema.Table` Table instance. Raises ------ ValueError Raised if ``table_enum`` is not valid for this database.
Definition at line 251 of file apdbSqlSchema.py.
bool lsst.dax.apdb.sql.apdbSqlSchema.ApdbSqlSchema.has_replica_chunks | ( | self | ) |
Whether insert ID tables are to be used (`bool`).
Definition at line 317 of file apdbSqlSchema.py.
None lsst.dax.apdb.sql.apdbSqlSchema.ApdbSqlSchema.makeSchema | ( | self, | |
bool | drop = False ) |
Create or re-create all tables. Parameters ---------- drop : `bool`, optional If True then drop tables before creating new ones.
Definition at line 222 of file apdbSqlSchema.py.
|
protected |
Definition at line 177 of file apdbSqlSchema.py.
|
protected |
Definition at line 134 of file apdbSqlSchema.py.
|
protected |
Definition at line 137 of file apdbSqlSchema.py.
|
protected |
Definition at line 133 of file apdbSqlSchema.py.
|
protected |
Definition at line 180 of file apdbSqlSchema.py.
|
protected |
Definition at line 248 of file apdbSqlSchema.py.
|
protected |
Definition at line 135 of file apdbSqlSchema.py.
|
protected |
Definition at line 139 of file apdbSqlSchema.py.
|
protected |
Definition at line 249 of file apdbSqlSchema.py.
|
protected |
Definition at line 136 of file apdbSqlSchema.py.
|
static |
Definition at line 117 of file apdbSqlSchema.py.