update sqlalchemy
This commit is contained in:
parent
6c6c3e68c6
commit
a4267212e4
192 changed files with 17429 additions and 9601 deletions
|
|
@ -1,5 +1,5 @@
|
|||
# engine/interfaces.py
|
||||
# Copyright (C) 2005-2014 the SQLAlchemy authors and contributors
|
||||
# Copyright (C) 2005-2016 the SQLAlchemy authors and contributors
|
||||
# <see AUTHORS file>
|
||||
#
|
||||
# This module is part of SQLAlchemy and is released under
|
||||
|
|
@ -150,6 +150,16 @@ class Dialect(object):
|
|||
This will prevent types.Boolean from generating a CHECK
|
||||
constraint when that type is used.
|
||||
|
||||
dbapi_exception_translation_map
|
||||
A dictionary of names that will contain as values the names of
|
||||
pep-249 exceptions ("IntegrityError", "OperationalError", etc)
|
||||
keyed to alternate class names, to support the case where a
|
||||
DBAPI has exception classes that aren't named as they are
|
||||
referred to (e.g. IntegrityError = MyException). In the vast
|
||||
majority of cases this dictionary is empty.
|
||||
|
||||
.. versionadded:: 1.0.5
|
||||
|
||||
"""
|
||||
|
||||
_has_events = False
|
||||
|
|
@ -242,7 +252,9 @@ class Dialect(object):
|
|||
|
||||
sequence
|
||||
a dictionary of the form
|
||||
{'name' : str, 'start' :int, 'increment': int}
|
||||
{'name' : str, 'start' :int, 'increment': int, 'minvalue': int,
|
||||
'maxvalue': int, 'nominvalue': bool, 'nomaxvalue': bool,
|
||||
'cycle': bool}
|
||||
|
||||
Additional column attributes may be present.
|
||||
"""
|
||||
|
|
@ -308,7 +320,15 @@ class Dialect(object):
|
|||
def get_table_names(self, connection, schema=None, **kw):
|
||||
"""Return a list of table names for `schema`."""
|
||||
|
||||
raise NotImplementedError
|
||||
raise NotImplementedError()
|
||||
|
||||
def get_temp_table_names(self, connection, schema=None, **kw):
|
||||
"""Return a list of temporary table names on the given connection,
|
||||
if supported by the underlying backend.
|
||||
|
||||
"""
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
def get_view_names(self, connection, schema=None, **kw):
|
||||
"""Return a list of all view names available in the database.
|
||||
|
|
@ -319,6 +339,14 @@ class Dialect(object):
|
|||
|
||||
raise NotImplementedError()
|
||||
|
||||
def get_temp_view_names(self, connection, schema=None, **kw):
|
||||
"""Return a list of temporary view names on the given connection,
|
||||
if supported by the underlying backend.
|
||||
|
||||
"""
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
def get_view_definition(self, connection, view_name, schema=None, **kw):
|
||||
"""Return view definition.
|
||||
|
||||
|
|
@ -638,20 +666,120 @@ class Dialect(object):
|
|||
return None
|
||||
|
||||
def reset_isolation_level(self, dbapi_conn):
|
||||
"""Given a DBAPI connection, revert its isolation to the default."""
|
||||
"""Given a DBAPI connection, revert its isolation to the default.
|
||||
|
||||
Note that this is a dialect-level method which is used as part
|
||||
of the implementation of the :class:`.Connection` and
|
||||
:class:`.Engine`
|
||||
isolation level facilities; these APIs should be preferred for
|
||||
most typical use cases.
|
||||
|
||||
.. seealso::
|
||||
|
||||
:meth:`.Connection.get_isolation_level` - view current level
|
||||
|
||||
:attr:`.Connection.default_isolation_level` - view default level
|
||||
|
||||
:paramref:`.Connection.execution_options.isolation_level` -
|
||||
set per :class:`.Connection` isolation level
|
||||
|
||||
:paramref:`.create_engine.isolation_level` -
|
||||
set per :class:`.Engine` isolation level
|
||||
|
||||
"""
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
def set_isolation_level(self, dbapi_conn, level):
|
||||
"""Given a DBAPI connection, set its isolation level."""
|
||||
"""Given a DBAPI connection, set its isolation level.
|
||||
|
||||
Note that this is a dialect-level method which is used as part
|
||||
of the implementation of the :class:`.Connection` and
|
||||
:class:`.Engine`
|
||||
isolation level facilities; these APIs should be preferred for
|
||||
most typical use cases.
|
||||
|
||||
.. seealso::
|
||||
|
||||
:meth:`.Connection.get_isolation_level` - view current level
|
||||
|
||||
:attr:`.Connection.default_isolation_level` - view default level
|
||||
|
||||
:paramref:`.Connection.execution_options.isolation_level` -
|
||||
set per :class:`.Connection` isolation level
|
||||
|
||||
:paramref:`.create_engine.isolation_level` -
|
||||
set per :class:`.Engine` isolation level
|
||||
|
||||
"""
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
def get_isolation_level(self, dbapi_conn):
|
||||
"""Given a DBAPI connection, return its isolation level."""
|
||||
"""Given a DBAPI connection, return its isolation level.
|
||||
|
||||
When working with a :class:`.Connection` object, the corresponding
|
||||
DBAPI connection may be procured using the
|
||||
:attr:`.Connection.connection` accessor.
|
||||
|
||||
Note that this is a dialect-level method which is used as part
|
||||
of the implementation of the :class:`.Connection` and
|
||||
:class:`.Engine` isolation level facilities;
|
||||
these APIs should be preferred for most typical use cases.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
:meth:`.Connection.get_isolation_level` - view current level
|
||||
|
||||
:attr:`.Connection.default_isolation_level` - view default level
|
||||
|
||||
:paramref:`.Connection.execution_options.isolation_level` -
|
||||
set per :class:`.Connection` isolation level
|
||||
|
||||
:paramref:`.create_engine.isolation_level` -
|
||||
set per :class:`.Engine` isolation level
|
||||
|
||||
|
||||
"""
|
||||
|
||||
raise NotImplementedError()
|
||||
|
||||
@classmethod
|
||||
def get_dialect_cls(cls, url):
|
||||
"""Given a URL, return the :class:`.Dialect` that will be used.
|
||||
|
||||
This is a hook that allows an external plugin to provide functionality
|
||||
around an existing dialect, by allowing the plugin to be loaded
|
||||
from the url based on an entrypoint, and then the plugin returns
|
||||
the actual dialect to be used.
|
||||
|
||||
By default this just returns the cls.
|
||||
|
||||
.. versionadded:: 1.0.3
|
||||
|
||||
"""
|
||||
return cls
|
||||
|
||||
@classmethod
|
||||
def engine_created(cls, engine):
|
||||
"""A convenience hook called before returning the final :class:`.Engine`.
|
||||
|
||||
If the dialect returned a different class from the
|
||||
:meth:`.get_dialect_cls`
|
||||
method, then the hook is called on both classes, first on
|
||||
the dialect class returned by the :meth:`.get_dialect_cls` method and
|
||||
then on the class on which the method was called.
|
||||
|
||||
The hook should be used by dialects and/or wrappers to apply special
|
||||
events to the engine or its components. In particular, it allows
|
||||
a dialect-wrapping class to apply dialect-level events.
|
||||
|
||||
.. versionadded:: 1.0.3
|
||||
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
class ExecutionContext(object):
|
||||
"""A messenger object for a Dialect that corresponds to a single
|
||||
|
|
@ -901,7 +1029,23 @@ class ExceptionContext(object):
|
|||
connection = None
|
||||
"""The :class:`.Connection` in use during the exception.
|
||||
|
||||
This member is always present.
|
||||
This member is present, except in the case of a failure when
|
||||
first connecting.
|
||||
|
||||
.. seealso::
|
||||
|
||||
:attr:`.ExceptionContext.engine`
|
||||
|
||||
|
||||
"""
|
||||
|
||||
engine = None
|
||||
"""The :class:`.Engine` in use during the exception.
|
||||
|
||||
This member should always be present, even in the case of a failure
|
||||
when first connecting.
|
||||
|
||||
.. versionadded:: 1.0.0
|
||||
|
||||
"""
|
||||
|
||||
|
|
@ -988,3 +1132,21 @@ class ExceptionContext(object):
|
|||
changing this flag.
|
||||
|
||||
"""
|
||||
|
||||
invalidate_pool_on_disconnect = True
|
||||
"""Represent whether all connections in the pool should be invalidated
|
||||
when a "disconnect" condition is in effect.
|
||||
|
||||
Setting this flag to False within the scope of the
|
||||
:meth:`.ConnectionEvents.handle_error` event will have the effect such
|
||||
that the full collection of connections in the pool will not be
|
||||
invalidated during a disconnect; only the current connection that is the
|
||||
subject of the error will actually be invalidated.
|
||||
|
||||
The purpose of this flag is for custom disconnect-handling schemes where
|
||||
the invalidation of other connections in the pool is to be performed
|
||||
based on other conditions, or even on a per-connection basis.
|
||||
|
||||
.. versionadded:: 1.0.3
|
||||
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue