Ë
    	êñi 3  ã                  óN  — U d dl mZ d dlZd dlmZ  ej
                  e«      5  d dlmZ ddd«       d dl	Z	d dl
mZ d dlmZmZ er"d dlmZ d dlmZ d d	lmZ  ed
«      Z ed«      Z G d„ d«      Zded<   	  e«       Zdd„Zy# 1 sw Y   Œ[xY w# eef$ rZdZY dZ[ŒdZ[ww xY w)é    )ÚannotationsN)Úissue_deprecation_warning)Ú
PyOptFlags)Úwraps)ÚTYPE_CHECKINGÚTypeVar)ÚCallable)Ú	ParamSpec)ÚIdentityFunctionÚPÚTc                  ó~  — e Zd ZdZddddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d!d„Zed"d„«       Zeddddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d#d„«       Zddddddddddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d#d„Z	ed$d„«       Z
d$d	„Zd$d
„Zd%d„Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zed&d„«       Zej                   d'd„«       Zd(d „Zy))ÚQueryOptFlagszë
    The set of the optimizations considered during query optimization.

    .. warning::
        This functionality is considered **unstable**. It may be changed
        at any point without it being considered a breaking change.
    N©Úpredicate_pushdownÚprojection_pushdownÚsimplify_expressionÚslice_pushdownÚcomm_subplan_elimÚcomm_subexpr_elimÚcluster_with_columnsÚcollapse_joinsÚcheck_order_observeÚfast_projectionÚsort_collapsec               ón   — t        j                  «       | _        | j                  |||||||||	|
