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

60 lines
6.8 KiB
Plaintext
Raw Normal View History

2016-10-11 16:42:06 +00:00
<EFBFBD>
|<7C><>W<EFBFBD>(<00>@s<>dZddlmZmZddlmZddlmZddlmZmZm Z m
Z
m Z m Z m Z mZmZmZmZmZmZmZmZmZmZddlmZmZmZmZdd ejefdd
d <00>Zd dd d <00>Z dd<00>Z!dd<00>Z"dd<00>Z#dd<00>Z$dd<00>Z%dd<00>Z&dd<00>Z'dd<00>Z(dd<00>Z)d d!<00>Z*i+e!fd"6e!fd#6e%fd$6e fd%6e fd&6e fd'6e fd(6e fd)6e fd*6e fd+6e fd,6eej+fd-6eej,fd.6eej-fd/6eej.fd06eej/fd16eej0fd26eej1fd36eej2fd46eej3fd56eej4fd66eej5fd76eej6fd86eej7fd96e"ej8fd:6e"ej9fd;6e"ej:fd<6e"ej;fd=6e#ej<fd>6e#ej=fd?6eej>fd@6eej?fdA6e*fdB6e'fdC6e'fdD6e(fdE6e)fdF6e)fdG6e&fdH6e$fdI6e$fdJ6e$fdK6e$fdL6Z@dMdN<00>ZAdS)Oz5Default implementation of SQL comparison operations.
<EFBFBD>)<02>exc<78>util<69>)<01>type_api)<01> operators)<11> BindParameter<65>True_<65>False_<65>BinaryExpression<6F>Null<6C> _const_expr<70>_clause_element_as_expr<70>
ClauseList<EFBFBD> ColumnElement<6E>
TextClause<EFBFBD>UnaryExpression<6F>collate<74> _is_literal<61>_literal_as_text<78> ClauseElement<6E>and_<64>or_)<04>
SelectBase<EFBFBD>Alias<61>
Selectable<EFBFBD> ScalarSelectNFc
Ksr|dkrtj}nt||tttf<17>r|tjtjfkr<>t|t ttf<00>r<>t
|t |<00>|d|d|d|<00>S|tjtj fkr<>t
|t |<00>tj dtj<00>S|tjtjfkrt
|t |<00>tjdtj <00>Stjd<00><00>nt|||<00>}|rLt
|||d|d|d|<00>St
|||d|d|d|<00>SdS)N<>type_<65>negate<74> modifierszMOnly '=', '!=', 'is_()', 'isnot()' operators can be used with None/True/False)rZ BOOLEANTYPE<50>
isinstancer rr r<00>eq<65>ne<6E>boolr
r<00>is_r <00>isnotr<00> ArgumentError<6F>_check_literal)<08>expr<70>op<6F>objr<00>reverseZ_python_is_types<65> result_type<70>kwargs<67>r-<00>G/tmp/pip-build-zkr322cu/sqlalchemy/sqlalchemy/sql/default_comparator.py<70>_boolean_compares@     
 
  r/cKs~t|||<00>}|r(||}}n ||}}|dkrb|jj||j<00>\}}nt|||d|d|<00>S)Nrr)r&Z
