
    5h3                         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
  SS
K Jr   " S S\R                  5      rg)   )fixtures)eq_)Column)Table   )
ForeignKey)Integer)select)String)testingc                   b   \ rS rSrSrSrSrSr\S 5       r	\S 5       r
S rS rS	 r\R                  R                   \R                  R"                  S
 5       5       r\R                  R                   \R                  R&                  S 5       5       r\R                  R                   S 5       rSrg)CTETest   T)cteseachc                    [        SU[        S[        SS9[        S[        S5      5      [        S[	        S5      5      5        [        S	U[        S[        SS9[        S[        S5      5      [        S[        5      5        g )
N
some_tableidT)primary_keydata2   	parent_idzsome_table.idsome_other_table)r   r   r	   r   r   )clsmetadatas     l/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/sqlalchemy/testing/suite/test_cte.pydefine_tablesCTETest.define_tables   sm    4d366":&;
? ;<	
 	4d366":&;(	
    c                     UR                  U R                  R                  R                  5       SSS S.SSSS.SSSS.SS	SS.S
SSS./5        g )N   d1r   r   r   r   d2r   d3   d4   d5)executetablesr   insert)r   
connections     r   insert_dataCTETest.insert_data-   s]    JJ!!((*$T:$Q7$Q7$Q7$Q7		
r   c                    U R                   R                  n[        U5      R                  UR                  R
                  R                  / SQ5      5      R                  S5      nUR                  [        UR                  R
                  5      R                  UR                  R
                  R                  SS/5      5      5      n[        UR                  5       S/5        g )Nr$   r%   r'   some_cter'   r)   r'   )r+   r   r
   wherecr   in_cter*   r   fetchall)selfr-   r   r7   results        r   #test_select_nonrecursive_round_trip+CTETest.test_select_nonrecursive_round_trip:   s    [[++
 :U:<<$$(();<=S_ 	
 ##355::$$SUUZZ^^T4L%AB
 	FOOy)r   c                    U R                   R                  n[        U5      R                  UR                  R
                  R                  / SQ5      5      R                  SSS9nUR                  S5      nUR                  5       nUR                  [        U5      R                  UR                  R                  UR                  R                  :H  5      5      nUR                  [        UR                  R
                  5      R                  UR                  R
                  S:g  5      R                  UR                  R
                  R                  5       5      5      n[        UR!                  5       / SQ5        g )Nr1   r2   T)	recursivec1r$   )r3   r%   r@   r"   rA   rA   )r+   r   r
   r4   r5   r   r6   r7   alias	union_allr   r   r*   order_bydescr   r8   )r9   r-   r   r7   	cte_aliasst1r:   s          r    test_select_recursive_round_trip(CTETest.test_select_recursive_round_tripG   s   [[++
 :U:<<$$(();<=StS, 	 IIdO	  mm3Kceehh)++*?*??@
 ##355::U355::%&Xceejjoo'(

 	OOB	
r   c                    U R                   R                  nU R                   R                  n[        U5      R	                  UR
                  R                  R                  / SQ5      5      R                  S5      nUR                  UR                  5       R                  / SQ[        U5      5      5        [        UR                  [        U5      R                  UR
                  R                  5      5      R                  5       / SQ5        g )Nr1   r2   r#   ))r   r$   r!   )r   r%   r!   )r&   r'   r   )r+   r   r   r
   r4   r5   r   r6   r7   r*   r,   from_selectr   rD   r   r8   r9   r-   r   r   r7   s        r   "test_insert_from_select_round_trip*CTETest.test_insert_from_select_round_tripa   s    [[++
;;77 :U:<<$$(();<=S_ 	
 	##%11+VC[	

 	'(112B2D2D2G2GHhj6		
r   c                    U R                   R                  nU R                   R                  nUR                  UR	                  5       R                  / SQ[        U5      5      5        [        U5      R                  UR                  R                  R                  / SQ5      5      R                  S5      nUR                  UR                  5       R                  SS9R                  UR                  R                  UR                  R                  :H  5      5        [        UR                  [        U5      R                  UR                  R                   5      5      R#                  5       / SQ5        g )Nr#   r1   r2   r(   )r   )r!   r"   N)r   r$   r(   )r   r%   r(   )r&   r'   r(   r(   r)   r   )r+   r   r   r*   r,   rK   r
   r4   r5   r   r6   r7   updatevaluesr   rD   r   r8   rL   s        r   test_update_from_round_trip#CTETest.test_update_from_round_tripv   s    [[++
;;77##%11+VJ-?	
 :U:<<$$(();<=S_ 	
 	##%VaV U#%%**ceejj89	

 	'(112B2D2D2G2GHhj		
r   c                    U R                   R                  nU R                   R                  nUR                  UR	                  5       R                  / SQ[        U5      5      5        [        U5      R                  UR                  R                  R                  / SQ5      5      R                  S5      nUR                  UR                  5       R                  UR                  R                  UR                  R                  :H  5      5        [        UR                  [        U5      R                  UR                  R                  5      5      R!                  5       SS/5        g Nr#   r1   r2   rP   rQ   )r+   r   r   r*   r,   rK   r
   r4   r5   r   r6   r7   deleter   rD   r   r8   rL   s        r   test_delete_from_round_trip#CTETest.test_delete_from_round_trip   s    [[++
;;77##%11+VJ-?	
 :U:<<$$(();<=S_ 	
 	##%++ ""''355::5	

 	'(112B2D2D2G2GHhjl+		
r   c           	      n   U R                   R                  nU R                   R                  nUR                  UR	                  5       R                  / SQ[        U5      5      5        [        U5      R                  UR                  R                  R                  / SQ5      5      R                  S5      nUR                  UR                  5       R                  UR                  R                  [        UR                  R                  5      R                  UR                  R                  UR                  R                  :H  5      R                  5       :H  5      5        [        UR                  [        U5      R!                  UR                  R                  5      5      R#                  5       SS/5        g rW   )r+   r   r   r*   r,   rK   r
   r4   r5   r   r6   r7   rX   r   scalar_subqueryr   rD   r8   rL   s        r   "test_delete_scalar_subq_round_trip*CTETest.test_delete_scalar_subq_round_trip   sG   [[++
;;77##%11+VJ-?	
 :U:<<$$(();<=S_ 	
 	##%++ ""''#%%**%suuxx#3#5#5#8#889 "#	
 	'(112B2D2D2G2GHhjl+		
r    N)__name__
__module____qualname____firstlineno____backend____requires__run_insertsrun_deletesclassmethodr   r.   r;   rH   rM   r   requiresctes_with_update_deleteupdate_fromrT   delete_fromrY   r]   __static_attributes__r_   r   r   r   r      s    KLKK
 
" 

 

*
4
* --!!
 " .
B --!!
 " .
6 --
 .
r   r   N) r   
assertionsr   schemar   r   r   r	   r
   r   r   
TablesTestr   r_   r   r   <module>rr      s6            
h!! 
r   