|¬«       y )Nr   )r   ÚdefaultÚ_pyoptflagsÚupdate©Úselfr   r   r   r   r   r   r   r   r   r   r   s               ú\/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/polars/lazyframe/opt_flags.pyÚ__init__zQueryOptFlags.__init__!   sG   € ô &×-Ñ-Ó/ˆÔØ�‰Ø1Ø 3Ø 3Ø)Ø/Ø/Ø!5Ø)Ø 3Ø+Ø'ð 	õ 	
ó    c                ó6   — | j                  | «      }||_        |S ©N)Ú__new__r   )r!   Ú
pyoptflagsÚoptflagss      r"   Ú_from_pyoptflagszQueryOptFlags._from_pyoptflags?   s   € à—<‘< Ó%ˆØ)ˆÔØˆr$   c                ón   — t        «       }|j                  «        |j                  | |||||||||	|
¬«      S )ú'Create new empty set off optimizations.r   )r   Úno_optimizationsr   )r   r   r   r   r   r   r   r   r   r   r   r)   s               r"   ÚnonezQueryOptFlags.noneE   sN   € ô  !“?ˆØ×!Ñ!Ô#Ø�‰Ø1Ø 3Ø 3Ø)Ø/Ø/Ø!5Ø)Ø 3Ø+Ø'ð ó 
ð 	
r$   c               óê   — |�|| _         |�|| _        |�|| _        |�|| _        |�|| _        |�|| _        |�|| _        |�t        dd¬«       |sd| _         |	�|	| _        |
�|
| _	        |�|| _
        | S )z&Update the current optimization flags.zcthe `collapse_joins` parameter for `QueryOptFlags` is deprecated. Use `predicate_pushdown` instead.z1.33.1)ÚversionF)r   r   r   r   r   r   r   r   r   r   r   r    s               r"   r   zQueryOptFlags.updatee   s¸   € ð  Ð)Ø&8ˆDÔ#ØÐ*Ø':ˆDÔ$ØÐ*Ø':ˆDÔ$ØÐ%Ø"0ˆDÔØÐ(Ø%6ˆDÔ"ØÐ(Ø%6ˆDÔ"ØÐ+Ø(<ˆDÔ%ØÐ%Ü%ð4à õñ
 "Ø*/�Ô'ØÐ*Ø':ˆDÔ$ØÐ&Ø#2ˆDÔ ØÐ$Ø!.ˆDÔàˆr$   c                 ój   — t        «       } | j                  «        d| j                  _        d| _        | S )r,   T)r   r-   r   Úeagerr   )r)   s    r"   Ú_eagerzQueryOptFlags._eager”   s2   € ô !“?ˆØ×!Ñ!Ô#Ø%)ˆ×ÑÔ"Ø'+ˆÔ$Øˆr$   c                ó\   — t         j                  | j                  j                  «       «      S r&   ©r   r*   r   Úcopy©r!   s    r"   Ú__copy__zQueryOptFlags.__copy__�   ó"   € Ü×-Ñ-¨d×.>Ñ.>×.CÑ.CÓ.EÓFÐFr$   c                ó\   — t         j                  | j                  j                  «       «      S r&   r5   r7   s    r"   Ú__deepcopy__zQueryOptFlags.__deepcopy__    r9   r$   c                ó8   — | j                   j                  «        y)zRemove selected optimizations.N)r   r-   r7   s    r"   r-   zQueryOptFlags.no_optimizations£   s   € à×Ñ×)Ñ)Õ+r$   c                ó.   — | j                   j                  S )z3Only read columns that are used later in the query.©r   r   r7   s    r"   r   z!QueryOptFlags.projection_pushdown§   ó   € ð ×Ñ×3Ñ3Ð3r$   c                ó&   — || j                   _        y r&   r>   ©r!   Úvalues     r"   r   z!QueryOptFlags.projection_pushdown¬   ó   € à/4ˆ×ÑÕ,r$   c                ó.   — | j                   j                  S )z.Apply predicates/filters as early as possible.©r   r   r7   s    r"   r   z QueryOptFlags.predicate_pushdown°   s   € ð ×Ñ×2Ñ2Ð2r$   c                ó&   — || j                   _        y r&   rE   rA   s     r"   r   z QueryOptFlags.predicate_pushdownµ   s   € à.3ˆ×ÑÕ+r$   c                ó.   — | j                   j                  S )z=Cluster sequential `with_columns` calls to independent calls.©r   r   r7   s    r"   r   z"QueryOptFlags.cluster_with_columns¹   s   € ð ×Ñ×4Ñ4Ð4r$   c                ó&   — || j                   _        y r&   rH   rA   s     r"   r   z"QueryOptFlags.cluster_with_columns¾   s   € à05ˆ×ÑÕ-r$   c                ó.   — | j                   j                  S )z9Run many expression optimization rules until fixed point.©r   r   r7   s    r"   r   z!QueryOptFlags.simplify_expressionÂ   r?   r$   c                ó&   — || j                   _        y r&   rK   rA   s     r"   r   z!QueryOptFlags.simplify_expressionÇ   rC   r$   c                ó.   — | j                   j                  S )zPushdown slices/limits.©r   r   r7   s    r"   r   zQueryOptFlags.slice_pushdownË   s   € ð ×Ñ×.Ñ.Ð.r$   c                ó&   — || j                   _        y r&   rN   rA   s     r"   r   zQueryOptFlags.slice_pushdownÐ   s   € à*/ˆ×ÑÕ'r$   c                ó.   — | j                   j                  S )z/Elide duplicate plans and caches their outputs.©r   r   r7   s    r"   r   zQueryOptFlags.comm_subplan_elimÔ   ó   € ð ×Ñ×1Ñ1Ð1r$   c                ó&   — || j                   _        y r&   rQ   rA   s     r"   r   zQueryOptFlags.comm_subplan_elimÙ   ó   € à-2ˆ×ÑÕ*r$   c                ó.   — | j                   j                  S )z5Elide duplicate expressions and caches their outputs.©r   r   r7   s    r"   r   zQueryOptFlags.comm_subexpr_elimÝ   rR   r$   c                ó&   — || j                   _        y r&   rV   rA   s     r"   r   zQueryOptFlags.comm_subexpr_elimâ   rT   r$   c                ó.   — | j                   j                  S )z9Do not maintain order if the order would not be observed.©r   r   r7   s    r"   r   z!QueryOptFlags.check_order_observeæ   r?   r$   c                ó&   — || j                   _        y r&   rY   rA   s     r"   r   z!QueryOptFlags.check_order_observeë   rC   r$   c                ó.   — | j                   j                  S )z]Replace simple projections with a faster inlined projection that skips the expression engine.©r   r   r7   s    r"   r   zQueryOptFlags.fast_projectionï   s   € ð ×Ñ×/Ñ/Ð/r$   c                ó&   — || j                   _        y r&   r\   rA   s     r"   r   zQueryOptFlags.fast_projectionô   s   € à+0ˆ×ÑÕ(r$   c                ó.   — | j                   j                  S )z7Collapse sequential sort nodes into a single sort node.©r   r   r7   s    r"   r   zQueryOptFlags.sort_collapseø   s   € ð ×Ñ×-Ñ-Ð-r$   c                ó&   — || j                   _        y r&   r_   rA   s     r"   r   zQueryOptFlags.sort_collapseý   s   € à).ˆ×ÑÕ&r$   c                óà  — d| j                   j                  › d| j                   j                  › d| j                  › d| j                  › d| j
                  › d| j                  › d| j                  › d| j                  › d	| j                  › d
| j                  › d| j                  › d| j                  › d| j                   j                  › d| j                   j                  › d�j                  «       S )Nz$
QueryOptFlags {
    type_coercion: z
    type_check: z

    predicate_pushdown: z
    projection_pushdown: z
    simplify_expression: z
    slice_pushdown: z
    comm_subplan_elim: z
    comm_subexpr_elim: z
    cluster_with_columns: z
    check_order_observe: z
    fast_projection: z
    sort_collapse: z

    eager: z
    streaming: z
}
        )r   Útype_coercionÚ
