Files
Home-AssistantConfig/deps/sqlalchemy/sql/__pycache__/crud.cpython-34.pyc

95 lines
14 KiB
Plaintext
Raw Normal View History

2016-10-11 16:42:06 +00:00
<EFBFBD>
|<7C><>W}M<00>@sLdZddlmZddlmZddlmZddlZejdd <00>Zd
d <00>Zd d ddd<00>Z dd<00>Z
dd<00>Z dd<00>Z dd<00>Z dd<00>Zd ddd<00>ZGdd<00>dej<00>Zdd<00>Zd d!<00>Zd"d#<00>Zd$d%<00>Zd&d'<00>Zd(d)<00>Zd*d+<00>Zd,d-<00>Zd.d/<00>ZdS)0ziFunctions used by compiler.py to determine the parameters rendered
within INSERT and UPDATE statements.
<EFBFBD>)<01>util)<01>exc<78>)<01>elements<74>N<>REQUIREDa1
Placeholder for the value within a :class:`.BindParameter`
which is required to be present when the statement is passed
to :meth:`.Connection.execute`.
This symbol is typically used when a :func:`.expression.insert`
or :func:`.expression.update` statement is compiled without parameter
values present.
c
s(g<00>_g<00>_g<00>_<00>jdkrV|jdkrV<00>fdd<00>|jjD<>S|jro|jd<19>n |j<00>t<00><00>\<00>}}<00>jdkr<>i}n%t <00><00>fdd<00><00>jD<><00>}g}<00>dk r<>t
<00>|<00><00>||<00>ni}<00>j r8|j r8<01>r8t <00>|<00>|||||<00>n<00>jro|jrot<00>|||<00>||||<00> n"t<00>|||<00>||||<00> |r<02>rt|<00>j<00>fdd<00><00>D<><00>j|<00>}|rtjdd jd
d<00>|D<><00><16><00>qn|jr$t<00>|||<00>}n|S) aPcreate a set of tuples representing column/string pairs for use
in an INSERT or UPDATE statement.
Also generates the Compiled object's postfetch, prefetch, and
returning column collections, used for default handling and ultimately
populating the ResultProxy's prefetch_cols() and postfetch_cols()
collections.
Nc s.g|]$}|t<00>|ddd<00>f<00>qS)N<>requiredT)<01>_create_bind_param)<02>.0<EFBFBD>c)<01>compiler<65><00>9/tmp/pip-build-zkr322cu/sqlalchemy/sqlalchemy/sql/crud.py<70>
<listcomp>0s z$_get_crud_params.<locals>.<listcomp>rc3s4|]*}<00> s|<00>kr<00>|<00>tfVqdS)N)r)r
<00>key)<02>_column_as_key<65>stmt_parametersr r<00> <genexpr>Esz#_get_crud_params.<locals>.<genexpr>c3s|]}<00>|<00>VqdS)Nr )r
<00>k)rr rrhszUnconsumed column names: %sz, css|]}d|VqdS)z%sNr )r
r r r rrms)<19> postfetch<63>prefetch<63> returningZ column_keys<79>
parameters<EFBFBD>table<6C>columns<6E>_has_multi_parameters<72>_key_getters_for_crud_column<6D>dict<63>_get_stmt_parameters_params<6D>isupdate<74> _extra_froms<6D>_get_multitable_params<6D>isinsert<72> select_names<65>_scan_insert_from_select_cols<6C>
_scan_cols<EFBFBD>set<65> intersection<6F>
differencer<00> CompileError<6F>join<69>_extend_values_for_multiparams) r <00>stmt<6D>kw<6B>_getattr_col_key<65>_col_bind_namer<00>values<65> check_columns<6E>checkr )rr rr<00>_get_crud_paramssT           1& r3TFcKsa|dkr|j}ntj||d|jd|<00>}d|_|r]|j||<00>}n|S)N<>type_rT)rr<00> BindParameter<65>typeZ_is_crudZ_compiler_dispatch)r <00>col<6F>value<75>processr<00>namer-Z bindparamr r rr vs   r cs<>|jr`|jjr`t|jj<00><00><00>fdd<00>}<00>fdd<00>}<00>fdd<00>}ntj}tjd<00>}}|||fS)NcsEtj|<00>}t|d<00>r=|j<00>kr=|jj|fS|SdS)Nr)rr<00>hasattrrr:)rZstr_key)<01>_etr rr<00>sz4_key_getters_for_crud_column.<locals>._column_as_keycs-|j<00>kr"|jj|jfS|jSdS)N)rr:r)r7)r<r rr.<00>sz6_key_getters_for_crud_column.<locals>._getattr_col_keycs1|j<00>kr&d|jj|jfS|jSdS)Nz%s_%s)rr:r)r7)r<r rr/<00>sz4_key_getters_for_crud_column.<locals>._col_bind_namer)rZ statementr r&rr<00>operator<6F>
attrgetter)r rr.r/r )r<rr<00>s rc sit|<00><00>\} }
} } <00><00>fdd<00><00>jD<>} <00>j|_g}<00>jr<>t| <00>}x<<00>jjD]+}||krn|jrn| j |<00>qnqnWnxk| D]c}||<00>}||kr<>||kr<>|j
|<00>|j |df<00>q<>t |<00>|||<00>q<>W|re|j |<00>|jj <00>|_t|jj<00>tdd<00>|D<><00>|j_ndS)Ncs&g|]}<00>jj<00>|<00><19>qSr )rr )r
r:)rr,r rr<00>s z1_scan_insert_from_select_cols.<locals>.<listcomp>css|]\}}|VqdS)Nr )r
r7<00>exprr r rr<00>sz0_scan_insert_from_select_cols.<locals>.<genexpr>)<10>_get_returning_modifiersr#<00>selectZ_insert_from_selectZ#include_insert_from_select_defaultsr&rr<00>default<6C>append<6E>pop<6F>&_append_param_insert_select_hasdefault<6C>extendZ _generate<74>tupleZ _raw_columns)r r,rr.rr/r1r0r-<00>need_pks<6B>implicit_returning<6E>implicit_return_defaults<74>postfetch_lastrowid<69>colsZadd_select_colsZcol_setr7r <00>col_keyr )rr,rr$<00>s,        r$c  s,t|<00><00>\} }
} } <00>jr<><00>fdd<00><00>jD<>} t| <00><00><00>fdd<00>| D<><00>fdd<00><00>jjD<>}n <00>jj}x<>|D]<5D>}||<00>}||kr<>||kr<>t|<00>|||||
| ||<00>
q<>|jr<>|jrY| rY|
s!| s!|<00>jj k rY|
r@t
|<00>|||<00>q<>t |<00>|||<00>q$|j dk r<>t |<00>|| ||<00>q$|jdk r<>| r<>|| kr<>|jj|<00>q<>|js<>|jj|<00>q<>q$| r$|| kr$|jj|<00>q$q<>|jr<>t|<00>|| ||<00>q<>q<>WdS)Ncsg|]}<00>|<00><00>qSr r )r
r)rr rr<00>s z_scan_cols.<locals>.<listcomp>cs g|]}<00>jj|<19>qSr )rr )r
r)r,r rr<00>s cs%g|]}|j<00>kr|<00>qSr )r)r
r )<01> ordered_keysr rr<00>s )r@Z_parameter_orderingr&rr r<00>_append_param_parameterr"<00> primary_key<65>_autoincrement_column<6D>!_append_param_insert_pk_returning<6E>_append_param_insert_pkrB<00>_append_param_insert_hasdefaultZserver_defaultrrCrr<00>_append_param_update)r r,rr.rr/r1r0r-rHrIrJrKZparameter_orderingrLr rMr )rrNr,rr%<00>sN  #           r%c
CsV|j|<00>}
tj|
<00>rgt|||
d|
tkd|jsN||<00>n d||<00>| <00>}
n<>t|
tj<00>r<>|
jj r<>|
j
<00>}
|j|
_n|j r<>|r<>|j j |<00>|j|
j<00>| <00>}
ne|r||kr|j j |<00>|j|
j<00>| <00>}
n(|jj |<00>|j|
j<00>| <00>}
|j ||
f<00>dS)Nrr:z%s_0)rDr<00> _is_literalr rr<00>
isinstancer5r6Z_isnullZ_clonerPrrCr9<00>
self_groupr) r r,r rMrr/rIrJr0r-r8r r rrO s*     rOcCs<>|jdk r<>|jjr|jjrl|jj sA|jj rl|j|j|<00>}|j||f<00>n|jj|<00>q<>|jj r<>|j||j|jj
j <00>|<00>f<00>|jj|<00>q<>|j|t ||<00>f<00>n|jj|<00>dS)N) rB<00> is_sequence<63>dialect<63>supports_sequences<65>optional<61>sequences_optionalr9rCr<00>is_clause_element<6E>argrX<00>_create_prefetch_bind_param)r r,r r0r-<00>procr r rrR,s       rRcCs2t||dd|d|<00>}|jj|<00>|S)Nr9r:)r rrC)r r r9r:<00>paramr r rr`Dsr`c@s(eZdZdd<00>Zdd<00>ZdS)<06>_multiparam_columncCs?d|j|df|_||_|j|_|j|_dS)Nz%s_%dr)r<00>originalrBr6)<03>selfrd<00>indexr r r<00>__init__Ks  z_multiparam_column.__init__cCs1t|t<00>o0|j|jko0|j|jkS)N)rWrcrrd)re<00>otherr r r<00>__eq__Qsz_multiparam_column.__eq__N)<05>__name__<5F>
__module__<EFBFBD> __qualname__rgrir r r rrcJs  rccCsg|jstjd|<16><00>nD|jjrG|j|jjj<00>|<00>St||<00>}t||<00>SdS)Nz<4E>INSERT value for column %s is explicitly rendered as a boundparameter in the VALUES clause; a Python-side value or SQL expression is required) rBrr)r^r9r_rXrcr`)r r rfr-r7r r r<00> _process_multiparam_default_bindWs   rmcCsu|jdk r(|jj sR|jjsR||jjkrq|jjsR|jjrq|j|t||<00>f<00>ndS)N) rBrYrZr[rrQZ"preexecute_autoincrement_sequencesrCr`)r r,r r0r-r r rrSes    rScCsB|jjr<>|jjr>|jj s2|jj r>|j|j|<00>}|j||f<00>|r||kr|jj|<00>q<>|j s<>|j
j|<00>q<>q>n<>|jj r"|j|jj j <00>|<00>}|j||f<00>|r||kr|jj|<00>q>|j s>|j
j|<00>q>n|j|t||<00>f<00>dS)N)rBrYrZr[r\r]r9rCrrPrr^r_rXr`)r r,r rJr0r-rar r rrTts*         rTcCs<>|jjrT|jjr<>|jj s2|jj r<>|j}|j||f<00>q<>nV|jjr<>|jjj <00>}|j||f<00>n"|j|t
||dd<00>f<00>dS)Nr9F) rBrYrZr[r\r]rCr^r_rXr`)r r,r r0r-rar r rrE<00>s      rEcCs)|jdk r<>|jj r<>|jjr<>|j||j|jjj<00>|<00>f<00>|rx||krx|jj|<00>q<>|jj|<00>q%|j|t ||<00>f<00>n{|j
dk r<>|r<>||kr<>|jj|<00>q%|jj|<00>n4|r%|j dk r%||kr%|jj|<00>ndS)NT) <0C>onupdaterYr^rCr9r_rXrrr`<00>server_onupdate<74>_return_defaults)r r,r rJr0r-r r rrU<00>s(     rUc Cs<>tdd<00>|j<00>D<><00>}t<00>} x<>|jD]<5D>}
x<>|
jD]<5D>} | |krB| j|
<00>| ||| <00><|| } tj| <00>r<>t|| | d| t kd|| <00><00>} n(|j
j | <00>|j | j <00>|<00>} |j | | f<00>qBqBWq2Wx<57>| D]<5D>}
x<>|
jD]<5D>} | |kr,qq| jdk r<>| jj r<>| jjr<>|j | |j | jjj <00>|<00>f<00>|j
j | <00>q<>|j | t|| d|| <00><00>f<00>q| jdk r|j
j | <00>qqWqWdS)Ncss*|] \}}tj|<00>|fVqdS)N)rZ_clause_element_as_expr)r
r rbr r rr<00>sz)_get_multitable_params.<locals>.<genexpr>rr:)r<00>itemsr&r r <00>addrrVr rrrCr9rXrnrYr^r_r`ro) r r,rr1r/r.r0r-Znormalized_paramsZaffected_tables<65>tr r8r r rr!<00>sD    
      r!csL|<00>|g}|j<00><00><00>fdd<00>t|jdd<00><19>D<><00>|S)Nc3s7|]-\<00><00><00><00><00><00>fdd<00><00>D<>VqdS)c s<>g|]<5D>\}}||j<00>kr<>tj<00>|j<19>rjt<00>|<00>|jdd|j<00>df<16>q<><00>j<00>|jj<00><00><00>nt<00>|<00><00><00>f<00>qS)r:z%s_%dr)rrrVr r9rXrm)r
r rb)r <00>ir-<00>rowr rr<00>s z<_extend_values_for_multiparams.<locals>.<genexpr>.<listcomp>Nr )r
)r r-<00>values_0)rtrurr<00>sz1_extend_values_for_multiparams.<locals>.<genexpr>r)rF<00> enumerater)r r,r0r-r )r r-rvrr+<00>s  r+c Cs<>x<>|j<00>D]<5D>\}}||<00>}|dk rD|j||<00>q tj|<00>r}|jtjd|d|j<00>|<00>}n|j|j<00>|<00>}|j||f<00>q WdS)Nr4) rq<00>
setdefaultrrVr9r5r6rXrC) r rrrr0r-r<00>vZcolkeyr r rr
s   rcCs<>|jo$|j o$|j o$|j }|oB|jjoB|jj}|jr`|oZ|j}n3|jr<>|jjo<>|jjo<>|j}nd}|r<>|jdkr<>t |jj
<00>}q<>t |j<00>}n|o<>|jj }||||fS)NFT) r"<00>inlineZ
_returningrrZrIrrprr&r rK)r r,rHrIrJrKr r rr@s, 


        r@)<1B>__doc__<5F>rrrr=<00>symbolrr3r rr$r%rOrRr`Z ColumnElementrcrmrSrTrErUr!r+rr@r r r r<00><module> s2   Z $ % A        0