Repository URL to install this package:
Version:
4.0.108 ▾
|
ó 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<