comparatorZ_adapt_expressionr
)r'r(r)r*r+<00>kw<6B>left<66>rightr-r-r.<00>_binary_operateHs   r3cKsE|tjkrt||<00>S|tjkr8t||<00>St<00><00>dS)N)rrr<00>NotImplementedError)r'r(<00>otherr0r-r-r.<00>_conjunction_operateYs
  r6cKs
||<00>S)Nr-)r'r(<00>fnr0r-r-r.<00>_scalarbsr8cKs<>t|<00>}t|t<00>r1t|||d|<00>St|t<00>r_t|||j<00>d||<00>St|ttf<00>r<>t|||d||<00>St|t<00>r<>t j
d|<16><00>ng}x||D]t}t |<00>s<>t|t j <00>s&t j
d|<16><00>q&n*|dkrt<00>}n|j||<00>}|j|<00>q<>Wt|<00>dkr<>tjd|<16>|t jkrs||kS||kSnt||t|<00>jd|<00>d|<00>S)Nrz>in_() accepts either a list of expressions or a selectable: %r<>z<>The IN-predicate on "%s" was invoked with an empty sequence. This results in a contradiction, which nonetheless can be expensive to evaluate. Consider alternative strategies for improved performance.Zagainst)r rrr/r<00> as_scalarrrrrZInvalidRequestErrorrrZColumnOperatorsr <00> _bind_param<61>append<6E>lenr<00>warn<72>in_oprZ
self_group)r'r(Zseq_or_selectableZ negate_opr0<00>args<67>or-r-r.<00>_in_implfsF 

      
  rBcOstd|j<16><00>dS)Nz1Operator '%s' is not supported on this expression)r4<00>__name__)r'r(<00>argr0r-r-r.<00>_unsupported_impl<70>srEcKs$t|d<00>r|jS|j<00>SdS)z%See :meth:`.ColumnOperators.__inv__`.<2E>negation_clauseN)<03>hasattrrFZ_negate)r'r(r0r-r-r.<00> _inv_impl<70>srHcKst|dtjd|j<00>S)z%See :meth:`.ColumnOperators.__neg__`.<2E>operatorr)rr<00>neg<65>type)r'r(r0r-r-r.<00> _neg_impl<70>srLc KsOt|tjt|tj|<00>dtjd|tjkrBtjntj|<00>S)z#See :meth:`.ColumnOperators.match`.r+r)r/r<00>match_opr&rZ MATCHTYPE<50> notmatch_op)r'r(r5r0r-r-r.<00> _match_impl<70>s  rOcKst|dtjd|j<00>S)z&See :meth:`.ColumnOperators.distinct`.rIr)rr<00> distinct_oprK)r'r(r0r-r-r.<00>_distinct_impl<70>srQc Ksst|tt|tj|<00>t|tj|<00>dtjdddd<00>|d|tjkrctjntjd|<00>S)z%See :meth:`.ColumnOperators.between`.rI<00>groupFZgroup_contentsrr)r
rr&rr<00>
between_op<EFBFBD> notbetween_op)r'r(ZcleftZcrightr0r-r-r.<00> _between_impl<70>s   rUcKs t||<00>S)N)r)r'r(r5r0r-r-r.<00> _collate_impl<70>srVrr<00>inv<6E>add<64>mul<75>sub<75>div<69>mod<6F>truedivZ custom_opZ concat_op<6F>lt<6C>ler!<00>gt<67>ger <00>like_op<6F>ilike_op<6F>
notlike_op<EFBFBD> notilike_opZ contains_opZ startswith_opZ endswith_opZdesc_opZasc_opZ nullsfirst_opZ nullslast_opr?<00>notin_opr#r$rrMrNrPrSrTrJ<00>getitem<65>lshift<66>rshift<66>containscCs<>t|ttf<00>rOt|t<00>rK|jjrK|j<00>}|j|_n|St|d<00>rm|j<00>}n!t|t j
j <00>r<>|j }nt|t tf<00>r<>|j<00>St|ttf<00>s<>|j||<00>S|SdS)N<>__clause_element__)rrrrrKZ_isnullZ_clonerGrkrZ
TypeEngineZ
Comparatorr'rrr:r;)r'rIr5r-r-r.r&s   
r&)B<>__doc__<5F>rrrr<00>elementsrrr r
r r r rrrrrrrrrrZ
selectablerrrrZNoneTyper"r/r3r6r8rBrErHrLrOrQrUrVrar`r r_r^r!rdrerbrcZnotcontains_opZnotstartswith_opZnotendswith_opZ _create_descZ _create_ascZ_create_nullsfirstZ_create_nullslastrfr?r#r$Zoperator_lookupr&r-r-r-r.<00><module> s<>p" 1  >