g3ddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z Gd d ejZ y ))fixtures)eq_)Column)Table) ForeignKey)Integer)select)String)testingcZeZdZdZdZdZdZedZedZ dZ dZ dZ e jje jj d Ze jje jj$d Ze jjd Zy ) CTETestT)cteseachc td|tdtdtdtdtdt dtd |tdtdtdtdtdty) N some_tableidT) primary_keydata2 parent_idz some_table.idsome_other_table)rrr r r)clsmetadatas R/opt/hc_python/lib64/python3.12/site-packages/sqlalchemy/testing/suite/test_cte.py define_tableszCTETest.define_tablessm   4d 3 66": & ; ? ; <      4d 3 66": & ; (  c |j|jjjdddddddddddddd ddd d ddgy) Nd1rrrrd2rd3d4d5)executetablesrinsert)r connections r insert_datazCTETest.insert_data-s] JJ ! ! ( ( *$T:$Q7$Q7$Q7$Q7   rc|jj}t|j|jj j gdjd}|jt|jj j|jj j ddg}t|jdgy)Nr"r#r%some_cter%r'r%) r)rr wherecrin_cter(rfetchall)selfr+rr4results r#test_select_nonrecursive_round_tripz+CTETest.test_select_nonrecursive_round_trip:s[[++  :  U:<<$$(();< = S_ ## 355::  $ $SUUZZ^^T4L%A B  FOO y)rc|jj}t|j|jj j gdjdd}|jd}|j}|jt|j|jj|jjk(}|jt|jj j|jj dk7j|jj j}t|j!gdy)Nr.r/T) recursivec1r")r0r#r<r r=r=)r)rr r1r2rr3r4alias union_allrrr(order_bydescrr5)r6r+rr4 cte_aliasst1r7s r test_select_recursive_round_tripz(CTETest.test_select_recursive_round_tripGs [[++  :  U:<<$$(();< = StS , IIdO  mm 3K  ceehh)++*?*?? @ ## 355::  U355::% & Xceejjoo' (  OO  B rc|jj}|jj}t|j |j j jgdjd}|j|jjgdt|t|jt|j|j jjgdy)Nr.r/r!))rr"r)rr#r)r$r%r)r)rrr r1r2rr3r4r(r* from_selectrr@rr5r6r+rrr4s r"test_insert_from_select_round_tripz*CTETest.test_insert_from_select_round_tripas[[++ ;;77 :  U:<<$$(();< = S_   # # % 1 1+VC[    '(112B2D2D2G2GH hj 6  rc|jj}|jj}|j|j j gdt |t |j|jjjgdjd}|j|jjdj|jj|jjk(t|jt |j|jj j#gdy)Nr!r.r/r&)r)rr N)rr"r&)rr#r&)r$r%r&r&r'r)r)rrr(r*rFr r1r2rr3r4updatevaluesrr@rr5rGs rtest_update_from_round_tripz#CTETest.test_update_from_round_tripvs[[++ ;;77  # # % 1 1+VJ-?   :  U:<<$$(();< = S_   # # % VaV U#%%**ceejj8 9   '(112B2D2D2G2GH hj  rc|jj}|jj}|j|j j gdt |t |j|jjjgdjd}|j|jj|jj|jjk(t|jt |j|jjj!ddgyNr!r.r/rJrK)r)rrr(r*rFr r1r2rr3r4deleterr@rr5rGs rtest_delete_from_round_tripz#CTETest.test_delete_from_round_trips[[++ ;;77  # # % 1 1+VJ-?   :  U:<<$$(();< = S_   # # % + + ""''355::5    '(112B2D2D2G2GH hj l +  rc n|jj}|jj}|j|j j gdt |t |j|jjjgdjd}|j|jj|jjt |jjj|jj|jjk(jk(t|jt |j!|jjj#ddgyrP)r)rrr(r*rFr r1r2rr3r4rQrscalar_subqueryrr@r5rGs r"test_delete_scalar_subq_round_tripz*CTETest.test_delete_scalar_subq_round_tripsG[[++ ;;77  # # % 1 1+VJ-?   :  U:<<$$(();< = S_   # # % + + ""''#%%**%suuxx#3#5#5#8#889 "#     '(112B2D2D2G2GH hj l +  rN)__name__ __module__ __qualname__ __backend__ __requires__ run_inserts run_deletes classmethodrr,r8rDrHr requiresctes_with_update_delete update_fromrN delete_fromrRrUrrrrsKLKK  "     * 4 * -- !! ". B -- !! ". 6 -- . rrN)r assertionsrschemarrrr r r r TablesTestrrbrrrgs6 h!! r