lsst.dax.apdb g295015adf3+d10818ec9d
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql Class Reference
Inheritance diagram for lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql:
lsst.dax.apdb.apdbMetadata.ApdbMetadata

Public Member Functions

 __init__ (self, sqlalchemy.engine.Engine engine, sqlalchemy.schema.Table|None 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)
 
bool table_exists (self)
 

Protected Attributes

 _engine
 
 _table
 

Detailed Description

Implementation of `ApdbMetadata` for SQL backend.

Parameters
----------
engine : `sqlalchemy.engine.Engine`
    Database access engine.
table : `sqlalchemy.schema.Table` or `None`
    Database table holding metadata. If table does not exists then `None`
    should be specified.

Member Function Documentation

◆ delete()

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.

◆ empty()

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.

◆ get()

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.

◆ items()

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.

◆ set()

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.

◆ table_exists()

bool lsst.dax.apdb.sql.apdbMetadataSql.ApdbMetadataSql.table_exists ( self)
Return `True` if metadata table exists.

The documentation for this class was generated from the following file: