idddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z dd lm Z Gd d ej ZdS))config)fixtures)eq_)Column)Table) ForeignKey)Integer)select)String)testingc"eZdZdZdZdZdZedZedZ dZ dZ dZ e jje jjd Ze jje jjd Ze jjd Zd S) CTETestT)cteseachc ntd|tdtdtdtdtdt dtd |tdtdtdtdtdtdS) N some_tableidT) primary_keydata2 parent_idz some_table.idsome_other_table)rrr r r )clsmetadatas V/opt/cloudlinux/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_cte.py define_tableszCTETest.define_tabless   4d 3 3 3 66":: & & ; ? ; ; < <        4d 3 3 3 66":: & & ; ( (      c ||jjdddddddddddddd ddd d ddgdS) Nd1rrrrd2rd3d4d5)executetablesrinsert)r connections r insert_datazCTETest.insert_data&s~ J ! ( ( * *$T::$Q77$Q77$Q77$Q77   rc :|jj}tj5}t |g|jj gd d}| t |jjg|jj ddg}t| dgddddS#1swxYwYdS)Nr#r$r&some_cter&r(r&)r*rrdbconnectr wherecrin_cter)rfetchall)selfrconnr7results r#test_select_nonrecursive_round_tripz+CTETest.test_select_nonrecursive_round_trip3s+[+ Y   .D |$$z|(,,-?-?-?@@AAZ  \\ |$$**35:>>4,+G+GHHF !!G9 - - - . . . . . . . . . . . . . . . . . .sCDDDcj|jj}tj5}t |g|jj gd dd}| d}| }| t |g|jj |jjk}|t |jjg|jjdk|jj}t%|gdddddS#1swxYwYdS)Nr/r0T) recursivec1r#)r1r$r@r!rArA)r*rrr2r3r r4r5rr6r7alias union_allrrr)order_bydescrr8)r9rr:r7 cte_aliasst1r;s r test_select_recursive_round_tripz(CTETest.test_select_recursive_round_tripAs[+ Y    D |$$z|(,,-?-?-?@@AAZ400   $I""$$C--u ##CEH 0E$EFFC\\ |$$suzT)**#%*//++,,F !!FFF   '                  sE0F((F,/F,c |jj}|jj}tj5}t |g|jj gd d}| | gdt |gt| t |g|jjgdddddS#1swxYwYdS)Nr/r0r"))rr#r )rr$r )r%r&r)r*rrrr2r3r r4r5rr6r7r)r+ from_selectrrDrr8r9rrr:r7s r"test_insert_from_select_round_tripz*CTETest.test_insert_from_select_round_trip\su[+ ;7 Y    D |$$z|(,,-?-?-?@@AAZ  LL ''))55///     ,-..778H8J8MNN(**:::                      sDEE E c t|jj}|jj}tj5}||gdt|gt|g |j j gdd}||d |j j |j j kt#|t|g|j jgdddddS#1swxYwYdS)Nr"r/r0r')r)r r!N)rr#r')rr$r')r%r&r'r'r(r)r*rrrr2r3r)r+rJr r4r5rr6r7updatevaluesrrDrr8rKs rtest_update_from_round_tripz#CTETest.test_update_from_round_triprs[+ ;7 Y    D LL ''))55/// 1E1E    |$$z|(,,-?-?-?@@AAZ  LL ''))!$$').#%*<==     ,-..778H8J8MNN(**   #                  sE)F--F14F1c L|jj}|jj}tj5}||gdt|gt|g |j j gdd}|| |j j |j j kt!|t|g|j jddgddddS#1swxYwYdSNr"r/r0rNrO)r*rrrr2r3r)r+rJr r4r5rr6r7deleterrDrr8rKs rtest_delete_from_round_tripz#CTETest.test_delete_from_round_trips[+ ;7 Y    D LL ''))55/// 1E1E    |$$z|(,,-?-?-?@@AAZ  LL ''))//$&+suz9     ,-..778H8J8MNN(** ,/    #                  sEFF Fc |jj}|jj}tj5}||gdt|gt|g |j j gdd}|| |j j t|j j g |j j|j jkkt#|t|g|j jddgddddS#1swxYwYdSrT)r*rrrr2r3r)r+rJr r4r5rr6r7rUrrrDr8rKs r"test_delete_scalar_subq_round_tripz*CTETest.test_delete_scalar_subq_round_trips[+ ;7 Y    D LL ''))55/// 1E1E    |$$z|(,,-?-?-?@@AAZ  LL ''))//$&+suzl++11$4$6$99     ,-..778H8J8MNN(** ,/    )                  sFGGGN)__name__ __module__ __qualname__ __backend__ __requires__ run_inserts run_deletes classmethodrr-r<rHrLr requiresctes_with_update_delete update_fromrR delete_fromrVrXrrrr sKLKK  [ "   [   . . .6, - !  "!.- D - !"!.-8 -.-rrN)rr assertionsrschemarrr r r r r TablesTestrrerrrjsFFFFFh!FFFFFr