Public Member Functions | |
| __init__ (self, ApdbSqlSchema schema, sqlalchemy.engine.Engine engine, VersionTuple db_schema_version, bool timer=False) | |
| VersionTuple | schemaVersion (self) |
| VersionTuple | apdbReplicaImplementationVersion (cls) |
| list[ReplicaChunk]|None | getReplicaChunks (self) |
| None | deleteReplicaChunks (self, Iterable[int] chunks) |
| ApdbTableData | getTableDataChunks (self, ApdbTables table, Iterable[int] chunks) |
| Sequence[ApdbUpdateRecord] | getUpdateRecordChunks (self, Iterable[int] chunks) |
Public Member Functions inherited from lsst.dax.apdb.apdbReplica.ApdbReplica | |
| ApdbReplica | from_config (cls, ApdbConfig config) |
| ApdbReplica | from_uri (cls, ResourcePathExpression uri) |
Protected Member Functions | |
| Timer | _timer (self, str name, *, Mapping[str, str|int]|None tags=None) |
| ApdbTableData | _get_chunks (self, Iterable[int] chunks, ApdbTables table_enum, ExtraTables chunk_table_enum) |
Protected Attributes | |
| _schema = schema | |
| _engine = engine | |
| _db_schema_version = db_schema_version | |
| list | _timer_args = [_MON] |
Implementation of `ApdbReplica` for SQL backend.
Parameters
----------
schema : `ApdbSqlSchema`
Instance of `ApdbSqlSchema` class for APDB database.
engine : `sqlalchemy.engine.Engine`
Engine for database access.
db_schema_version : `VersionTuple`
Version of the database schema.
timer : `bool`, optional
If `True` then log timing information.
|
protected |
Return catalog of records for given insert identifiers, common implementation for all DIA tables.
|
protected |
Create `Timer` instance given its name.
| VersionTuple lsst.dax.apdb.sql.apdbSqlReplica.ApdbSqlReplica.apdbReplicaImplementationVersion | ( | cls | ) |
Return version number for current ApdbReplica implementation.
Returns
-------
version : `VersionTuple`
Version of the code defined in implementation class.
Reimplemented from lsst.dax.apdb.apdbReplica.ApdbReplica.
| None lsst.dax.apdb.sql.apdbSqlReplica.ApdbSqlReplica.deleteReplicaChunks | ( | self, | |
| Iterable[int] | chunks ) |
Remove replication chunks from the database.
Parameters
----------
chunks : `~collections.abc.Iterable` [`int`]
Chunk identifiers to remove.
Notes
-----
This method causes Apdb to forget about specified chunks. If there
are any auxiliary data associated with the identifiers, it is also
removed from database (but data in regular tables is not removed).
This method should be called after successful transfer of data from
APDB to PPDB to free space used by replicas.
Reimplemented from lsst.dax.apdb.apdbReplica.ApdbReplica.
| list[ReplicaChunk] | None lsst.dax.apdb.sql.apdbSqlReplica.ApdbSqlReplica.getReplicaChunks | ( | self | ) |
Return collection of replication chunks known to the database.
Returns
-------
chunks : `list` [`ReplicaChunk`] or `None`
List of chunks, they may be time-ordered if database supports
ordering. `None` is returned if database is not configured for
replication.
Reimplemented from lsst.dax.apdb.apdbReplica.ApdbReplica.
| ApdbTableData lsst.dax.apdb.sql.apdbSqlReplica.ApdbSqlReplica.getTableDataChunks | ( | self, | |
| ApdbTables | table, | ||
| Iterable[int] | chunks ) |
Return catalog of new records for a table from given replica chunks.
Parameters
----------
table : `ApdbTables`
Table for which to return the data. Acceptable tables are
`ApdbTables.DiaObject`, `ApdbTables.DiaSource`, and
`ApdbTables.DiaForcedSource`.
chunks : `~collections.abc.Iterable` [`int`]
Chunk identifiers to return.
Returns
-------
data : `ApdbTableData`
Catalog containing table records. In addition to all regular
columns it will contain ``apdb_replica_chunk`` column.
Notes
-----
This method returns new records that have been added to the table by
`Apdb.store()` method. Updates to the records that happen at later time
are available from `getTableUpdateChunks` method.
This part of API may not be very stable and can change before the
implementation finalizes.
Reimplemented from lsst.dax.apdb.apdbReplica.ApdbReplica.
| Sequence[ApdbUpdateRecord] lsst.dax.apdb.sql.apdbSqlReplica.ApdbSqlReplica.getUpdateRecordChunks | ( | self, | |
| Iterable[int] | chunks ) |
Return the list of record updates from given replica chunks.
Parameters
----------
chunks : `~collections.abc.Iterable` [`int`]
Chunk identifiers to return.
Returns
-------
records : `~collections.abc.Sequence` [`ApdbUpdateRecord`]
Collection of update records. Records will be sorted according
their update time and update order.
Reimplemented from lsst.dax.apdb.apdbReplica.ApdbReplica.
| VersionTuple lsst.dax.apdb.sql.apdbSqlReplica.ApdbSqlReplica.schemaVersion | ( | self | ) |
Return version number of the database schema.
Returns
-------
version : `VersionTuple`
Version of the database schema.
Reimplemented from lsst.dax.apdb.apdbReplica.ApdbReplica.