ó
    Ñ]jî  ã                  óÜ  • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  SSKJ	r	  SS	K
Jr  \(       a  S
SKJr  S
SKJr  S
SKJr  S
SKJr  S
SKJr  \" S\S9r\" S\SS9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/ S0\\   \5      r# " S1 S2\5      r$ " S3 S4\5      r% " S5 S6\\\%5      r& " S7 S8\\%5      r' " S9 S:\5      r( " S; S<\(5      r) " S= S>\\(5      r* " S? S@\*5      r+ " SA SB\#\   5      r, " SC SD\,\   5      r- " SE SF\,\   5      r. " SG SH\,\   5      r/ " SI SJ\5      r0 " SK SL\\\(5      r1 " SM SN\"\15      r2 " SO SP\25      r3 " SQ SR\35      r4 " SS ST\5      r5 " SU SV\5      r6 " SW SX\6\55      r7 " SY SZ\55      r8 " S[ S\\5      r9 " S] S^\\5      r: " S_ S`\65      r; " Sa Sb\25      r< " Sc Sd\5      r= " Se Sf\5      r> " Sg Sh\65      r? " Si Sj\(5      r@ " Sk Sl\5      rA " Sm Sn\A5      rBgo)pé    )Úannotations)ÚAny)ÚGeneric)ÚOptional)ÚTYPE_CHECKING)ÚTypeVaré   )Úutil)ÚLiteralé   )Ú_PropagateAttrsType)ÚLabel)Ú_SelectIterable)Ú
FromClause)ÚSubqueryÚ_T)ÚboundÚ_T_coT)r   Ú	covariantc                  ó$   • \ rS rSrSrSrSrSrSrg)ÚSQLRoleé   zêDefine 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

© FN)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__Úallows_lambdaÚuses_inspectionÚ__static_attributes__r   ó    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/sql/roles.pyr   r      s   † ñð €IØ€MØƒOr#   r   c                  ó,   • \ rS rSr% SrSrS\S'   SrSrg)ÚUsesInspectioné-   r   NzLiteral[None]Ú_post_inspectT)	r   r   r   r   r   r(   Ú__annotations__r!   r"   r   r#   r$   r&   r&   -   s   ‡ Ø€IØ#'€M�=Ó'ØƒOr#   r&   c                  ó   • \ rS rSrSrSrSrg)ÚAllowsLambdaRoleé3   r   TN)r   r   r   r   r   r    r"   r   r#   r$   r+   r+   3   s   † Ø€IØƒMr#   r+   c                  ó   • \ rS rSrSrSrSrg)ÚHasCacheKeyRoleé8   r   zCacheable Core or ORM objectN©r   r   r   r   r   Ú
_role_namer"   r   r#   r$   r.   r.   8   s   † Ø€IØ/ƒJr#   r.   c                  ó   • \ rS rSrSrSrSrg)ÚExecutableOptionRoleé=   r   z"ExecutionOption Core or ORM objectNr0   r   r#   r$   r3   r3   =   s   † Ø€IØ5ƒJr#   r3   c                  ó   • \ rS rSrSrSrSrg)ÚLiteralValueRoleéB   r   zLiteral Python valueNr0   r   r#   r$   r6   r6   B   s   † Ø€IØ'ƒJr#   r6   c                  ó   • \ rS rSrSrSrSrg)ÚColumnArgumentRoleéG   r   zColumn expressionNr0   r   r#   r$   r9   r9   G   s   † Ø€IØ$ƒJr#   r9   c                  ó   • \ rS rSrSrSrSrg)ÚColumnArgumentOrKeyRoleéL   r   úColumn expression or string keyNr0   r   r#   r$   r<   r<   L   ó   † Ø€IØ2ƒJr#   r<   c                  ó   • \ rS rSrSrSrSrg)ÚStrAsPlainColumnRoleéQ   r   r>   Nr0   r   r#   r$   rA   rA   Q   r?   r#   rA   c                  ó   • \ rS rSrSrSrSrg)ÚColumnListRoleéV   zCElements suitable for forming comma separated lists of expressions.r   N©r   r   r   r   r   r   r"   r   r#   r$   rD   rD   V   s
   † ÙMàƒIr#   rD   c                  ó   • \ rS rSrSrSrSrg)Ú
StringRoleé\   z/mixin indicating a role that results in stringsr   NrF   r   r#   r$   rH   rH   \   s
   † Ù9àƒIr#   rH   c                  ó   • \ rS rSrSrSrSrg)ÚTruncatedLabelRoleéb   r   zString SQL identifierNr0   r   r#   r$   rK   rK   b   s   † Ø€IØ(ƒJr#   rK   c                  ó0   • \ rS rSrSrSr\SS j5       rSrg)ÚColumnsClauseRoleég   r   z?Column expression, FROM clause, or other columns clause elementc                ó   • [        5       e©N©ÚNotImplementedError©Úselfs    r$   Ú_select_iterableÚ"ColumnsClauseRole._select_iterablem   s   € ä!Ó#Ð#r#   N)Úreturnr   )	r   r   r   r   r   r1   ÚpropertyrV   r"   r   r#   r$   rN   rN   g   s#   † Ø€IàIð ð ó$ó ó$r#   rN   c                  ó   • \ rS rSrSrSrSrg)ÚTypedColumnsClauseRoleér   z'element-typed form of ColumnsClauseRoler   NrF   r   r#   r$   r[   r[   r   s
   † Ù1àƒIr#   r[   c                  ó   • \ rS rSrSrSrSrg)ÚLimitOffsetRoleéx   r   zLIMIT / OFFSET expressionNr0   r   r#   r$   r^   r^   x   s   † Ø€IØ,ƒJr#   r^   c                  ó   • \ rS rSrSrSrSrg)ÚByOfRoleé}   r   zGROUP BY / OF / etc. expressionNr0   r   r#   r$   ra   ra   }   r?   r#   ra   c                  ó   • \ rS rSrSrSrSrg)ÚGroupByRoleé‚   r   zGROUP BY expressionNr0   r   r#   r$   rd   rd   ‚   s   † Ø€Ið
 'ƒJr#   rd   c                  ó   • \ rS rSrSrSrSrg)ÚOrderByRoleé‹   r   zORDER BY expressionNr0   r   r#   r$   rg   rg   ‹   s   † Ø€IØ&ƒJr#   rg   c                  ó   • \ rS rSrSrSrg)ÚStructuralRoleé�   r   N©r   r   r   r   r   r"   r   r#   r$   rj   rj   �   ó   † ØƒIr#   rj   c                  ó   • \ rS rSrSrSrSrg)ÚStatementOptionRoleé”   r   z statement sub-expression elementNr0   r   r#   r$   ro   ro   ”   s   † Ø€IØ3ƒJr#   ro   c                  ó   • \ rS rSrSrSrSrg)ÚOnClauseRoleé™   r   zCON clause, typically a SQL expression or ORM relationship attributeNr0   r   r#   r$   rr   rr   ™   s   † Ø€Ið	%ó r#   rr   c                  ó   • \ rS rSrSrSrSrg)ÚWhereHavingRoleé¡   r   z$SQL expression for WHERE/HAVING roleNr0   r   r#   r$   ru   ru   ¡   s   † Ø€IØ7ƒJr#   ru   c                  ó&   • \ rS rSrSrSrSS jrSrg)ÚExpressionElementRoleé¦   r   zSQL expression elementc                ó   • [        5       erQ   rR   )rU   Únames     r$   ÚlabelÚExpressionElementRole.label°   s   € Ü!Ó#Ð#r#   N)r{   úOptional[str]rX   z	Label[_T])r   r   r   r   r   r1   r|   r"   r   r#   r$   rx   rx   ¦   s   † ð €IØ)€J÷$r#   rx   c                  ó   • \ rS rSrSrSrSrg)ÚConstExprRoleé´   r   z#Constant True/False/None expressionNr0   r   r#   r$   r€   r€   ´   s   † Ø€IØ6ƒJr#   r€   c                  ó   • \ rS rSrSrSrg)ÚLabeledColumnExprRoleé¹   r   Nrl   r   r#   r$   rƒ   rƒ   ¹   rm   r#   rƒ   c                  ó   • \ rS rSrSrSrSrg)ÚBinaryElementRoleé½   r   z'SQL expression element or literal valueNr0   r   r#   r$   r†   r†   ½   s   † Ø€IØ:ƒJr#   r†   c                  ó   • \ rS rSrSrSrSrg)ÚInElementRoleéÂ   r   z?IN expression list, SELECT construct, or bound parameter objectNr0   r   r#   r$   r‰   r‰   Â   s   † Ø€IàIó r#   r‰   c                  ó   • \ rS rSrSrSrSrg)ÚJoinTargetRoleéÉ   r   zGJoin target, typically a FROM expression, or ORM relationship attributeNr0   r   r#   r$   rŒ   rŒ   É   s   † Ø€Ið	!ó r#   rŒ   c                  ó,   • \ rS rSr% SrSrSrS\S'   Srg)ÚFromClauseRoleéÑ   r   z2FROM expression, such as a Table or alias() objectFÚboolÚnamed_with_columnN)	r   r   r   r   r   r1   Ú_is_subqueryr)   r"   r   r#   r$   r�   r�   Ñ   s   ‡ Ø€IØE€Jà€LàÖr#   r�   c                  ó   • \ rS rSrSrSrg)ÚStrictFromClauseRoleéÚ   r   Nrl   r   r#   r$   r•   r•   Ú   rm   r#   r•   c                  óJ   • \ rS rSrSr\(       a  SSS.     SS jjrSrgSrg)ÚAnonymizedFromClauseRoleéß   r   NF)r{   Úflatc               ó   • g rQ   r   )rU   r{   rš   s      r$   Ú_anonymous_fromclauseÚ.AnonymizedFromClauseRole._anonymous_fromclauseä   s   € àr#   )r{   r~   rš   r‘   rX   r   )r   r   r   r   r   r   rœ   r"   r   r#   r$   r˜   r˜   ß   s8   † Ø€Iæð ,0¸eñ	Ø(ð	Ø7;ð	à÷	ð 	ò r#   r˜   c                  ó   • \ rS rSrSrSrSrg)ÚReturnsRowsRoleéé   r   zcRow returning expression such as a SELECT, a FROM clause, or an INSERT/UPDATE/DELETE with RETURNINGNr0   r   r#   r$   rŸ   rŸ   é   s   † Ø€Ið	.ó r#   rŸ   c                  óp   • \ rS rSrSrSr\(       a  \R                  SS j5       r	Srg\R                  r	Srg)ÚStatementRoleéñ   r   z"Executable SQL or text() constructc                ó   • g rQ   r   rT   s    r$   Ú_propagate_attrsÚStatementRole._propagate_attrs÷   s   € Ø;>r#   N)rX   r   )r   r   r   r   r   r1   r   r
   Úmemoized_propertyr¥   Ú
