Ë
    ìmxi'G  ã                   óÜ  — d dl Z d dlZd dlmZ 	 d dlmZ d dlmZm	Z	m
Z
mZ 	 d dlZd dlmZ e j$                  j
                  Ze j$                  j                  d„ «       Zd„ Zd„ Ze j$                  j                  d„ «       Ze j$                  j                  d„ «       Ze j$                  j                  e j$                  j3                  d	d ej4                  «       g«      d
„ «       «       Ze j$                  j8                  e j$                  j                  d„ «       «       Ze j$                  j                  e j$                  j3                  d	d ej4                  «       g«      d„ «       «       Ze j$                  j                  e j$                  j>                  d„ «       «       Z e j$                  j                  e j$                  j>                  d„ «       «       Z!e j$                  j                  e j$                  j>                  d„ «       «       Z"e j$                  jF                  d„ «       Z$d„ Z%d„ Z&d„ Z'd„ Z(e j$                  j3                  dejR                  dfejR                  dfejT                  dfejT                  dfg«      e j$                  j3                  dddg«      d„ «       «       Z+e j$                  j3                  dg d¢«      d „ «       Z,d!„ Z-y# e$ r dZY �Œ¸w xY w# e$ r dxZZY �Œ½w xY w)"é    N)Úfs)Ú_read_tableÚ_test_dataframeÚ_test_tableÚ_range_integersc                 ó”  — t        d«      }d|d<   t        j                  j                  |d¬«      }t        j                  «       }t        j                  ||j                  d¬«      }g }t        d«      D ]X  }||d<   t        j                  j                  |d¬«      }|j                  |«       |j                  |j                  «       «       ŒZ |j                  «        |j                  «       }t        t        j                  |«      «      }t!        j"                  |d	¬
«      }	t%        j&                  |j)                  «       |	«       y ©Néd   r   Ú	unique_idF©Úpreserve_indexú2.6©Úversioné
   T©Úignore_index)r   ÚpaÚTableÚfrom_pandasÚBufferOutputStreamÚpqÚParquetWriterÚschemaÚrangeÚwrite_tableÚappendÚcopyÚcloseÚgetvaluer   ÚBufferReaderÚpdÚconcatÚtmÚassert_frame_equalÚ	to_pandas©