type_checkr   r   r   r   r   r   r   r   r   r   r2   Ú	streamingÚstripr7   s    r"   Ú__str__zQueryOptFlags.__str__  s   € ðà×$Ñ$×2Ñ2Ð3ð 4Ø×!Ñ!×,Ñ,Ð-ð .à×0Ñ0Ð1ð 2Ø×2Ñ2Ð3ð 4Ø×2Ñ2Ð3ð 4Ø×(Ñ(Ð)ð *Ø×.Ñ.Ð/ð 0Ø×.Ñ.Ð/ð 0Ø×4Ñ4Ð5ð 6Ø×2Ñ2Ð3ð 4Ø×*Ñ*Ð+ð ,Ø×&Ñ&Ð'ð (à×Ñ×"Ñ"Ð#ð $Ø× Ñ ×*Ñ*Ð+ð ,	ð#÷& ‰E‹Gð'	r$   )r   úNone | boolr   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   ÚreturnÚNone)r(   r   rh   r   )r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   r   rg   rh   r   )rh   r   )rh   ri   )rh   Úbool)rB   rj   rh   ri   )rh   Ústr)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r#   Úclassmethodr*   Ústaticmethodr.   r   r3   r8   r;   r-   Úpropertyr   Úsetterr   r   r   r   r   r   r   r   r   rf   © r$   r"   r   r      s   „ ñð +/Ø+/Ø+/Ø&*Ø)-Ø)-Ø,0Ø&*Ø+/Ø'+Ø%)ñ
ð (ð
ð )ð	
ð
 )ð
ð $ð
ð 'ð
ð 'ð
ð *ð
ð $ð
ð )ð
ð %ð
ð #ð
ð 
ó
ð< òó ðð
 ð +/Ø+/Ø+/Ø&*Ø)-Ø)-Ø,0Ø&*Ø+/Ø'+Ø%)ñ
à'ð
ð )ð
ð )ð	
ð
 $ð
ð 'ð
ð 'ð
ð *ð
ð $ð
ð )ð
ð %ð
ð #ð
ð 
ò
ó ð
ðD +/Ø+/Ø+/Ø&*Ø)-Ø)-Ø,0Ø&*Ø+/Ø'+Ø%)ñ-ð (ð-ð )ð	-ð
 )ð-ð $ð-ð 'ð-ð 'ð-ð *ð-ð $ð-ð )ð-ð %ð-ð #ð-ð 
