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
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
lsst.dax.apdb.schema_model.Constraint Class Reference
Inheritance diagram for lsst.dax.apdb.schema_model.Constraint:
lsst.dax.apdb.schema_model.CheckConstraint lsst.dax.apdb.schema_model.ForeignKeyConstraint lsst.dax.apdb.schema_model.UniqueConstraint

Public Member Functions

Constraint from_felis (cls, felis.datamodel.Constraint dm_constr, Mapping[str, Column] columns)
 

Static Public Attributes

str name | None
 
str id
 
bool deferrable = False
 
str initially = None
 
str description = None
 
Mapping annotations = dataclasses.field(default_factory=dict)
 

Detailed Description

Constraint description, this is a base class, actual constraints will be
instances of one of the subclasses.

Definition at line 191 of file schema_model.py.

Member Function Documentation

◆ from_felis()

Constraint lsst.dax.apdb.schema_model.Constraint.from_felis ( cls,
felis.datamodel.Constraint dm_constr,
Mapping[str, Column] columns )
Convert Felis constraint definition into instance of this class.

Parameters
----------
dm_const : `felis.datamodel.Constraint`
    Felis constraint definition.
columns : `~collections.abc.Mapping` [`str`, `Column`]
    Mapping of column ID to `Column` instance.

Returns
-------
constraint : `Constraint`
    Converted constraint definition.

Definition at line 215 of file schema_model.py.

215 def from_felis(cls, dm_constr: felis.datamodel.Constraint, columns: Mapping[str, Column]) -> Constraint:
216 """Convert Felis constraint definition into instance of this class.
217
218 Parameters
219 ----------
220 dm_const : `felis.datamodel.Constraint`
221 Felis constraint definition.
222 columns : `~collections.abc.Mapping` [`str`, `Column`]
223 Mapping of column ID to `Column` instance.
224
225 Returns
226 -------
227 constraint : `Constraint`
228 Converted constraint definition.
229 """
230 if isinstance(dm_constr, felis.datamodel.UniqueConstraint):
231 return UniqueConstraint(
232 name=dm_constr.name,
233 id=dm_constr.id,
234 columns=[columns[c] for c in dm_constr.columns],
235 deferrable=dm_constr.deferrable,
236 initially=dm_constr.initially,
237 description=dm_constr.description,
238 annotations=_strip_keys(
239 dict(dm_constr),
240 ["name", "type", "id", "columns", "deferrable", "initially", "description"],
241 ),
242 )
243 elif isinstance(dm_constr, felis.datamodel.ForeignKeyConstraint):
244 return ForeignKeyConstraint(
245 name=dm_constr.name,
246 id=dm_constr.id,
247 columns=[columns[c] for c in dm_constr.columns],
248 referenced_columns=[columns[c] for c in dm_constr.referenced_columns],
249 deferrable=dm_constr.deferrable,
250 initially=dm_constr.initially,
251 description=dm_constr.description,
252 annotations=_strip_keys(
253 dict(dm_constr),
254 [
255 "name",
256 "id",
257 "type",
258 "columns",
259 "deferrable",
260 "initially",
261 "referenced_columns",
262 "description",
263 ],
264 ),
265 )
266 elif isinstance(dm_constr, felis.datamodel.CheckConstraint):
267 return CheckConstraint(
268 name=dm_constr.name,
269 id=dm_constr.id,
270 expression=dm_constr.expression,
271 deferrable=dm_constr.deferrable,
272 initially=dm_constr.initially,
273 description=dm_constr.description,
274 annotations=_strip_keys(
275 dict(dm_constr),
276 ["name", "id", "type", "expression", "deferrable", "initially", "description"],
277 ),
278 )
279 else:
280 raise TypeError(f"Unexpected constraint type: {dm_constr.type}")
281
282
283@dataclasses.dataclass

Member Data Documentation

◆ annotations

Mapping lsst.dax.apdb.schema_model.Constraint.annotations = dataclasses.field(default_factory=dict)
static

Definition at line 211 of file schema_model.py.

◆ deferrable

bool lsst.dax.apdb.schema_model.Constraint.deferrable = False
static

Definition at line 202 of file schema_model.py.

◆ description

str lsst.dax.apdb.schema_model.Constraint.description = None
static

Definition at line 208 of file schema_model.py.

◆ id

str lsst.dax.apdb.schema_model.Constraint.id
static

Definition at line 199 of file schema_model.py.

◆ initially

str lsst.dax.apdb.schema_model.Constraint.initially = None
static

Definition at line 205 of file schema_model.py.

◆ name

str lsst.dax.apdb.schema_model.Constraint.name | None
static

Definition at line 196 of file schema_model.py.


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