ÚtempdirÚdfÚarrow_tableÚoutÚwriterÚframesÚiÚbufÚresultÚexpecteds
             ú`/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/parquet/test_parquet_writer.pyÚ#test_parquet_incremental_file_buildr3   ,   s  € ä	˜Ó	€BØ€B€{�Oä—(‘(×&Ñ& r¸%Ð&Ó@€KÜ
×
Ñ
Ó
!€Cä×Ñ˜c ;×#5Ñ#5¸uÔE€Fà€FÜ�2‹Yò !ˆØˆˆ;‰Ü—h‘h×*Ñ*¨2¸eÐ*ÓDˆØ×Ñ˜;Ô'à�‰�b—g‘g“iÕ ð!ð ‡L�L„Nà
�,‰,‹.€CÜœŸ™¨Ó-Ó.€Fä�y‰y˜¨dÔ3€HÜ×Ñ˜&×*Ñ*Ó,¨hÕ7ó    c                 óP  — t        j                  dt        j                  «       «      t        j                  dt        j                  «       «      g}t        j                  |«      }t        j
                  dg«      t        j
                  dg«      g}t         j                  j                  |ddg«      }| dz  }t        j                  ||ddd¬	«      5 }t        j                  t        «      5  |j                  |«       d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)
NÚPOSÚdescé   Úblazsimple_validate_schema.parquetr   ÚsnappyÚspark)r   ÚcompressionÚflavor)r   ÚfieldÚuint32Ústringr   Úarrayr   Úfrom_arraysr   r   ÚpytestÚraisesÚ
ValueErrorr   )r(   Úsimple_fieldsÚsimple_schemaÚsimple_from_arrayÚsimple_tableÚpathÚws          r2   Ú test_validate_schema_write_tablerL   G   sð   € ô 	�‰�œŸ	™	›Ó$Ü
�‰�œŸ™›Ó%ð€Mô
 —I‘I˜mÓ,€Mô Ÿ™ 1 #›¬¯©°%°Ó(9Ð:ÐÜ—8‘8×'Ñ'Ð(9¸EÀ6¸?ÓK€LàÐ5Ñ5€Dä	×	Ñ	˜$ Ø"'Ø&.°wô
@ð (àCDÜ�]‰]œ:Ó&ñ 	(Ø�M‰M˜,Ô'÷	(÷(ð (÷	(ð 	(ú÷(ð (ús$   ÃDÃ-DÃ?DÄD	ÄDÄD%c                 ó’  — t        j                  t        «      5  t        j                  t        j
                  dt        j                  «       «      g«      }t        j                  d |«       d d d «       t        j                  t        «      5  t        j                  | dz  d «       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)NÚxÚ	some_path)	rC   rD   Ú	TypeErrorr   r   r>   Úint32r   r   )r(   Úsome_schemas     r2   Útest_parquet_invalid_writerrS   ]   s’   € ä	�‰”yÓ	!ñ ,Ü—i‘i¤§¡¨#¬r¯x©x«zÓ!:Ð ;Ó<ˆÜ
×Ñ˜˜{Ô+÷,ô 
�‰”yÓ	!ñ 6Ü
×Ñ˜ ;Ñ.°Ô5÷6ð 6÷	,ð ,ú÷6ð 6ús   šAB1ÂB=Â1B:Â=Cc                 ó   — t        d«      }d|d<   t        j                  j                  |d¬«      }t        j                  «       }t        j                  ||j                  d¬«      5 }g }t        d«      D ]X  }||d<   t        j                  j                  |d¬«      }|j                  |«       |j                  |j                  «       «       ŒZ 	 d d d «       |j                  «       }t        t        j                  |«      «      }t        j                   d	¬
«      }	t#        j$                  |j'                  «       |	«       y # 1 sw Y   ŒsxY wr	   )r   r   r   r   r   r   r   r   r   r   r   r   r    r   r!   r"   r#   r$   r%   r&   r'   s
             r2   Útest_parquet_writer_context_objrU   g   s  € ä	˜Ó	€BØ€B€{�Oä—(‘(×&Ñ& r¸%Ð&Ó@€KÜ
×
Ñ
Ó
!€Cä	×	Ñ	˜#˜{×1Ñ1¸5Ô	Að %ÀVàˆÜ�r“ò 	%ˆAØˆBˆ{‰OÜŸ(™(×.Ñ.¨rÀ%Ð.ÓHˆKØ×Ñ˜{Ô+à�M‰M˜"Ÿ'™'›)Õ$ñ	%÷%ð �,‰,‹.€CÜœŸ™¨Ó-Ó.€Fä�y‰y˜¨dÔ3€HÜ×Ñ˜&×*Ñ*Ó,¨hÕ7÷%ð %ús   Á(A)EÅEc                 ó  — t        d«      }d|d<   t        j                  j                  |d¬«      }t        j                  «       }d}	 t        j                  ||j                  d¬«      5 }g }t        d	«      D ]h  }||d<   t        j                  j                  |d¬«      }|j                  |«       |j                  |j                  «       «       |d
k(  sŒ_t        |«      ‚ 	 d d d «       |j                  «       }	t!        t        j"                  |	«      «      }
t%        j&                  d¬«      }t)        j*                  |
j-                  «       |«       y # 1 sw Y   ŒsxY w# t        $ r}t        |«      |k(  sJ ‚Y d }~Œ”d }~ww xY w)Nr
   r   r   Fr   zArtificial Errorr   r   r   é   Tr   )r   r   r   r   r   r   r   r   r   r   r   r   rE   Ú	ExceptionÚstrr    r   r!   r"   r#   r$   r%   r&   )r(   r)   r*   r+   Ú
error_textr,   r-   r.   Úer/   r0   r1   s               r2   Ú.test_parquet_writer_context_obj_with_exceptionr\   €   sR  € ä	˜Ó	€BØ€B€{�Oä—(‘(×&Ñ& r¸%Ð&Ó@€KÜ
×
Ñ
Ó
!€CØ#€Jð$Ü×Ñ˜cØ)×0Ñ0Ø&+ô-ð 	1à06àˆFÜ˜2“Yò 1�Ø"#��;‘Ü Ÿh™h×2Ñ2°2ÀeÐ2ÓL�Ø×"Ñ" ;Ô/Ø—‘˜bŸg™g›iÔ(Ø˜“6Ü$ ZÓ0Ð0ñ1÷	1ð �,‰,‹.€CÜœŸ™¨Ó-Ó.€Fä�y‰y˜¨dÔ3€HÜ×Ñ˜&×*Ñ*Ó,¨hÕ7÷'	1ð 	1ûô ò $Ü�1‹v˜Ò#Ð#Õ#ûð$ús7   Á	"E# Á+A,EÃEÃ%E# ÅE ÅE# Å#	FÅ,FÆFÚ
filesystemc                 óš  — t        d«      }t        j                  j                  |d¬«      }t        j                  j                  |d¬«      }t        | dz  «      }t        | dz  «      }t        j                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        |«      j                  «       }t        j                  ||«       t        j                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        |«      j                  «       }t        j                  ||«       t        j                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        |«      j                  «       }t        j                  ||«       t        j                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        |«      j                  «       }t        j                  ||«       y # 1 sw Y   �Œ~xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¿xY w# 1 sw Y   Œ_xY w)Nr
   Fr   zdata_table.parquetzdata_batch.parquetr   ©r]   r   )r   r   r   r   ÚRecordBatchrY   r   r   r   r   r   r&   r$   r%   Úwrite_batchÚwrite)	r(   r]   r)   ÚtableÚbatchÚ
path_tableÚ
path_batchr,   r0   s	            r2   Ú"test_parquet_writer_write_wrappersrg       sô  € ô 
˜Ó	€BÜ�H‰H× Ñ  °EÐ Ó:€EÜ�N‰N×&Ñ& r¸%Ð&Ó@€EÜ�WÐ3Ñ3Ó4€JÜ�WÐ3Ñ3Ó4€Jä	×	Ñ	Ø�E—L‘L¨ZÀô
ð "à	Ø×Ñ˜5Ô!÷"ô
 ˜Ó$×.Ñ.Ó0€FÜ×Ñ˜& "Ô%ä	×	Ñ	Ø�E—L‘L¨ZÀô
ð "à	Ø×Ñ˜5Ô!÷"ô
 ˜Ó$×.Ñ.Ó0€FÜ×Ñ˜& "Ô%ä	×	Ñ	Ø�E—L‘L¨ZÀô
ð à	Ø�‰�UÔ÷ô
 ˜Ó$×.Ñ.Ó0€FÜ×Ñ˜& "Ô%ä	×	Ñ	Ø�E—L‘L¨ZÀô
ð à	Ø�‰�UÔ÷ô
 ˜Ó$×.Ñ.Ó0€FÜ×Ñ˜& "Õ%÷="ñ "ú÷"ñ "ú÷ð ú÷ð ús0   ÂHÃ9H(Å%H5ÇIÈH%È(H2È5H>ÉI
c                 óè   ‡ ‡‡— dŠdŠˆˆˆ fd„} |‰dz  ‰dz
  d«        |‰dz  ‰d«        |‰dz  ‰dz   d«        |‰dz   ‰dz   d«        |‰dz  ‰dz  d«        |‰d d«        |‰dz   d d«       y )Ni   i   c                 óX  •— t         j                  j                  t        | d«      gdg¬«      }|€t	        j
                  |‰dz  «       nt	        j
                  |‰dz  |¬«       t	        j                  ‰dz  «      }|€‰
n|}|j                  |k(  sJ ‚t        |‰	«      }t        |dz
  «      D ]"  }|j                  |«      j                  |k(  rŒ"J ‚ | ||dz
  z  z
  }|dk(  r$|j                  |dz
  «      j                  |k(  sJ ‚y |j                  |dz
  «      j                  |k(  sJ ‚y )NÚbrN   )Únamesztest.parquet)Úrow_group_sizer8   r   )r   r   rB   r   r   r   Úread_metadataÚnum_row_groupsÚminr   Ú	row_groupÚnum_rows)Ú	data_sizeÚ
chunk_sizeÚexpect_num_chunksrc   ÚmetadataÚexpected_chunk_sizeÚlatched_chunk_sizeÚ	chunk_idxÚ	remainderÚabs_max_chunk_sizeÚdefault_chunk_sizer(   s            €€€r2   Úcheck_chunk_sizez8test_parquet_writer_chunk_size.<locals>.check_chunk_sizeÓ   sY  ø€ Ü—‘×$Ñ$Ü˜I sÓ+ð&
à�ð %ó ˆð ÐÜ�N‰N˜5 '¨NÑ":Õ;ä�N‰N˜5 '¨NÑ":È:ÕVÜ×#Ñ# G¨nÑ$<Ó=ˆØ4>Ð4FÑ0ÈJÐØ×&Ñ&Ð*;Ò;Ð;Ð;Ü Ð!4Ð6HÓIÐäÐ0°1Ñ4Ó5ò 	PˆIØ×%Ñ% iÓ0×9Ñ9Ð=OÓOÐOÐOð	Pð Ð!4Ð8IÈAÑ8MÑ!NÑOˆ	Ø˜Š>Ø×%Ñ%Ø! AÑ%ó'ß'/¡xÐ3EòFð Fñ Fð ×%Ñ%Ð&7¸!Ñ&;Ó<×EÑEÈÒRÐRÑRr4   é   r
   é   r8   © )r(   r|   rz   r{   s   ` @@r2   Útest_parquet_writer_chunk_sizer€   Í   s¯   ú€ ð %ÐØ)ÐöSñ. Ð'¨!Ñ+Ð-?À#Ñ-EÀqÔIÙÐ'¨!Ñ+Ð-?ÀÔCÙÐ'¨!Ñ+Ð-?À#Ñ-EÀqÔIÙÐ'¨#Ñ-Ð/AÀCÑ/GÈÔKñ Ð'¨!Ñ+Ð-?À!Ñ-CÀQÔGñ Ð'¨¨qÔ1ÙÐ'¨!Ñ+¨T°1Õ5r4   c                 óh  — t        d«      }t        j                  j                  |d¬«      }t	        | dz  «      }t        j                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        |«      j                  «       }t        j                  ||«       y # 1 sw Y   Œ9xY w)Nr
   Fr   zdata.parquetr   r_   )r   r   r   r   rY   r   r   r   r   r   r&   r$   r%   )r(   r]   r)   rc   rJ   r,   r0   s          r2   Ú$test_parquet_writer_filesystem_localr‚   ø   sœ   € ô 
