
    	h^                         d dl mZ d dlmZ d dlmZ d dlmZ ddl mZ ddl mZ ddl m	Z	 dd	l m
Z
 dd
l mZ ddl mZ ddl mZ  G d dej                  ZdS )   )fixtures)eq_)Column)Table   )column)
ForeignKey)Integer)select)String)testing)valuesc                      e Zd ZdZdZdZdZed             Zed             Z	d Z
d Zd Zej        j        ej        j        d	                         Zej        j        ej        j        d
                         Zej        j        d             Z ej        dddg           ej        dddg           ej        dddg          ej        j        d                                                 ZdS )CTETestT)cteseachc                 n   t          d|t          dt          d          t          dt          d                    t          dt	          d                               t          d	|t          dt          d          t          dt          d                    t          dt                               d S )
N
some_tableidT)primary_keydata2   	parent_idzsome_table.idsome_other_table)r   r   r
   r   r	   )clsmetadatas     n/var/www/html/web-builder-api.evdpl.com/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_cte.pydefine_tableszCTETest.define_tables   s    4d33366"::&&;
? ; ;<<	
 	
 	
 	4d33366"::&&;((	
 	
 	
 	
 	
    c                     |                     | j        j                                        ddd ddddddddddd	ddd
dddg           d S )N   d1r   r   r   r   d2r   d3   d4   d5)executetablesr   insert)r   
connections     r   insert_datazCTETest.insert_data/   s~    J!((**$T::$Q77$Q77$Q77$Q77		
 		
 		
 		
 		
r   c                    | j         j        }t          |                              |j        j                            g d                                        d          }|                    t          |j        j                                      |j        j                            ddg                              }t          |
                                dg           d S )Nr$   r%   r'   some_cter'   r)   r'   )r+   r   r   wherecr   in_cter*   r   fetchall)selfr-   r   r6   results        r   #test_select_nonrecursive_round_tripz+CTETest.test_select_nonrecursive_round_trip<   s    [+
 :U:<$(();););<<==S__ 	
 ##35:$$SUZ^^T4L%A%ABB
 
 	FOOy)))))r   c                    | j         j        }t          |                              |j        j                            g d                                        dd          }|                    d          }|                                }|	                    t          |                              |j        j
        |j        j        k                        }|                    t          |j        j                                      |j        j        dk                                  |j        j                                                            }t          |                                g d           d S )Nr0   r1   T)	recursivec1r$   )r2   r%   r>   r"   r?   r?   )r+   r   r   r3   r4   r   r5   r6   alias	union_allr   r   r*   order_bydescr   r7   )r8   r-   r   r6   	cte_aliasst1r9   s          r    test_select_recursive_round_tripz(CTETest.test_select_recursive_round_tripI   s=   [+
 :U:<$(();););<<==StS,, 	 IIdOO	   mm3KKceh)+*??@@
 
 ##35:U35:%&&Xcejoo''((
 

 	OOBBB	
 	
 	
 	
 	
r   c                 4   | j         j        }| j         j        }t          |                              |j        j                            g d                                        d          }|	                    |
                                                    g dt          |                               t          |	                    t          |                              |j        j                                                            g d           d S )Nr0   r1   r#   ))r   r$   r!   )r   r%   r!   )r&   r'   r   )r+   r   r   r   r3   r4   r   r5   r6   r*   r,   from_selectr   rB   r   r7   r8   r-   r   r   r6   s        r   "test_insert_from_select_round_tripz*CTETest.test_insert_from_select_round_tripc   s	   [+
;7 :U:<$(();););<<==S__ 	
 	##%%11+++VC[[ 	
 	
 	

 	'((112B2D2GHH hjj666		
 	
 	
 	
 	
r   c                     | j         j        }| j         j        }|                    |                                                    g dt          |                               t          |                              |j        j	        
                    g d                                        d          }|                    |                                                    d                              |j        j	        |j        j	        k                         t          |                    t          |                              |j        j                                                            g d           d S )Nr#   r0   r1   r(   )r   )r!   r"   N)r   r$   r(   )r   r%   r(   )r&   r'   r(   r(   r)   r   )r+   r   r   r*   r,   rH   r   r3   r4   r   r5   r6   updater   r   rB   r   r7   rI   s        r   test_update_from_round_tripz#CTETest.test_update_from_round_tripx   sf    [+
;7##%%11+++VJ-?-? 	
 	
 	
 :U:<$(();););<<==S__ 	
 	##%%VaV  U#%*cej899	
 	
 	

 	'((112B2D2GHH hjj  		
 	
 	
 	
 	
r   c                    | j         j        }| j         j        }|                    |                                                    g dt          |                               t          |                              |j        j	        
                    g d                                        d          }|                    |                                                    |j        j	        |j        j	        k                         t          |                    t          |                              |j        j                                                            ddg           d S Nr#   r0   r1   rL   rM   )r+   r   r   r*   r,   rH   r   r3   r4   r   r5   r6   deleter   rB   r   r7   rI   s        r   test_delete_from_round_tripz#CTETest.test_delete_from_round_trip   sU    [+
;7##%%11+++VJ-?-? 	
 	
 	
 :U:<$(();););<<==S__ 	
 	##%%++ "'35:5 	
 	
 	

 	'((112B2D2GHH hjjl+		
 	
 	
 	
 	
r   c           	      l   | j         j        }| j         j        }|                    |                                                    g dt          |                               t          |                              |j        j	        
                    g d                                        d          }|                    |                                                    |j        j	        t          |j        j	                                      |j        j        |j        j        k                                              k                         t          |                    t          |                              |j        j                                                            ddg           d S rQ   )r+   r   r   r*   r,   rH   r   r3   r4   r   r5   r6   rR   r   scalar_subqueryr   rB   r7   rI   s        r   "test_delete_scalar_subq_round_tripz*CTETest.test_delete_scalar_subq_round_trip   s   [+
;7##%%11+++VJ-?-? 	
 	
 	
 :U:<$(();););<<==S__ 	
 	##%%++ "'#%*%%sux#3#5#8899 ""# 	
 	
 	
 	'((112B2D2GHH hjjl+		
 	
 	
 	
 	
r   values_namedF	cte_namedliteral_bindsc                    t          t          dt                    t          dt                    t	          |          |rdnd                               ddg                              |rdnd           }t          |          }|                    |          	                                }t          |ddg           d S )Ncol1col2z	some name)rY   name)ar   )br   cte1)r   r   r   r
   boolr   r6   r   r*   allr   )r8   r-   rW   rX   rY   r`   stmtrowss           r   test_values_named_via_ctez!CTETest.test_values_named_via_cte   s     vv&&vw''"=11$0:[[d	   T8X&''S9.$// 	 d||!!$''++--D8X&'''''r   N)__name__
__module____qualname____backend____requires__run_insertsrun_deletesclassmethodr   r.   r:   rF   rJ   r   requiresctes_with_update_deleteupdate_fromrO   delete_fromrS   rV   	variationctes_with_valuesre    r   r   r   r      s       KLKK
 
 [
" 

 

 [

* * *
 
 
4
 
 
* -!
 
 "! .-
B -!
 
 "! .-
6 -
 
 .-
< W~e}55W{T5M22Wu66&( ( '& 76 32 65( ( (r   r   N) r   
assertionsr   schemar   r   r   r	   r
   r   r   r   r   
TablesTestr   rt   r   r   <module>ry      s                                                                    W( W( W( W( W(h! W( W( W( W( W(r   