Repository URL to install this package:
|
Version:
3.4.51 ▾
|
ó
EYc @ s d Z d d l m Z m Z d d l Z d d l m Z d d l Z d d l Z e j d Z
e j d Z d e f d
YZ
d Z e j d Z d
e j f d YZ d e j f d YZ d e f d YZ d e f d YZ d e f d YZ d e f d YZ d e f d YZ d e j f d YZ d e j e f d YZ d e j f d YZ d d! Z d S(" s4 Foundational utilities common to many sql modules.
i ( t utilt exciÿÿÿÿNi ( t
ClauseVisitort PARSE_AUTOCOMMITt NO_ARGt Immutablec B s) e Z d Z d Z d Z d Z RS( s@ mark a ClauseElement as 'immutable' when expressions are cloned.c O s t d d S( Ns( Immutable objects do not support copying( t NotImplementedError( t selft optionaldictt kwargs( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt
unique_params s c O s t d d S( Ns( Immutable objects do not support copying( R ( R R R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt params s c C s | S( N( ( R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt _clone s ( t __name__t
__module__t __doc__R
R R ( ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR s c G s# t j g | D] } | j ^ q
S( N( t itertoolst chaint
_from_objects( t elementst element( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR $ s c O s( | d j } | | | d | | S( s Mark a method as generative.i i ( t _generate( t fnt argst kwR ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt _generative( s t _DialectArgViewc B sM e Z d Z d Z d Z d Z d Z d Z d Z d Z RS( sa A dictionary view of dialect-level arguments in the form
<dialectname>_<argument_name>.
c C s
| | _ d S( N( t obj( R R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt __init__7 s c C sJ y | j d d \ } } Wn t k
r; t | n X| | f Sd S( Nt _i ( t splitt
ValueErrort KeyError( R t keyt dialectt value_key( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt _key: s
c C sX | j | \ } } y | j j | } Wn t j k
rK t | n X| | Sd S( N( R$ R t dialect_optionsR t NoSuchModuleErrorR ( R R! R" R# t opt( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt __getitem__B s c C sT y | j | \ } } Wn t k
r; t j d n X| | j j | | <d S( Ns0 Keys must be of the form <dialectname>_<argname>( R$ R R t
ArgumentErrorR R% ( R R! t valueR" R# ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt __setitem__L s
c C s* | j | \ } } | j j | | =d S( N( R$ R R% ( R R! R" R# ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt __delitem__U s c C s t d | j j j D S( Nc s s | ] } t | j Vq d S( N( t lent
_non_defaults( t .0R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pys <genexpr>Z s ( t sumR R% t values( R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt __len__Y s c s f d j j D S( Nc 3 sB | ]8 } j j | j D] } t j d | | f Vq q d S( s %s_%sN( R R% R. R t
safe_kwarg( R/ t dialect_namet
value_name( R ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pys <genexpr>_ s ( R R% ( R ( ( R sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyt __iter__] s (
R
R R R R$ R( R+ R, R2 R6 ( ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR 1 s
t _DialectArgDictc B sD e Z d Z d Z d Z d Z d Z d Z d Z RS( s¼ A dictionary view of dialect-level arguments for a specific
dialect.
Maintains a separate collection of user-specified arguments
and dialect-specified default arguments.
c C s i | _ i | _ d S( N( R. t _defaults( R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR o s c C s t t | j j | j S( N( R- t setR. t unionR8 ( R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR2 s s c C s t t | j j | j S( N( t iterR9 R. R: R8 ( R ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR6 v s c C s) | | j k r | j | S| j | Sd S( N( R. R8 ( R R! ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR( y s c C s | | j | <d S( N( R. ( R R! R* ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR+ s c C s | j | =d S( N( R. ( R R! ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR, s ( R
R R R R2 R6 R( R+ R, ( ( ( sH /home/tvault/.virtenv/lib/python2.7/site-packages/sqlalchemy/sql/base.pyR7 f s t
DialectKWArgsc B s e Z d Z e d Z e j d Z e d Z e j
d d Z e j e Z
d Z e j d Z d Z RS( s9 Establish the ability for a class to have dialect-specific arguments
with defaults and constructor validation.
The :class:`.DialectKWArgs` interacts with the
:attr:`.DefaultDialect.construct_arguments` present on a dialect.
.. seealso::
:attr:`.DefaultDialect.construct_arguments`
c C sZ t j | } | d k r/ t j d | n | | k rH i | | <n | | | | <d S( s Add a new kind of dialect-specific keyword argument for this class.
E.g.::
Index.argument_for("mydialect", "length", None)
some_index = Index('a', 'b', mydialect_length=5)
The :meth:`.DialectKWArgs.argument_for` method is a per-argument
way adding extra arguments to the
:attr:`.DefaultDialect.construct_arguments` dictionary. This
dictionary provides a list of argument names accepted by various
schema-level constructs on behalf of a dialect.
New dialects should typically specify this dictionary all at once as a
data member of the dialect class. The use case for ad-hoc addition of
argument names is typically for end-user code that is also using
a custom compilation scheme which consumes the additional arguments.
:param dialect_name: name of a dialect. The dialect must be
locatable, else a :class:`.NoSuchModuleError` is raised. The
dialect must also include an existing
:attr:`.DefaultDialect.construct_arguments` collection, indicating
that it participates in the keyword-argument validation and default
system, else :class:`.ArgumentError` is raised. If the dialect does
not include this collection, then any keyword argument can be
specified on behalf of this dialect already. All dialects packaged
within SQLAlchemy include this collection, however for third party
dialects, support may vary.
:param argument_name: name of the parameter.
:param default: default value of the parameter.
.. versionadded:: 0.9.4
sR Dialect '%s' does have keyword-argument validation and defaults enabled configuredN( R<