˜Ó	€BÜ�H‰H× Ñ  °EÐ Ó:€EÜˆw˜Ñ'Ó(€Dä	×	Ñ	Øˆe�l‰l z¸5ô
ð "à	Ø×Ñ˜5Ô!÷"ô
 ˜Ó×(Ñ(Ó*€FÜ×Ñ˜& "Õ%÷"ð "ús   ÁB(Â(B1c                 óX  — t        d«      }t        j                  j                  |d¬«      }| \  }}}t	        j
                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        |«      j                  «       }t        j                  ||«       y # 1 sw Y   Œ9xY w)Nr
   Fr   r   r_   ©r   r   r   r   r   r   r   r   r   r&   r$   r%   ©Ús3_example_fsr)   rc   r   ÚurirJ   r,   r0   s           r2   Ú!test_parquet_writer_filesystem_s3rˆ     s˜   € ô 
˜Ó	€BÜ�H‰H× Ñ  °EÐ Ó:€Eà!�M€BˆˆTä	×	Ñ	Øˆe�l‰l r°5ô
ð "à	Ø×Ñ˜5Ô!÷"ô
 ˜Ó×'Ñ'Ó)€FÜ×Ñ˜& "Õ%÷"ð "ús   ÁB Â B)c                 óZ  — t        d«      }t        j                  j                  |d¬«      }| \  }}}t	        j
                  ||j                  d¬«      5 }|j                  |«       d d d «       t        ||¬«      j                  «       }t        j                  ||«       y # 1 sw Y   Œ;xY w)Nr
   Fr   r   r   ©r]   r„   r…   s           r2   Ú%test_parquet_writer_filesystem_s3_urir‹     s”   € ô 
