
    -h                        S SK Jr   " S S\5      r " S S\5      r " S S\5      r " S S	\5      r " S
 S\5      r " S S\5      r " S S\5      r	 " S S\	5      r
 " S S\	5      r " S S\5      r " S S\5      r " S S\\\5      r " S S\5      r " S S\5      r " S S\\\5      r " S  S!\\5      r " S" S#\5      r " S$ S%\5      r " S& S'\\5      r " S( S)\5      r " S* S+\5      r " S, S-\5      r " S. S/\5      r " S0 S1\5      r " S2 S3\5      r " S4 S5\\\5      r " S6 S7\\5      r " S8 S9\5      r " S: S;\5      r " S< S=\5      r  " S> S?\5      r! " S@ SA\!\ 5      r" " SB SC\ 5      r# " SD SE\5      r$ " SF SG\\5      r% " SH SI\!5      r& " SJ SK\5      r' " SL SM\5      r( " SN SO\5      r) " SP SQ\!5      r* " SR SS\5      r+ " ST SU\5      r, " SV SW\,5      r-gX)Y   )utilc                        \ rS rSrSrSrSrSrg)SQLRole   zDefine a "role" within a SQL statement structure.

Classes within SQL Core participate within SQLRole hierarchies in order
to more accurately indicate where they may be used within SQL statements
of all types.

.. versionadded:: 1.4

F N)__name__
__module____qualname____firstlineno____doc__allows_lambdauses_inspection__static_attributes__r       iC:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\sqlalchemy/sql/roles.pyr   r      s     MOr   r   c                       \ rS rSrSrSrSrg)UsesInspection   NTr   )r   r	   r
   r   _post_inspectr   r   r   r   r   r   r      s    MOr   r   c                       \ rS rSrSrSrg)AllowsLambdaRole   Tr   N)r   r	   r
   r   r   r   r   r   r   r   r      s    Mr   r   c                       \ rS rSrSrSrg)HasCacheKeyRole#   zCacheable Core or ORM objectr   Nr   r	   r
   r   