EMPTY_DICTr"   r   r#   r$   r¢   r¢   ñ   s/   † Ø€IØ5€Jæà	×	Ñ	Û>ó 
 Û>ð  Ÿ?™?Ór#   r¢   c                  ó&   • \ rS rSrSrSrSS jrSrg)ÚSelectStatementRoleéþ   r   z/SELECT construct or equivalent text() constructc                ó   • [        S5      e)NzFAll SelectStatementRole objects should implement a .subquery() method.rR   rT   s    r$   ÚsubqueryÚSelectStatementRole.subquery  s   € Ü!ð"ó
ð 	
r#   N)rX   r   )r   r   r   r   r   r1   r­   r"   r   r#   r$   rª   rª   þ   s   † Ø€IØB€J÷
r#   rª   c                  ó   • \ rS rSrSrSrg)Ú
HasCTERolei	  r   Nrl   r   r#   r$   r°   r°   	  rm   r#   r°   c                  ó   • \ rS rSrSrSrSrg)Ú	IsCTERolei  r   z
CTE objectNr0   r   r#   r$   r²   r²     s   † Ø€IØƒJr#   r²   c                  ó    • \ rS rSrSrSrSrSrg)ÚCompoundElementRolei  zDSELECT statements inside a CompoundSelect, e.g. UNION, EXTRACT, etc.r   z@SELECT construct for inclusion in a UNION or other set constructN©r   r   r   r   r   r   r1   r"   r   r#   r$   r´   r´     s   † ÙNà€IàJó r#   r´   c                  ó   • \ rS rSrSrSrg)ÚDMLRolei  r   Nrl   r   r#   r$   r·   r·     rm   r#   r·   c                  ó   • \ rS rSrSrSrSrg)ÚDMLTableRolei   r   z-subject table for an INSERT, UPDATE or DELETENr0   r   r#   r$   r¹   r¹      s   † Ø€IØ@ƒJr#   r¹   c                  ó   • \ rS rSrSrSrSrg)ÚDMLColumnRolei%  r   z*SET/VALUES column expression or string keyNr0   r   r#   r$   r»   r»   %  s   † Ø€IØ=ƒJr#   r»   c                  ó    • \ rS rSrSrSrSrSrg)ÚDMLSelectRolei*  z@A SELECT statement embedded in DML, typically INSERT from SELECTr   z-SELECT statement or equivalent textual objectNrµ   r   r#   r$   r½   r½   *  s   † ÙJà€IØ@ƒJr#   r½   c                  ó   • \ rS rSrSrSrg)ÚDDLRolei1  r   Nrl   r   r#   r$   r¿   r¿   1  rm   r#   r¿   c                  ó   • \ rS rSrSrSrSrg)ÚDDLExpressionRolei5  r   z)SQL expression element for DDL constraintNr0   r   r#   r$   rÁ   rÁ   5  s   † Ø€IØ<ƒJr#   rÁ   c                  ó   • \ rS rSrSrSrSrg)ÚDDLConstraintColumnRolei:  r   z:String column name or column expression for DDL constraintNr0   r   r#   r$   rÃ   rÃ   :  s   † Ø€IØMƒJr#   rÃ   c                  ó   • \ rS rSrSrSrSrg)ÚDDLReferredColumnRolei?  r   zBString column name or Column object for DDL foreign key constraintNr0   r   r#   r$   rÅ   rÅ   ?  s   † Ø€IàLó r#   rÅ   N)CÚ
__future__r   Útypingr   r   r   r   r   Ú r
   Úutil.typingr   Ú_typingr   Úelementsr   Ú