˜Ó	€BÜ�H‰H× Ñ  °EÐ Ó:€Eà!�M€BˆˆTä	×	Ñ	˜#˜uŸ|™|°UÔ	;ð "¸vØ×Ñ˜5Ô!÷"ô ˜¨"Ô-×7Ñ7Ó9€FÜ×Ñ˜& "Õ%÷	"ð "ús   ÁB!Â!B*c                 ód  — t        d«      }t        j                  j                  |d¬«      }| \  }}|dz   }t	        j
                  ||j                  |d¬«      5 }|j                  |«       d d d «       t        ||¬«      j                  «       }t        j                  ||«       y # 1 sw Y   Œ;xY w)Nr
   Fr   z/test.parquetr   r_   rŠ   r„   )Ús3_example_s3fsr)   rc   r   Ú	directoryrJ   r,   r0   s           r2   Ú#test_parquet_writer_filesystem_s3fsr�   +  s¢   € ô 
˜Ó	€BÜ�H‰H× Ñ  °EÐ Ó:€Eà#�M€Bˆ	Ø�Ñ&€Dä	×	Ñ	Øˆe�l‰l r°5ô
ð "à	Ø×Ñ˜5Ô!÷"ô
 ˜¨"Ô-×7Ñ7Ó9€FÜ×Ñ˜& "Õ%÷"ð "ús   ÁB&Â&B/c                  ó
  — t        d«      } t        j                  «       }t        j                  t
        d¬«      5  t        j                  t        j                  «       | j                  |¬«       d d d «       y # 1 sw Y   y xY w)Nr
   zspecified path is file-like©ÚmatchrŠ   )r   r   ÚLocalFileSystemrC   rD   rE   r   r   r   r   r   )rc   r]   s     r2   Ú,test_parquet_writer_filesystem_buffer_raisesr”   =  sb   € ä˜Ó€EÜ×#Ñ#Ó%€Jô 
