§
    öÛgÓ
  ã                   ó”   — d dl Z d dlZd dlZd dlZdZdZdZd„ Zd„ Zd„ Z	 G d„ d	ej
        ¦  «        Zd
„ Zedk    r e¦   «          dS dS )é    NÚ_dstz,SELECT i FROM generate_series(0, %d) AS g(i)zCOPY (%s) TO STDOUTc                 ó0  — t          j         ¦   «         dk    r,t          j        d|¦  «        }|                      |¦  «        |fS t          j         ¦   «         dk     r|                      ¦   «         dfS 	 t          | ¦  «        gdfS # t          $ r g dfcY S w xY w)z¦
	Read from one of the three methods using a random amount if sized.
	- 50% chance of curs.read(random())
	- 40% chance of next()
	- 10% chance of read() # no count
	g      à?r   gš™™™™™¹?éÿÿÿÿé   )ÚrandomÚ	randrangeÚreadÚnextÚStopIteration)ÚcursÚremaining_rowsÚrrowss      úV/granary/edev/quantum/lib/python3.11/site-packages/postgresql/test/cursor_integrity.pyÚrandom_readr      s    € õ „M�O„O�cÒÐÝ
Ô
˜1˜nÑ
-Ô
-€%Ø	�Š�5Ñ	Ô	˜5Ð	 Ð Ý„m�o„o˜ÒÐØ	�Š‰Œ�bˆÐðÝ�‰:Œ:ˆ,˜ˆ/ÐøÝ	ð ð ð Ø
ˆaˆ%€<€<€<ðøøøs   Á2B ÂBÂBc                 ó8   — t          t          | dz
  fz  ¦  «        S ©Nr   )ÚprepareÚgetq©Úlimits    r   Úrandom_select_getr       s   € Ý•�u˜q‘y�lÑ"Ñ#Ô#Ð#ó    c                 óJ   — t          t          t          | dz
  fz  fz  ¦  «        S r   )r   Úcopyr   r   s    r   Úrandom_copy_getr   #   s#   € Ý••t˜e a™i˜\Ñ)Ð+Ñ+Ñ,Ô,Ð,r   c                   óZ   — e Zd ZdZd„ Zd„ Zd ee¦  «        v rej	        dk    rd„ Z
d„ ZdS )	Útest_integrityzT
	test the integrity of the get and put interfaces on queries
	and result handles.
	c                 óœ  — d}|dk     �rBt          j        d¦  «        }d}||z  } t          |¦  «        ¦   «         }dgdf}|d         g}	 t          |||z
  pd¦  «        }t	          |d         ¦  «        }||z  }|                     |d         ¦  «         |rA|                      |d         d         d         |d         d         d         dz
  d	¦  «         |}n|d         dk    rnŒ›|                      ||¦  «         |                      t          t          d|¦  «        ¦  «        d
„ t          j
        |Ž D ¦   «         ¦  «         |dk     �°@d S d S )Nr   i'  é ¡ )r   r   Té
   r   úBfirst row(-1) of next failed to match the last row of the previousc                 ó   — g | ]
}|d          ‘ŒS )r   © ©Ú.0Úxs     r   ú
<listcomp>z.test_integrity.test_select.<locals>.<listcomp>C   s)   € ð 1ð 1ð 1Ø€A€a„Dð1ð 1ð 1r   )r   r   r   r   ÚlenÚappendÚfailUnlessEqualÚlistÚrangeÚ	itertoolsÚchain©	ÚselfÚtotalr   r	   ÚpÚlastÚ	completedr
   Úthisreads	            r   Útest_selectztest_integrity.test_select+   s…  € Ø
