The oslo_db.sqlalchemy.types Module¶
-
class
oslo_db.sqlalchemy.types.JsonEncodedDict(mysql_as_long=False, mysql_as_medium=False)¶ Bases:
oslo_db.sqlalchemy.types.JsonEncodedTypeRepresents dict serialized as json-encoded string in db.
Note that this type does NOT track mutations. If you want to update it, you have to assign existing value to a temporary variable, update, then assign back. See this page for more robust work around: http://docs.sqlalchemy.org/en/rel_1_0/orm/extensions/mutable.html
-
type¶ alias of
dict
-
-
class
oslo_db.sqlalchemy.types.JsonEncodedList(mysql_as_long=False, mysql_as_medium=False)¶ Bases:
oslo_db.sqlalchemy.types.JsonEncodedTypeRepresents list serialized as json-encoded string in db.
Note that this type does NOT track mutations. If you want to update it, you have to assign existing value to a temporary variable, update, then assign back. See this page for more robust work around: http://docs.sqlalchemy.org/en/rel_1_0/orm/extensions/mutable.html
-
type¶ alias of
list
-
-
class
oslo_db.sqlalchemy.types.JsonEncodedType(mysql_as_long=False, mysql_as_medium=False)¶ Bases:
sqlalchemy.sql.type_api.TypeDecoratorBase column type for data serialized as JSON-encoded string in db.
-
impl¶ alias of
Text
-
process_bind_param(value, dialect)¶
-
process_result_value(value, dialect)¶
-
type= None¶
-
-
class
oslo_db.sqlalchemy.types.SoftDeleteInteger(*args, **kwargs)¶ Bases:
sqlalchemy.sql.type_api.TypeDecoratorCoerce a bound param to be a proper integer before passing it to DBAPI.
Some backends like PostgreSQL are very strict about types and do not perform automatic type casts, e.g. when trying to INSERT a boolean value like
falseinto an integer column. Coercing of the bound param in DB layer by the means of a custom SQLAlchemy type decorator makes sure we always pass a proper integer value to a DBAPI implementation.This is not a general purpose boolean integer type as it specifically allows for arbitrary positive integers outside of the boolean int range (0, 1, False, True), so that it’s possible to have compound unique constraints over multiple columns including
deleted(e.g. to soft-delete flavors with the same name in Nova without triggering a constraint violation):deletedis set to be equal to a PK int value on deletion, 0 denotes a non-deleted row.-
impl¶ alias of
Integer
-
process_bind_param(value, dialect)¶
-