�‰”zÐ)FÔ	Gñ 
Ü
×ÑÜ×!Ñ!Ó# U§\¡\¸jõ	
÷
÷ 
ñ 
ús   »5A9Á9Bc                 ó  — t        j                  dg d¢i«      }| dz  }t        j                  ||j                  «      5 }|j                  |«       d d d «       t        j                  |«      }d|j                  v sJ ‚|j                  d   sJ ‚| dz  }t        j                  ||j                  d¬«      5 }|j                  |«       d d d «       t        j                  |«      }|j                  �J ‚y # 1 sw Y   Œ¤xY w# 1 sw Y   Œ9xY w)NÚa)r8   r}   r~   ztest_with_schema.parquets   ARROW:schemaztest_without_schema.parquetF)Ústore_schema)r   rc   r   r   r   r   rm   ru   )r(   rc   Úpath1r,   ÚmetaÚpath2s         r2   Ú test_parquet_writer_store_schemar›   I  sû   € Ü�H‰H�cš9Ð%Ó&€Eð Ð0Ñ0€EÜ	×	Ñ	˜% §¡Ó	.ð "°&Ø×Ñ˜5Ô!÷"ô ×Ñ˜EÓ"€DØ˜dŸm™mÑ+Ð+Ð+Ø�=‰=˜Ò)Ð)Ð)ð Ð3Ñ3€EÜ	×	Ñ	˜% §¡¸EÔ	Bð "ÀfØ×Ñ˜5Ô!÷"ô ×Ñ˜EÓ"€DØ�=‰=Ð Ð Ñ ÷"ð "ú÷"ð "ús   ¿C4Â6D Ã4C=Ä D	c                 óê  — t         j                  j                  t        j                  g d¬«      gdg«      }| dz  }t	        j
                  ||j                  «      5 }|j                  |«       |j                  dddœ«       |j                  dd	d
