HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyc
�
���ec@sbdZddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z	dd	lm
Z
dd
lmZddlmZddlm
Z
dd
lmZddlmZddlmZddlmZddlmZdWeejefedWd�ZedWd�ZedWd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d �Z$d!�Z%d"�Z&i4efd#6efd$6efd%6efd&6efd'6efd(6efd)6efd*6efd+6efd,6efd-6efd.6efd/6eej'fd06eej(fd16eej)fd26eej*fd36eej+fd46eej,fd56eej-fd66eej.fd76eej/fd86eej0fd96eej1fd:6eej2fd;6eej3fd<6eej4fd=6eej5fd>6eej6fd?6eej7fd@6eej8fdA6eej9fdB6eej:fdC6eej;fdD6eej<fdE6eej=fdF6eej>fdG6eej?fdH6e$fdI6e!fdJ6e!fdK6e"fdL6e#fdM6e#fdN6e fdO6efdP6efdQ6efdR6efdS6e%fdT6e%fdU6e&fdV6Z@dWS(Xs5Default implementation of SQL comparison operations.
i(t	coercions(t	operators(troles(ttype_api(tand_(tBinaryExpression(t
ClauseList(tcollate(tCollectionAggregate(tFalse_(tNull(tor_(tTrue_(tUnaryExpressioni(texc(tutilc	
Ks!|dkrtj}nt||tttf�r�|tjtj	fkr�t|t
ttf�r�t|tj
tj|�|d|d|d|�S|tjtjfkr�t|tj
tj|�|d|d|d|�S|rtj
tjd|d|d|�}q�|tjtjfkrTt|tj
tj|�tjdtjd|�S|tj	tjfkr�t|tj
tj|�tjdtjd|�Stjd��n$tj
tjd|d|d|�}|r�t|||d|d|d|�St|||d|d|d|�SdS(Nttype_tnegatet	modifierstelementtoperatortexprs~Only '=', '!=', 'is_()', 'is_not()', 'is_distinct_from()', 'is_not_distinct_from()' operators can be used with None/True/False(tNoneRtBOOLEANTYPEt
isinstanceR
RR	RteqtnetboolRRtexpectRt
ConstExprRoletis_distinct_fromtis_not_distinct_fromtis_tis_notRt
ArgumentErrortBinaryElementRole(	RtoptobjRtreverset_python_is_typest
_any_all_exprtresult_typetkwargs((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_boolean_compares`!				c	KsX|dkr9|jr!|j}q9|jr9tj}q9nt|||d|d||�S(NR&R)(Rtreturn_typet
is_comparisonRRt_binary_operate(RR$R%R&R)tkw((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_custom_op_operatess		cKs�tjtj|d|d|�}|r7||}}n
||}}|dkrq|jj||j�\}}nt|||d|d|�S(NRRRR(RRRR#Rt
comparatort_adapt_expressionR(RR$R%R&R)R/tlefttright((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyR.s
	cKsE|tjkrt||�S|tjkr8t||�St��dS(N(RRRtNotImplementedError(RR$totherR/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_conjunction_operate�s


cKs
||�S(N((RR$tfnR/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_scalar�scKs_tjtj|d|d|�}d|jkrF|jd\}}nt|||d||�S(NRRtin_opsR(RRRt
InElementRolet_annotationsR+(RR$tseq_or_selectablet	negate_opR/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_in_impl�scKs�t|jtj�sBt|jtj�rvt|jjtj�rvtjtj	|d|d|�}t
||||�St||||�dS(NRR(RttypeRt	INDEXABLEt
TypeDecoratortimplRRRR#R.t_unsupported_impl(RR$R6R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt
_getitem_impl�scOstd|j��dS(Ns1Operator '%s' is not supported on this expression(R5t__name__(RR$targR/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyRD�scKs$t|d�r|jS|j�SdS(s%See :meth:`.ColumnOperators.__inv__`.tnegation_clauseN(thasattrRHt_negate(RR$R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt	_inv_impl�scKst|dtjd|j�S(s%See :meth:`.ColumnOperators.__neg__`.RR(R
RtnegR@(RR$R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt	_neg_impl�sc
Ks^t|tjtjtj|d|dtj�dtjd|tjkrQtj	ntj|�S(s#See :meth:`.ColumnOperators.match`.RRR)R(
R+Rtmatch_opRRRR#Rt	MATCHTYPEtnot_match_op(RR$R6R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_match_impl�s	cKst|dtjd|j�S(s&See :meth:`.ColumnOperators.distinct`.RR(R
Rtdistinct_opR@(RR$R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_distinct_impl�scKs�t|ttjtj|d|dtj�tjtj|d|dtj�dtjdtdt�|d|tj	kr�tj
ntj	d|�S(s%See :meth:`.ColumnOperators.between`.RRtgrouptgroup_contentsRR(RRRRRR#RRtFalset
between_optnot_between_op(RR$tclefttcrightR/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt
_between_impl�s(			cKs
t||�S(N(R(RR$R6R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt
_collate_implsc
KsDt|tjtj|d|dtj�|dtjdi|d6�S(NRRRRtflags(RRRRR#Rtcomma_optnot_regexp_match_op(RR$tpatternR]R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_regexp_match_impl
s		cKsqt|ttjtj|d|dtj�tjtj|d|dtj�dtjdt�|di|d6�S(NRRRTRR](	RRRRRR#RR^RV(RR$R`treplacementR]R/((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt_regexp_replace_impls"		RRtinvtaddtmultsubtdivtmodttruedivt	custom_optjson_path_getitem_optjson_getitem_opt	concat_optany_optall_optlttleRtgttgeRRRtlike_optilike_optnot_like_optnot_ilike_optcontains_opt
startswith_optendswith_optdesc_optasc_optnulls_first_opt
nulls_last_optin_opt	not_in_opR R!RRNRPRRRWRXRLtgetitemtlshifttrshifttcontainstregexp_match_opR_tregexp_replace_opN(At__doc__tRRRRtelementsRRRRRR	R
RRR
RRRRVtNoneTypeRR+R0R.R7R9R?RERDRKRMRQRSR[R\RaRct_create_anyt_create_allRtRsRRrRqRRRRwRxRuRvtnot_contains_optnot_startswith_optnot_endswith_opt_create_desct_create_asct_create_nulls_firstt_create_nulls_lastR�R�R R!toperator_lookup(((sR/opt/alt/python27/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.pyt<module>	s�M