€%Ø�Š‰ÝÔ˜FÑ#Ô#€5Ø
€4ØˆE�>€5ØÕ˜ÑÔÑ!Ô!€1Øˆ7�Aˆ,€4Ø�Q”ˆy€9ðÝ�q˜5 4™<Ð.¨BÑ/Ô/€DÝ�4˜”7‰|Œ|€HØˆHÑ€DØ×Ò�T˜!”WÑÔÐØð Ø	×ÒØ
ˆ1„gˆb„k�!„n�d˜1”g˜a”j ”m aÑ'ØJñô ð ð €T€TØ	ˆaŒ�AŠˆà
ðð ×Ò˜˜eÑ$Ô$Ð$Ø×Ò��U 2 uÑ-Ô-Ñ.Ô.ð 1ð 1Ý”/ 9Ð-ð1ñ 1ô 1ñ ô ð ð- 	�Š‰ˆˆˆˆr   c                 ó   — d S ©Nr#   ©r0   s    r   Útest_insertztest_integrity.test_insertG   ó   € Ø€$r   Údb)é   é   r   c                 ó¾  — d}|dk     �rSt          j        d¦  «        }d}||z  } t          |¦  «        ¦   «         }dgdf}|d         g}	 t          |||z
  pd¦  «        }d„ |d         D ¦   «         |d         f}t	          |d         ¦  «        }||z  }|                     |d         ¦  «         |r5|                      |d         d         |d         d         dz
  d	¦  «         |}n|d         dk    rnŒ©|                      ||¦  «         |                      t          t          d|¦  «        ¦  «        t          t          j
        |Ž ¦  «        ¦  «         |dk     �°Qd S d S )
Nr   i€–˜ r   r   r   Tr    c                 ó,   — g | ]}t          |¦  «        ‘ŒS r#   )Úintr$   s     r   r'   z0test_integrity.test_copy_out.<locals>.<listcomp>V   s   € Ð&Ð&Ð&˜�c�!‰fŒfÐ&Ð&Ð&r   r!   )r   r   r   r   r(   r)   r*   r+   r,   r-   r.   r/   s	            r   Útest_copy_outztest_integrity.test_copy_outK   s“  € Ø€5Ø	�Ò	Ñ	ÝÔ˜VÑ$Ô$€EØ€DØ	ˆU�N€EØ�˜ÑÔÑ Ô €AØˆD�!ˆ9€DØ�a”�	€IðÝ˜˜E D™LÐ/¨RÑ0Ô0€TØ&Ð&˜d 1œgÐ&Ñ&Ô&¨¨Q¬Ð0€TÝ�D˜”G‘”€XØ	ˆXÑ€TØ×Ò�d˜1”gÑÔÐØð Ø
×ÒØˆA„wˆr„{�D˜”G˜A”J ‘NØKñô ð ð €d€dØ
ˆqŒ'�QŠ,ˆ,àðð 	×Ò˜˜uÑ%Ô%Ð%Ø×ÒÝ	�%��EÑ
Ô
ÑÔÝ	�)Œ/˜9Ð
%Ñ&Ô&ñô ð ð/ 
�Ò	Ñ	Ð	Ð	Ð	Ð	r   c                 ó   — d S r8   r#   r9   s    r   Útest_copy_inztest_integrity.test_copy_ini   r;   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r6   r:   ÚdirÚ__builtins__ÚpgÚversion_inforB   rD   r#   r   r   r   r   &   s}   € € € € € ðð ðð ð ð8ð ð ð 	ˆCˆC�ÑÔÐÐ "¤/°WÒ"<Ð"<ðð ð ð<ð ð ð ð r   r   c                  ó†   — t          d¦  «         t          d¦  «        at          d¦  «        at	          j        ¦   «          d S )Nz!CREATE TEMP TABLE _dst (i bigint)zCOPY _dst FROM STDINzINSERT INTO _dst VALUES ($1))Úexecuter   ÚcopyinÚloadinÚunittestÚmainr#   r   r   rR   rR   l   s<   € åÐ	,Ñ-Ô-Ð-Ý
Ð(Ñ
)Ô
)€Ý
Ð0Ñ
1Ô
1€Ý	„�„€€€r   Ú__main__)ÚosrQ   r   r-   Úiotr   r   r   r   r   ÚTestCaser   rR   rE   r#   r   r   ú<module>rW      sÓ   ðð 
€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð à€à5€Ø€ðð ð ð$$ð $ð $ð-ð -ð -ðDð Dð Dð Dð D�XÔ&ñ Dô Dð DðLð ð ð ˆzÒÐØ€�„€€€ð Ðr   