œ«       d d d «       t	        j                  |«      }|j                  j                  }|d   dk(  sJ ‚|d   dk(  sJ ‚|d   dk(  sJ ‚y # 1 sw Y   ŒSxY w)NrQ   ©ÚtypeÚf0zmetadata.parquetÚ1rN   )Úkey1Úkey2Ú2Ú3)r¢   Úkey3s   key1ó   1s   key2ó   2s   key3ó   3)r   r   rB   rA   r   r   r   r   Úadd_key_value_metadataÚParquetFileru   )r(   rc   rJ   r,   Úreaderru   s         r2   Ú-test_parquet_writer_append_key_value_metadatar¬   ^  sî   € Ü�H‰H× Ñ ¤"§(¡(¨2°GÔ"<Ð!=À¸vÓF€EØÐ'Ñ'€Dä	×	Ñ	˜$ §¡Ó	-ð B°Ø×Ñ˜5Ô!Ø×%Ñ%¨s¸CÑ&@ÔAØ×%Ñ%¨s¸CÑ&@ÔA÷Bô �^‰^˜DÓ!€FØ�‰×'Ñ'€HØ�GÑ Ò$Ð$Ð$Ø�GÑ Ò$Ð$Ð$Ø�GÑ Ò$Ð$Ñ$÷Bð Bús   Á:C)Ã)C2c           	      óv  — t        j                  dt        d«      i«      }t        j                  || dz  dd¬«       t        j                  || dz  ddd¬	«       t        j                  || d
z  dddddœ¬	«       t        j
                  | dz  «      }t        j
                  | dz  «      }t        j
                  | d
z  «      }|j                  |«      sJ ‚|j                  |«      sJ ‚t        j                  | dz  «      }t        j                  | dz  «      }t        j                  | d
z  «      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚t        |j                  «      D ]¼  }|j                  |«      }	|j                  |«      }
|j                  |«      }|	j                  |
j                  k(  sJ ‚|	j                  |j                  k(  sJ ‚|	j                  |
j                  k  sJ ‚|	j                  |j                  k  sJ ‚|
j                  |j                  k  rŒ¼J ‚ y )Nr–   i † zunchunked.parquetFÚPLAIN)Úuse_dictionaryÚcolumn_encodingzchunked-default.parquetT)r¯   r°   Úuse_content_defined_chunkingzchunked-custom.parqueté €  é   ©Úmin_chunk_sizeÚmax_chunk_size)r   rc   r   r   r   Ú
read_tableÚequalsrm   rn   rp   rq   Útotal_byte_size)r(   rc   Ú	unchunkedÚchunked_defaultÚchunked_customÚunchunked_metadataÚchunked_default_metadataÚchunked_custom_metadatar.   Úrg_unchunkedÚrg_chunked_defaultÚrg_chunked_customs               r2   Ú%test_parquet_content_defined_chunkingrÃ   m  s>  € Ü�H‰H�cœ5 ›>Ð*Ó+€Eô ‡N�N�5˜'Ð$7Ñ7Ø"'Ø#*õ,ô ‡N�N�5˜'Ð$=Ñ=Ø"'Ø#*Ø04õ6ô ‡N�N�5˜'Ð$<Ñ<Ø"'Ø#*ØCIØCIñ1KõLô —‘˜gÐ(;Ñ;Ó<€IÜ—m‘m GÐ.GÑ$GÓH€OÜ—]‘] 7Ð-EÑ#EÓF€NØ×Ñ˜OÔ,Ð,Ð,Ø×Ñ˜NÔ+Ð+Ð+ô ×)Ñ)¨'Ð4GÑ*GÓHÐÜ!×/Ñ/°Ð:SÑ0SÓTÐÜ ×.Ñ.¨wÐ9QÑ/QÓRÐà×,Ñ,Ð0H×0WÑ0WÒWÐWÐWØ×,Ñ,Ð0G×0VÑ0VÒVÐVÐVäÐ%×4Ñ4Ó5ò 
VˆØ)×3Ñ3°AÓ6ˆØ5×?Ñ?ÀÓBÐØ3×=Ñ=¸aÓ@ÐØ×$Ñ$Ð(:×(CÑ(CÒCÐCÐCØ×$Ñ$Ð(9×(BÑ(BÒBÐBÐBð ×+Ñ+Ð.@×.PÑ.PÒPÐPÐPØ×+Ñ+Ð.?×.OÑ.OÒOÐOÐOØ!×1Ñ1Ð4E×4UÑ4UÓUÐUÐUñ
Vr4   c                 óZ  — t        j                  dt        d«      i«      }| dz  }d}t        j                  t
        |¬«      5  dddœ}t        j                  |||¬	«       d d d «       dd
dœdfddidfddidfg}|D ]A  \  }}t        j                  t        |¬«      5  t        j                  |||¬	«       d d d «       ŒC t        j                  ||d
¬	«       dddœ}t        j                  |||¬	«       ddddœ}t        j                  |||¬	«       y # 1 sw Y   ŒµxY w# 1 sw Y   Œ­xY w)Nr–   r
   zchunked-invalid.parquetz2max_chunk_size must be greater than min_chunk_sizer‘   r³   r²   r´   )r±   T)rµ   Úunknown_optionzEUnknown options in 'use_content_defined_chunking': {'unknown_option'}rµ   zEMissing options in 'use_content_defined_chunking': {'max_chunk_size'}r¶   zEMissing options in 'use_content_defined_chunking': {'min_chunk_size'}r8   )rµ   r¶   Ú