ó-ð^ òó ðóGóGó,ð ò4ó ð4ð ×Ñò5ó  ð5ð ò3ó ð3ð ×Ñò4ó ð4ð ò5ó ð5ð × Ñ ò6ó !ð6ð ò4ó ð4ð ×Ñò5ó  ð5ð ò/ó ð/ð ×Ñò0ó ð0ð ò2ó ð2ð ×Ñò3ó ð3ð ò2ó ð2ð ×Ñò3ó ð3ð ò4ó ð4ð ×Ñò5ó  ð5ð ò0ó ð0ð ×Ñò1ó ð1ð ò.ó ð.ð ×Ñò/ó ð/ôr$   r   ÚDEFAULT_QUERY_OPT_FLAGSrt   c                 óª   ‡‡‡‡‡— dd„Šdd„Šdd„Šdd„Šˆfd„ˆfd„ˆfd„ˆfd„ˆfd	„ˆfd
„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„dœŠdˆfd„} | S )z8Decorator to mark to forward the old optimization flags.c                ó    — t        | ||«       | S r&   )Úsetattr©ÚfÚ
field_namerB   s      r"   Úhelperz%forward_old_opt_flags.<locals>.helper"  s   € Ü��:˜uÔ%Øˆr$   c                ó4   — t        | j                  ||«       | S r&   )rx   r   ry   s      r"   Úhelper_hiddenz,forward_old_opt_flags.<locals>.helper_hidden&  s   € Ü�—‘˜z¨5Ô1Øˆr$   c                ó2   — |rt         j                  «       S | S r&   )r   r.   ©rz   rB   s     r"   Úclear_optimizationsz2forward_old_opt_flags.<locals>.clear_optimizations*  s   € ÙÜ ×%Ñ%Ó'Ð'àˆHr$   c                ó2   — |rt         j                  «       S | S r&   )r   r3   r€   s     r"   r2   z$forward_old_opt_flags.<locals>.eager0  s   € ÙÜ ×'Ñ'Ó)Ð)àˆHr$   c                ó   •—  ‰| |«      S r&   rt   )rz   Úvr�   s     €r"   ú<lambda>z'forward_old_opt_flags.<locals>.<lambda>7  s   ø€ Ñ(;¸A¸qÓ(A€ r$   c                ó   •—  ‰| |«      S r&   rt   )rz   r„   r2   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>8  s   ø€ ™u Q¨›{€ r$   c                ó   •—  ‰| d|«      S )Nrb   rt   ©rz   r„   r~   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>9  s   ø€ ¡m°A°ÈÓ&J€ r$   c                ó   •—  ‰| d|«      S )Nrc   rt   rˆ   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>:  s   ø€ ¡M°!°\À1Ó$E€ r$   c                ó   •—  ‰| d|«      S )Nr   rt   ©rz   r„   r|   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>;  s   ø€ ©6°!Ð5IÈ1Ó+M€ r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda><  ó   ø€ ©F°1Ð6KÈQÓ,O€ r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>=  r�   r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>>  ó   ø€ ¡v¨aÐ1AÀ1Ó'E€ r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>?  ó   ø€ ©&°Ð4GÈÓ*K€ r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>@  r’   r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>A  s   ø€ ©V°AÐ7MÈqÓ-Q€ r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>B  r�   r$   c                ó   •—  ‰| d|«      S )Nr   rt   r‹   s     €r"   r…   z'forward_old_opt_flags.<locals>.<lambda>C  s   ø€ ¡V¨AÐ/DÀaÓ%H€ r$   )Úno_optimizationr3   rb   Ú_type_checkr   r   r   r   r   r   r   r   Ú_check_orderc                óh   •‡ — t        ‰ «      dˆˆ fd„«       }t        j                  ‰ «      |_        |S )Nc                 ó0  •— |j                  dt        «      }|j                  «       }t        |j	                  «       «      D ]G  }‰j                  |«      }|€Œddlm} d|› d�} ||t        «        |||j                  |«      «      }ŒI ||d<    ‰| i |¤ŽS )NÚoptimizationsr   )Úissue_warningzoptimization flag `zT` is deprecated. Please use `optimizations` parameter
(Deprecated in version 1.30.0))	Úgetru   r8   ÚlistÚkeysÚpolars._utils.variousr�   ÚDeprecationWarningÚpop)	ÚargsÚkwargsr)   ÚkeyÚcbr�   ÚmessageÚOLD_OPT_PARAMETERS_MAPPINGÚfunctions	          €€r"   Úwrapperz8forward_old_opt_flags.<locals>.decorate.<locals>.wrapperG  s©   ø€ à&,§j¡jØÔ!8ó'ˆHð  ×(Ñ(Ó*ˆHÜ˜FŸK™K›MÓ*ò =�Ø/×3Ñ3°CÓ8�Ø‘>ÝCà 3°C°5ð  9Nð  O�GÙ! 'Ô+=Ô>Ù! (¨F¯J©J°s«OÓ<‘Hð=ð '/ˆF�?Ñ#Ù˜TÐ, VÑ,Ð,r$   )r¤   zP.argsr¥   zP.kwargsrh   r   )r   ÚinspectÚ	signatureÚ__signature__)rª   r«   r©   s   ` €r"   Údecoratez'forward_old_opt_flags.<locals>.decorateF  s3   ù€ Ü	ˆx‹õ	-ó 
ð	-ô" !(× 1Ñ 1°(Ó ;ˆÔØˆr$   )rz   r   r{   rk   rB   rj   rh   r   )rz   r   rB   rj   rh   r   )rª   úCallable[P, T]rh   r°   rt   )r¯   r©   r�   r2   r|   r~   s    @@@@@r"   Úforward_old_opt_flagsr±     sU   ü€ óóóóó BÛ*ÛJÛEÛMÛOÛOÛEÛKÛKÛ QÛEÛHñ"Ðõ ð, €Or$   )rh   r   )Ú
__future__r   Ú
contextlibÚpolars._utils.deprecationr   ÚsuppressÚImportErrorÚpolars._plrr   r¬   Ú	functoolsr   Útypingr   r   Úcollections.abcr	   r
   r¡   r   r   r   r   Ú__annotations__ru   Ú	NameErrorÚ_r±   rt   r$   r"   ú<module>r¾      s¤   ðÞ "ã å ?à€Z×Ñ˜Ó%ñ 'Ý&÷'ó Ý ß )áÝ(Ý å6á�#‹€AÙ�‹€A÷}ñ }ð@ 'Ó &ð!Ù+›oÐô
=÷q'ð 'ûðh 	�YÐò !Ø Õûð!ús#   ¤BÁ9B ÂBÂB$ÂBÂB$