Public Member Functions | |
| __init__ (self, sqlalchemy.engine.Engine engine, sqlalchemy.schema.Table table) | |
| str|None | get (self, str key, str|None default=None) |
| None | set (self, str key, str value, *, bool force=False) |
| bool | delete (self, str key) |
| Generator[tuple[str, str], None, None] | items (self) |
| bool | empty (self) |
Protected Attributes | |
| _engine = engine | |
| _table = table | |
Implementation of `ApdbMetadata` for SQL backend.
Parameters
----------
engine : `sqlalchemy.engine.Engine`
Database access engine.
table : `sqlalchemy.schema.Table`
Database table holding metadata.
| bool lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql.delete | ( | self, | |
| str | key ) |
Delete metadata record.
Parameters
----------
key : `str`
Metadata key, arbitrary non-empty string.
Returns
-------
existed : `bool`
`True` is returned if attribute existed before it was deleted.
Reimplemented from lsst.dax.apdb.apdbMetadata.ApdbMetadata.
| bool lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql.empty | ( | self | ) |
Check whether attributes set is empty.
Returns
-------
empty : `bool`
`True` if there are no any attributes defined. `True` is also
returned if metadata table is missing.
Reimplemented from lsst.dax.apdb.apdbMetadata.ApdbMetadata.
| str | None lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql.get | ( | self, | |
| str | key, | ||
| str | None | default = None ) |
Retrieve value of a given metadata record.
Parameters
----------
key : `str`
Metadata key, arbitrary non-empty string.
default : `str`, optional
Default value returned when key does not exist, can be string
or `None`.
Returns
-------
value : `str` or `None`
Metadata value, if key does not exist then ``default`` is returned.
Reimplemented from lsst.dax.apdb.apdbMetadata.ApdbMetadata.
| Generator[tuple[str, str], None, None] lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql.items | ( | self | ) |
Iterate over records and yield their keys and values.
Yields
------
key : `str`
Metadata key.
value : `str`
Corresponding metadata value.
Reimplemented from lsst.dax.apdb.apdbMetadata.ApdbMetadata.
| None lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql.set | ( | self, | |
| str | key, | ||
| str | value, | ||
| * | , | ||
| bool | force = False ) |
Set value for a given metadata record.
Parameters
----------
key : `str`
Metadata key, arbitrary non-empty string.
value : `str`
New metadata value, an arbitrary string. Due to deficiencies of
some database engines we are not allowing empty strings to be
stored in the database, and ``value`` cannot be an empty string.
force : `bool`, optional
Controls handling of existing metadata. With default `False`
value an exception is raised if ``key`` already exists, if `True`
is passed then value of the existing key will be updated.
Raises
------
KeyError
Raised if key already exists but ``force`` option is false.
ValueError
Raised if key or value parameters are empty.
Reimplemented from lsst.dax.apdb.apdbMetadata.ApdbMetadata.