norm_level)	r   rc   r   rC   rD   rX   r   r   rE   )r(   rc   rJ   ÚmsgÚcdc_optionsÚcasess         r2   Ú0test_parquet_content_defined_chunking_parametersrÊ   ›  sK  € Ü�H‰H�cœ5 ›:Ð&Ó'€EØÐ.Ñ.€Dð ?€CÜ	�‰”y¨Ô	,ñ NØ)/À6ÑJˆÜ
�‰�u˜dÀÕM÷Nð  )¸DÑAØSð	
ð
 ˜yÐ)ØSð	
ð
 ˜yÐ)ØSð	
ð€Eð "ò RÑˆ�SÜ�]‰]œ:¨SÔ1ñ 	RÜ�N‰N˜5 $À[ÕQ÷	Rð 	RðRô
 ‡N�N�5˜$¸TÕBð &,¸vÑF€KÜ‡N�N�5˜$¸[ÕIð &,¸vÐUVÑW€KÜ‡N�N�5˜$¸[ÖI÷?Nð Nú÷&	Rð 	Rús   ÁDÂD!ÄDÄ!D*	ztime_type, time_unitÚsÚmsÚusÚnsÚutc_flag_valFTc           	      óª  — | dz  }g d¢}t        j                  dt        j                  | ||«      ¬«      i«      }t        j                  d ||«      fg«      }t	        j
                  |||¬«      5 }|j                  |«       d d d «       t	        j                  ||¬«      }	|	j                  d¬«       |	j                  |«      sJ ‚y # 1 sw Y   ŒFxY w)	Nztime_adjusted_to_utc.parquet)r   é{   é'  iQ Útime_colr�   )Úwherer   Úwrite_time_adjusted_to_utc©r   T©Úfull)
r   rc   rA   r   r   r   r   r·   Úvalidater¸   )
r(   rÏ   Ú	time_typeÚ	time_unitÚfilenameÚtime_valuesrc   r   r,   r0   s
             r2   Ú,test_arrow_writer_props_time_adjusted_to_utcrÞ   Ä  sÑ   € ð Ð7Ñ7€Hâ*€Kä�H‰HØ”B—H‘H˜[©y¸Ó/CÔDðó €Eô �Y‰YØ	‘Y˜yÓ)Ð*ðó €Fô 
×	Ñ	ØØØ#/ô
ð "ð 
Ø×Ñ˜5Ô!÷"ô �]‰]˜8¨FÔ3€Fà
‡O�O˜€OÔà�=‰=˜ÔÐÑ÷"ð "ús   Á2C	Ã	CÚmax_rows_per_page)r8   r   r
   éè  Nc                 óT  — | dz  }t        j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      dœ«      }t        j
                  dt        j                  «       fdt        j                  «       fg«      }t        j                  |||¬«      5 }|j                  |«       d d d «       t        j                  ||¬	«      }|j                  d
