L i^ddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z Gd dejZy))fixtures)eq_)Column)Table)column) ForeignKey)Integer)select)String)testing)valuesc"eZdZdZdZdZdZedZedZ dZ dZ dZ e jje jj d Ze jje jj$d Ze jjd Ze j*d dd ge j*ddd ge j*ddd ge jj,dZy)CTETestT)cteseachc td|tdtdtdtdtdt dtd |tdtdtdtdtdty) N some_tableidT) primary_keydata2 parent_idz some_table.idsome_other_table)rrr r r )clsmetadatas g/mnt/ssd/data/python-lab/Trading/venv/lib/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-rr6results 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)Nr0r1T) recursivec1r$)r2r%r>r"r?r?)r+rr r3r4rr5r6alias union_allrrr*order_bydescrr7)r8r-rr6 cte_aliasst1r9s r test_select_recursive_round_tripz(CTETest.test_select_recursive_round_tripIs [[++  :  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)Nr0r1r#))rr$r!)rr%r!)r&r'r)r+rrr r3r4rr5r6r*r, from_selectrrBrr7r8r-rrr6s r"test_insert_from_select_round_tripz*CTETest.test_insert_from_select_round_tripcs[[++ ;;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#r0r1r()r)r!r"N)rr$r()rr%r()r&r'r(r(r)r)r+rrr*r,rHr r3r4rr5r6updaterrrBrr7rIs rtest_update_from_round_tripz#CTETest.test_update_from_round_tripxs[[++ ;;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#r0r1rLrM)r+rrr*r,rHr r3r4rr5r6deleterrBrr7rIs 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#ddgyrQ)r+rrr*r,rHr r3r4rr5r6rRrscalar_subqueryrrBr7rIs 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 +  r values_namedF cte_named literal_bindsc,ttdttdtt ||rdndj ddgj |rdnd}t|}|j|j}t|ddgy)Ncol1col2z some name)rYname)ar)brcte1) rrr r boolrr6r r*allr)r8r-rWrXrYr`stmtrowss rtest_values_named_via_ctez!CTETest.test_values_named_via_ctes vv&vw'"=1$0[d   T8X& ' S9$ / d|!!$'++- D8X&'rN)__name__ __module__ __qualname__ __backend__ __requires__ run_inserts run_deletes classmethodrr.r:rFrJr requiresctes_with_update_delete update_fromrO delete_fromrSrV variationctes_with_valuesrerrrrsEKLKK  "     * 4 * -- !! ". B -- !! ". 6 -- . <W~e}5W{T5M2Wu 6 &&('736(rrN)r assertionsrschemarrrr r r r r r TablesTestrrtrrrys<W(h!!W(r