diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-02-11 04:54:45 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-06-01 11:40:56 -0400 |
| commit | 349a7c5e0e2aeeac98fad789b0043a4bdfeed837 (patch) | |
| tree | 20c314304023752e4cd7bc7894f042cc7b9d7064 /lib/sqlalchemy/engine | |
| parent | 4fb6aca6cfc593c64cd7102cd70924d1b7caea05 (diff) | |
| download | sqlalchemy-349a7c5e0e2aeeac98fad789b0043a4bdfeed837.tar.gz | |
add backend agnostic UUID datatype
Added new backend-agnostic :class:`_types.Uuid` datatype generalized from
the PostgreSQL dialects to now be a core type, as well as migrated
:class:`_types.UUID` from the PostgreSQL dialect. Thanks to Trevor Gross
for the help on this.
also includes:
* corrects some missing behaviors in the suite literal fixtures
test where row round trips weren't being correctly asserted.
* fixes some of the ISO literal date rendering added in
952383f9ee0 for #5052 to truncate datetime strings for date/time
datatypes in the same way that drivers typically do for bound
parameters; this was not working fully and wasn't caught by the
broken test fixture
Fixes: #7212
Change-Id: I981ac6d34d278c18281c144430a528764c241b04
Diffstat (limited to 'lib/sqlalchemy/engine')
| -rw-r--r-- | lib/sqlalchemy/engine/default.py | 1 | ||||
| -rw-r--r-- | lib/sqlalchemy/engine/interfaces.py | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py index c188e155c..ea46a58ac 100644 --- a/lib/sqlalchemy/engine/default.py +++ b/lib/sqlalchemy/engine/default.py @@ -144,6 +144,7 @@ class DefaultDialect(Dialect): supports_native_enum = False supports_native_boolean = False + supports_native_uuid = False non_native_boolean_check_constraint = True supports_simple_order_by_label = True diff --git a/lib/sqlalchemy/engine/interfaces.py b/lib/sqlalchemy/engine/interfaces.py index e5414b70f..a096915a3 100644 --- a/lib/sqlalchemy/engine/interfaces.py +++ b/lib/sqlalchemy/engine/interfaces.py @@ -789,6 +789,14 @@ class Dialect(EventTarget): """indicates if Decimal objects are handled and returned for precision numeric types, or if floats are returned""" + supports_native_uuid: bool + """indicates if Python UUID() objects are handled natively by the + driver for SQL UUID datatypes. + + .. versionadded:: 2.0 + + """ + construct_arguments: Optional[ List[Tuple[Type[ClauseElement], Mapping[str, Any]]] ] = None |