¬«       |j                  |«      sJ ‚y # 1 sw Y   ŒFxY w)Nzmax_rows_per_page.parquet)r8   r}   r~   é   rW   é   é   r�   )g      &@g      (@g      *@g      ,@g      .@g      0@g      1@)rN   ÚyrN   rå   ©rÔ   r   rß   rÖ   Tr×   )r   rc   rA   Úint8Úfloat16r   r   r   r   r·   rÙ   r¸   )r(   rß   rÜ   rc   r   r,   r0   s          r2   Ú#test_writer_props_max_rows_per_pageré   ì  sð   € ð Ð4Ñ4€Hä�H‰HÜ�X‰XÒ+´"·'±'³)Ô<Ü�X‰XÒ@ÄrÇzÁzÃ|ÔTñó €Eô
 �Y‰YØ	Œb�g‰g‹iÐØ	Œb�j‰j‹lÐðó €Fô
 
×	Ñ	ØØØ+ô
ð "ð 
Ø×Ñ˜5Ô!÷"ô �]‰]˜8¨FÔ3€Fà
‡O�O˜€OÔà�=‰=˜ÔÐÑ÷"ð "ús   ÃDÄD'c                 óÆ  — t        j                  dt        j                  t        d«      «      i«      }t	        j
                  «       }g }dD ]f  }| › d|› d�}t        j                  ||j                  |¬«      5 }|j                  |«       d d d «       |j                  |j                  |«      «       Œh |d   j                  |d   j                  kD  sJ ‚y # 1 sw Y   ŒMxY w)	NrN   i@B )rà   rÒ   z/max_rows_per_page_z.parquetræ   r   r8   )r   rc   rA   r   r   r“   r   r   r   r   r   Úget_file_infoÚsize)r(   rc   ÚlocalÚ
file_infosÚmax_rowsrJ   r,   s          r2   Ú-test_writer_props_max_rows_per_page_file_sizerð     sá   € ä�H‰HØŒR�X‰X”e˜IÓ&Ó'ðó €Eô ×ÑÓ €EØ€Jà#ò 
5ˆØ�Ð-¨h¨Z°xÐ@ˆä×ÑØØ—<‘<Ø&ô
ð 	&ð Ø×Ñ˜uÔ%÷	&ð 	×Ñ˜%×-Ñ-¨dÓ3Õ4ð
5ð �a‰=×Ñ 
¨1¡× 2Ñ 2Ò2Ð2Ñ2÷	&ð 	&ús   Á9CÃC 	).rC   Úpyarrowr   r   Úpyarrow.parquetÚparquetr   Úpyarrow.tests.parquet.commonr   r   r   r   ÚImportErrorÚpandasr"   Úpandas.testingÚtestingr$   ÚmarkÚ
pytestmarkr3   rL   rS   rU   r\   Úparametrizer“   rg   Úlarge_memoryr€   r‚   Ús3rˆ   r‹   r�   Únumpyr”   r›   r¬   rÃ   rÊ   Útime32Útime64rÞ   ré   rð   r   r4   r2   ú<module>r     s	  ðó$ ã Ý ðÝ ÷Ló LðÛÝð �[‰[× Ñ €
ð ‡�×Ññ8ó ð8ò4(ò,6ð ‡�×Ññ8ó ð8ð0 ‡�×Ññ8ó ð8ð> ‡�×ÑØ‡�×Ñ˜ØØ€B×ÑÓð(ó ñ%&ó	ó ð
%&ðP ‡�×ÑØ‡�×Ññ&6ó ó ð&6ðR ‡�×ÑØ‡�×Ñ˜ØØ€B×ÑÓð(ó ñ&ó	ó ð
&ð ‡�×ÑØ‡�‡�ñ&ó ó ð&ð ‡�×ÑØ‡�‡�ñ
&ó ó ð
&ð ‡�×ÑØ‡�‡�ñ&ó ó ð&ð  ‡�×Ññ
ó ð
ò!ò*%ò+Vò\&JðR ‡�×ÑÐ/Ø‡Y�Y�ÐØ‡Y�Y�ÐØ‡Y�Y�ÐØ‡Y�Y�Ðð	2ó ð ‡�×Ñ˜¨%°¨Ó7ñ ó 8óð ðB ‡�×ÑØÚóñ ó	ð ó83øðc ò Ø	ƒBðûð ò Ø€N€B‹ðús"   �K £
K ËKËKË	K+Ë*K+