_role_namer   r   r   r   r   r   #       /Jr   r   c                       \ rS rSrSrSrSrg)ExecutableOptionRole'   r   z"ExecutionOption Core or ORM objectN)r   r	   r
   r   	__slots__r   r   r   r   r   r    r    '   s    I5Jr   r    c                       \ rS rSrSrSrg)LiteralValueRole,   zLiteral Python valuer   Nr   r   r   r   r$   r$   ,   s    'Jr   r$   c                       \ rS rSrSrSrg)ColumnArgumentRole0   zColumn expressionr   Nr   r   r   r   r'   r'   0   s    $Jr   r'   c                       \ rS rSrSrSrg)ColumnArgumentOrKeyRole4   Column expression or string keyr   Nr   r   r   r   r*   r*   4       2Jr   r*   c                       \ rS rSrSrSrg)StrAsPlainColumnRole8   r,   r   Nr   r   r   r   r/   r/   8   r-   r   r/   c                       \ rS rSrSrSrg)ColumnListRole<   zCElements suitable for forming comma separated lists of expressions.r   N)r   r	   r
   r   r   r   r   r   r   r2   r2   <   s    Mr   r2   c                       \ rS rSrSrSrg)TruncatedLabelRole@   zString SQL identifierr   Nr   r   r   r   r5   r5   @   s    (Jr   r5   c                   (    \ rS rSrSr\S 5       rSrg)ColumnsClauseRoleD   z Column expression or FROM clausec                     [        5       eNNotImplementedErrorselfs    r   _select_iterable"ColumnsClauseRole._select_iterableG       !##r   r   N)r   r	   r
   r   r   propertyr@   r   r   r   r   r8   r8   D   s    3J$ $r   r8   c                       \ rS rSrSrSrg)LimitOffsetRoleL   zLIMIT / OFFSET expressionr   Nr   r   r   r   rE   rE   L   s    ,Jr   rE   c                       \ rS rSrSrSrg)ByOfRoleP   zGROUP BY / OF / etc. expressionr   Nr   r   r   r   rH   rH   P   r-   r   rH   c                       \ rS rSrSrSrg)GroupByRoleT   zGROUP BY expressionr   Nr   r   r   r   rK   rK   T   s	    
 'Jr   rK   c                       \ rS rSrSrSrg)OrderByRole\   zORDER BY expressionr   Nr   r   r   r   rN   rN   \   s    &Jr   rN   c                       \ rS rSrSrg)StructuralRole`   r   Nr   r	   r
   r   r   r   r   r   rQ   rQ   `       r   rQ   c                       \ rS rSrSrSrg)StatementOptionRoled   z statement sub-expression elementr   Nr   r   r   r   rV   rV   d   s    3Jr   rV   c                       \ rS rSrSrSrg)OnClauseRoleh   zSQL expression for ON clauser   Nr   r   r   r   rY   rY   h   r   r   rY   c                       \ rS rSrSrSrg)WhereHavingRolel   z$SQL expression for WHERE/HAVING roler   Nr   r   r   r   r\   r\   l   s    7Jr   r\   c                       \ rS rSrSrSrg)ExpressionElementRolep   zSQL expression elementr   Nr   r   r   r   r_   r_   p   s    )Jr   r_   c                       \ rS rSrSrSrg)ConstExprRolet   z#Constant True/False/None expressionr   Nr   r   r   r   rb   rb   t   s    6Jr   rb   c                       \ rS rSrSrg)LabeledColumnExprRolex   r   NrS   r   r   r   re   re   x   rT   r   re   c                       \ rS rSrSrSrg)BinaryElementRole|   z'SQL expression element or literal valuer   Nr   r   r   r   rh   rh   |   s    :Jr   rh   c                       \ rS rSrSrSrg)InElementRole   z?IN expression list, SELECT construct, or bound parameter objectr   Nr   r   r   r   rk   rk      s
    I r   rk   c                       \ rS rSrSrSrg)JoinTargetRole   zGJoin target, typically a FROM expression, or ORM relationship attributer   Nr   r   r   r   rn   rn      s    	! r   rn   c                   ,    \ rS rSrSrSr\S 5       rSrg)FromClauseRole   z2FROM expression, such as a Table or alias() objectFc                     [        5       er;   r<   r>   s    r   _hide_fromsFromClauseRole._hide_froms   rB   r   r   N)	r   r	   r
   r   r   _is_subqueryrC   rt   r   r   r   r   rq   rq      s    EJL$ $r   rq   c                   $    \ rS rSr\S 5       rSrg)StrictFromClauseRole   c                     [        5       er;   r<   r>   s    r   description StrictFromClauseRole.description   rB   r   r   N)r   r	   r
   r   rC   r{   r   r   r   r   rx   rx      s     $ $r   rx   c                       \ rS rSrSS jrSrg)AnonymizedFromClauseRole   Nc                     [        5       er;   r<   )r?   nameflats      r   _anonymous_fromclause.AnonymizedFromClauseRole._anonymous_fromclause   s    !##r   r   )NF)r   r	   r
   r   r   r   r   r   r   r~   r~      s    $r   r~   c                       \ rS rSrSrSrg)ReturnsRowsRole   zcRow returning expression such as a SELECT, a FROM clause, or an INSERT/UPDATE/DELETE with RETURNINGr   Nr   r   r   r   r   r      s    	. r   r   c                   :    \ rS rSrSr\R                  " 5       rSrg)StatementRole   z"Executable SQL or text() constructr   N)	r   r	   r
   r   r   r   immutabledict_propagate_attrsr   r   r   r   r   r      s    5J))+r   r   c                       \ rS rSrSrS rSrg)SelectStatementRole   z/SELECT construct or equivalent text() constructc                     [        S5      e)NzFAll SelectStatementRole objects should implement a .subquery() method.r<   r>   s    r   subquerySelectStatementRole.subquery   s    !"
 	
r   r   N)r   r	   r
   r   r   r   r   r   r   r   r   r      s    BJ
r   r   c                       \ rS rSrSrg)
HasCTERole   r   NrS   r   r   r   r   r      rT   r   r   c                       \ rS rSrSrSrg)	IsCTERole   z
CTE objectr   Nr   r   r   r   r   r      s    Jr   r   c                       \ rS rSrSrSrSrg)CompoundElementRole   zDSELECT statements inside a CompoundSelect, e.g. UNION, EXTRACT, etc.z@SELECT construct for inclusion in a UNION or other set constructr   Nr   r	   r
   r   r   r   r   r   r   r   r   r      s    N 	K r   r   c                       \ rS rSrSrg)DMLRole   r   NrS   r   r   r   r   r      rT   r   r   c                       \ rS rSrSrSrg)DMLTableRole   z-subject table for an INSERT, UPDATE or DELETEr   Nr   r   r   r   r   r      s    @Jr   r   c                       \ rS rSrSrSrg)DMLColumnRole   z*SET/VALUES column expression or string keyr   Nr   r   r   r   r   r      s    =Jr   r   c                       \ rS rSrSrSrSrg)DMLSelectRole   z@A SELECT statement embedded in DML, typically INSERT from SELECTz-SELECT statement or equivalent textual objectr   Nr   r   r   r   r   r      s
    J@Jr   r   c                       \ rS rSrSrg)DDLRole   r   NrS   r   r   r   r   r      rT   r   r   c                       \ rS rSrSrSrg)DDLExpressionRole   z)SQL expression element for DDL constraintr   Nr   r   r   r   r   r      s    <Jr   r   c                       \ rS rSrSrSrg)DDLConstraintColumnRole   z:String column name or column expression for DDL constraintr   Nr   r   r   r   r   r      s    MJr   r   c                       \ rS rSrSrSrg)DDLReferredColumnRole   zBString column name or Column object for DDL foreign key constraintr   Nr   r   r   r   r   r      s
    L r   r   N). r   objectr   r   r   r   r    r$   r'   r*   r/   r2   r5   r8   rE   rH   rK   rN   rQ   rV   rY   r\   r_   rb   re   rh   rk   rn   rq   rx   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s:   f V 
v 0g 067 6
(w (% %30 33- 3NW N) )$(.. $-g -3~ 3'"NH ''"H '	W 	4. 40#^ 08l 8*G *7) 7	1 	;- ;G %~~ $& $$> $$3 $g ,G ,
- 
	 	 *G 	m 	A> A>G >AG A	m 	= =Ng N3 r   