selectabler   r   r   r   r   r   r&   r+   r.   r3   r6   r9   r<   rA   rD   rH   rK   rN   r[   r^   ra   rd   rg   rj   ro   rr   ru   rx   r€   rƒ   r†   r‰   rŒ   r�   r•   r˜   rŸ   r¢   rª   r°   r²   r´   r·   r¹   r»   r½   r¿   rÁ   rÃ   rÅ   r   r#   r$   Ú<module>rÍ      s¨  ðõ #å Ý Ý Ý  Ý å Ý !æÝ,ÝÝ+Ý&Ý$áˆT˜Ñ€Ù�˜s¨dÑ3€÷ñ ÷ ñ ÷ñ ô
0�gô 0ô
6˜7ô 6ô
(�wô (ô
%˜ô %ô
3Ð0ô 3ô
3Ð-ô 3ô
�Wô ô�ô ô)˜ Wô )ô
$Ð(¨.¸.ô $ô˜W U™^¨Wô ô-�gô -ô
3ˆ~ô 3ô
'Ð" N°Hô 'ô'Ð" Hô 'ô
�Wô ô4˜.ô 4ô
Ð# ^ô ô8�lô 8ô
$Ð2°5Ñ9ô $ô7Ð)¨"Ñ-ô 7ô
Ð1°"Ñ5ô ô;Ð-¨bÑ1ô ;ô
�Gô ôÐ% ~°~ô ôÐ&¨ô ô˜>ô ô
Ð3ô ô�gô ô
+�Gô 
+ô
˜-¨ô 
ô�ô ô�ô ô
Ð*¨Gô ôˆmô ôA�>ô Aô
>�Gô >ô
A�Gô Aôˆmô ô=˜ô =ô
N˜gô Nô
Ð3õ r#   