Hacked By AnonymousFox
�
�܋f�� � � � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd lm
Z
dd
lmZ ddlm
Z
ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlmZ ddl!m"Z" ddl!mZ# ddl!m$Z$ dd l%m&Z& dd!l'm(Z( dd"l)m*Z* g d#�Z+ej, Z-ej. e j/ G d$� d%e0� � � � � � Z1 G d&� d'e*� � Z2 G d(� d)e0� � Z3 G d*� d+e3� � Z4ej. G d,� d-e� � � � Z5 G d.� d/e3� � Z6 G d0� d1e3� � Z7 G d2� d3e0� � Z8 G d4� d5ej9 � � Z:d6S )7a The Query class and support.
Defines the :class:`_query.Query` class, the central
construct used by the ORM to construct database queries.
The :class:`_query.Query` class should not be confused with the
:class:`_expression.Select` class, which defines database
SELECT operations at the SQL (non-ORM) level. ``Query`` differs from
``Select`` in that it returns ORM-mapped objects and interacts with an
ORM session, whereas the ``Select`` construct interacts directly with the
database to return iterable result sets.
� )�chain� )�
attributes)�exc)�
interfaces)�loading)�persistence)�
properties��_entity_descriptor)�_generative)�_is_aliased_class)�_is_mapped_class��_orm_columns)�InspectionAttr)�PathRegistry)�_entity_corresponds_to)�aliased)�AliasedClass)�join)�
object_mapper)�
ORMAdapter)�with_parent� )�inspect)�
inspection)�log)�sql)�util)�
expression)�visitors)�ColumnCollection)�_interpret_as_from)�ForUpdateArg)�Query�QueryContextr c �
� e Zd ZdZdZdZdZdZdZdZ dZ
dZdZdZ
dZdZdZdZdZdZ e� � ZdZdZdZdZdZdZdZdZdZdZi Z dZ!dZ" e#j$ � � xZ%Z& e#j$ � � Z' e#j$ � � Z( e#j$ � � Z)dZ*dZ+dZ,dZ-dZ.e/Z0dZ1dZ2dZ3 d�d�Z4d�d�Z5d� Z6d � Z7d
� Z8d� Z9d� Z:d
� Z; e<� � d� � � Z= e<� � d� � � Z>d� Z?d� Z@d� ZAd� ZBeCd� � � ZDd� ZEd� ZFd� ZGd�d�ZHd� ZId� ZJd� ZKd�d�ZLd�d�ZMd� ZNd� ZOd � ZP d�d!�ZQd"� ZReCd#� � � ZSd�d$�ZTd�d%�ZUd&� ZVd'� ZWeCd(� � � ZXd)� ZY e<� � d*� � � ZZeCd+� � � Z[ e<� � d,� � � Z\d-� Z] e<� � d.� � � Z^ e<� � d/� � � Z_eCd0� � � Z` e<� � d1� � � Za e<eN� � d�d2�� � Zb e<� � d3� � � Zcd4� Zddeejf dfd5�Zgd�d6�Zh e<� � d7� � � Zi e<� � d8� � � Zj e<� � d9� � � Zk e<� � d:� � � Zld�d;�Zm e<� � d�d<�� � Zn e<� � d=� � � Zod>� Zp e<� � d?� � � Zq e<� � d@� � � ZrdA� ZsesZtdB� Zu e<� � dC� � � Zv e<� � dD� � � Zw e#jx dEdFd� � dG� � � ZydH� ZzdI� Z{ e<� � dJ� � � Z|dK� Z} e<� � d�dM�� � Z~d�dN�ZdO� Z� e<� � dP� � � Z� e<� � e#j� dQdR� � dS� � � � � Z� e<� � d�dT�� � Z� e<� � dU� � � Z� e<eOeP� � dV� � � Z�dW� Z� e<eOeP� � dX� � � Z� e<eOeP� � dY� � � Z� e<eOeP� � dZ� � � Z�d[� Z�d\� Z�d]� Z�d^� Z�d_� Z�d`� Z�da� Z�db� Z�dc� Z�dd� Z� e<eOeP� � de� � � Z�df� Z�dg� Z�dh� Z�di� Z�dj� Z� e<eO� � dk� � � Z� e<eN� � dl� � � Z� e<eN� � dm� � � Z�dn� Z� e<eO� � do� � � Z� e<eO� � dp� � � Z� e<eO� � dq� � � Z� e<eO� � dr� � � Z� e<� � ds� � � Z� e<� � dt� � � Z�du� Z� e<eN� � dv� � � Z�dw� Z�dx� Z�dy� Z�dz� Z�d{� Z�d|� Z�d}� Z�d~� Z�d� Z�d�� Z�eCd�� � � Z�d�d��Z�d�d��Z�eCd�� � � Z�eCd�� � � Z�d�� Z�d�� Z�d�d��Z�d�d��Z�d�d��Z�d�� Z�d�� Z�d�� Z�dS )�r&