
    5h                         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
K
Jr  S SK
Jr   " S S\R                  5      rg)    )	bindparam)Column)Integer)MetaData)select)String)Table)testing)text)eq_)fixturesc                      \ rS rSrSrSrSr\S 5       r\S 5       r	S r
\R                  " S/ S	Q5      \R                  " S
SS/5      S 5       5       rS rS r\R                  " SSS/5      \R                  " SS\R                   R"                  4S\R                   R$                  4/5      S 5       5       rS rS rS r\R                   R.                  S 5       r\R                   R.                  S 5       rSrg)RowCountTest   ztest rowcount functionality)sane_rowcountTc                     [        SU[        S[        SSS9[        S[        S5      5      [        S[        S	5      5      5        g )
N	employeesemployee_idFTautoincrementprimary_keyname2   
department   )r	   r   r   r   )clsmetadatas     q/var/www/html/cementerio_25MayoBackend/env/lib/python3.13/site-packages/sqlalchemy/testing/suite/test_rowcount.pydefine_tablesRowCountTest.define_tables   sB    # 	 66":&<+	
    c                     / SQ=U l         nU R                  R                  nUR                  UR	                  5       [        U5       VVVs/ sH  u  nu  pVXEUS.PM     snnn5        g s  snnnf )N)	)AngelaA)Andrewr$   )Anandr$   )BobB)Bobetter(   )Buffyr(   )CharlieC)Cynthiar,   )Chrisr,   r   r   r   )datatablesr   executeinsert	enumerate)r   
connectionr0   employees_tableinds          r   insert_dataRowCountTest.insert_data+   sn    

 
	
4 **..""$ "+4!0IAv !"A>!0	
s   A(c                 F   U R                   R                  n[        UR                  R                  UR                  R
                  5      R                  UR                  R                  5      nUR                  U5      R                  5       n[        X@R                  5        g )N)r1   r   r   cr   r   order_byr   r2   fetchallr   r0   )selfr5   r6   srowss        r   
test_basicRowCountTest.test_basicB   sx    ++//""O$5$5$@$@

(?$$00
1 	
 !!!$--/D))r!   	statement)updatedeleter3   r   close_firstFc           	         U R                   R                  nUR                  R                  nUR                  (       a6  UR                  UR	                  5       R                  US:H  5      SS05      nGO$UR                  (       a5  UR                  UR                  5       R                  US:H  5      SS05      nOUR                  (       a0  UR                  UR                  5       SSSS.SS	SS.S
SSS./5      nOUR                  (       a|  [        UR                  R                  UR                  R                  5      R                  UR                  R                  S:H  5      nUR                  U5      nUR                  5         OUR                  5         U(       a  WR                  5         WR                  S;   d   eg )Nr,   r   Z   znone 1Xr/      znone 2   znone 3)   )r1   r   r=   r   rF   r2   whererG   r3   r   r   allfailcloserowcount)r@   r5   rE   rH   r6   r   rrA   s           r   $test_non_rowcount_scenarios_no_raise1RowCountTest.test_non_rowcount_scenarios_no_raiseK   s   
 ++// %&&11
""&&(..zS/@As#A ""&&(..zS/@As#A ""&&($&L$&L$&LA !!&&(9(9(D(DeO%%00C78  ""1%AEEGNNGGIzzW$$$r!   c                     U R                   R                  nUR                  R                  nUR	                  UR                  5       R                  US:H  5      SS05      nUR                  S:X  d   eg )Nr,   r   rJ   rP   )r1   r   r=   r   r2   rF   rQ   rU   r@   r5   r6   r   rV   s        r   test_update_rowcount1"RowCountTest.test_update_rowcount1v   sj    ++// %&&11
""$**:+<=3
 zzQr!   c                     U R                   R                  nUR                  R                  nUR	                  UR                  5       R                  US:H  5      SS05      n[        UR                  S5        g )Nr,   r   rP   )	r1   r   r=   r   r2   rF   rQ   r   rU   rZ   s        r   test_update_rowcount2"RowCountTest.test_update_rowcount2   sh    ++// %&&11
""$**:+<=3
 	AJJr!   implicit_returningdmlrF   rG   c                    U(       a  U R                   R                  nOJ[        S[        5       [	        S[
        SSS9[	        S[        S5      5      [	        S[        S	5      5      SS
9nUR                  R                  nUR                  (       aU  UR                  5       R                  US:H  5      R                  UR                  R                  S-   S9R                  5       nORUR                  (       a1  UR                  5       R                  US:H  5      R                  5       nOUR                  5         UR                  W5      n[!        UR"                  S5        g)znote this test should succeed for all RETURNING backends
as of 2.0.  In
Idf28379f8705e403a3c6a937f6a798a042ef2540 we changed rowcount to use
len(rows) when we have implicit returning

r   r   FTr   r   r   r   r   )r`   r,   rJ   )r   rP   N)r1   r   r	   r   r   r   r   r=   r   rF   rQ   valuesreturn_defaultsrG   rS   r2   r   rU   )r@   r5   r`   ra   r6   r   stmtrV   s           r   +test_update_delete_rowcount_return_defaults8RowCountTest.test_update_delete_rowcount_return_defaults   s   $ "kk33O#
!"' $	 vvbz*|VAY/#(O %&&11
::&&(zS()_..99C?@ "	  ZZ&&(zS() "  HHJt$AJJr!   c                 R    UR                  S5      n[        UR                  S5        g Nz8update employees set department='Z' where department='C'rP   )exec_driver_sqlr   rU   r@   r5   results      r   test_raw_sql_rowcount"RowCountTest.test_raw_sql_rowcount   s%    ++F
 	FOOQr!   c                 d    UR                  [        S5      5      n[        UR                  S5        g ri   )r2   r   r   rU   rk   s      r   test_text_rowcountRowCountTest.test_text_rowcount   s+    ##KL
 	FOOQr!   c                     U R                   R                  nUR                  R                  nUR	                  UR                  5       R                  US:H  5      5      n[        UR                  S5        g )Nr,   rP   )	r1   r   r=   r   r2   rG   rQ   r   rU   rZ   s        r   test_delete_rowcount!RowCountTest.test_delete_rowcount   s`    ++// %&&11
""$**:+<=
 	AJJr!   c                 *   U R                   R                  nUR                  5       R                  UR                  R
                  [        S5      :H  5      R                  SS9nUR                  USS0SS0SS0/5      n[        UR                  S5        g )Nemp_namer,   )r   r'   r-   nonexistent   )r1   r   rF   rQ   r=   r   r   rc   r2   r   rU   r@   r5   r6   re   rV   s        r   test_multi_update_rowcount'RowCountTest.test_multi_update_rowcount   s    ++//""$U?$$))Yz-BBCVsV# 	 U#Y']+
 	AJJr!   c                    U R                   R                  nUR                  5       R                  UR                  R
                  [        S5      :H  5      nUR                  USS0SS0SS0/5      n[        UR                  S5        g )Nrv   r'   r-   rw   rx   )
r1   r   rG   rQ   r=   r   r   r2   r   rU   ry   s        r   test_multi_delete_rowcount'RowCountTest.test_multi_delete_rowcount   s    ++//%%'--""i
&;;
 U#Y']+
 	AJJr!    N)__name__
__module____qualname____firstlineno____doc____requires____backend__classmethodr   r:   rC   r
   	variationrW   r[   r^   requiresupdate_returningdelete_returningrf   rm   rp   rs   sane_multi_rowcountrz   r}   __static_attributes__r   r!   r   r   r      s:   %%LK
 
 
 
, {$LM}tUm4'% 5 N'%R	
 +dE];w''889w''889	
. <.`   )) *& )) *r!   r   N)
sqlalchemyr   r   r   r   r   r   r	   r
   r   sqlalchemy.testingr   r   
TablesTestr   r   r!   r   <module>r      s<    !         " 'l8&& lr!   