
    A>il6                        S r SSKrSSKJr  SSKJr  SSKrSSKrSSK	r	SSK
rSSK
Jr  SSKJr  \	R                   " S5        SSKr\	R&                  R)                  S5      r\	R,                  S 5       rS	 rS
 rS rS rS rS rS rS r\	R&                  RA                  S\RB                  " SS/SS9\RD                  " / SQSS9\RF                  " SSS9\RF                  " SSS9/\RH                  " SSS9\RH                  " SSS9//5      S 5       r%S  r&S! r'S" r(\	R&                  RA                  S#\RR                  " SSSS$9\RR                  " SS%SS&S'9\RT                  " / S(Q5      /5      S) 5       r+S* r,S+ r-g),ztest orc compat    N)Decimal)BytesIO)read_orczpyarrow.orcz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                     U " SSS5      $ )Niodataorc )datapaths    W/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/test_orc.pydirpathr      s    D&%((    c           	         / SQnSSSSSSSS	U(       a  S
OS	/	n[         R                  " [         R                  " S5      S9n[        X#SS9 H  u  pV[         R                  " US9XE'   M     UR
                  R                  S
5      Ul        [        R                  R                  U S5      n[        XrS9n[        R                  " XH5        g )N	boolean1byte1short1int1long1float1double1bytes1string1boolint8int16int32int64float32float64objectstrr   indexT)strictdtypezTestOrcFile.emptyFile.orccolumns)pd	DataFrame
RangeIndexzipSeriesr)   astypeospathjoinr   tmassert_equal)	r   using_infer_stringr)   dtypesexpectedcolnamer'   	inputfilegots	            r   test_orc_reader_emptyr;      s    
G 	#
F ||"--"23Hgd;IIE2 <''..u5HW&ABI
9
.COOH"r   c                 n   [         R                  " SS/SS9[         R                  " SS/SS9[         R                  " SS	/S
S9[         R                  " SS/SS9[         R                  " SS/SS9[         R                  " SS/SS9[         R                  " SS/SS9[         R                  " SS/SS9[         R                  " SS/SS9S.	n[        R                  R	                  U5      n[
        R                  R                  U S5      n[        X1R                  5       S9n[        R                  " X$5        g )NFTr   r&      d   r         r      r       r         ?       @r         .      r        r   r!   hibyer   zTestOrcFile.test1.orcr(   )nparrayr*   r+   	from_dictr0   r1   r2   r   keysr3   r4   r   r   r7   r9   r:   s        r   test_orc_reader_basicrO   ?   s    HHeT]&91c(&1((D$<w7%w7.0CDGT((C:Y788UDM;((3S9J88T5M:
D ||%%d+HW&=>I
9iik
2COOH"r   c                    S[         R                  " [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S5      [        S	5      [        S
5      [        S5      /
SS90n[        R                  R                  U5      n[        R                  R                  U S5      n[        U5      R                  S S n[        R                  " X$5        g )N_col0z-1000.50000z
-999.60000z
-998.70000z
-997.80000z
-996.90000z
-995.10000z
-994.11000z
-993.12000z
-992.13000z
-991.14000r!   r&   zTestOrcFile.decimal.orc
   )rJ   rK   r   r*   r+   rL   r0   r1   r2   r   ilocr3   r4   rN   s        r   test_orc_reader_decimalrT   S   s     	&%%%%%%%%% 
D" ||%%d+HW&?@I
9

"
"3B
'COOH"r   c                    [         R                  " / SQSS9[         R                  " [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      /
SS9S.n[        R
                  R                  U5      n[        R                  R                  U S	5      n[        U5      R                  S S
 n[        R                  " X$5        g )N)
z1900-05-05 12:34:56.100000z1900-05-05 12:34:56.100100z1900-05-05 12:34:56.100200z1900-05-05 12:34:56.100300z1900-05-05 12:34:56.100400z1900-05-05 12:34:56.100500z1900-05-05 12:34:56.100600z1900-05-05 12:34:56.100700z1900-05-05 12:34:56.100800z1900-05-05 12:34:56.100900datetime64[ns]r&   il        r!   timedatezTestOrcFile.testDate1900.orcrR   rJ   rK   datetimer[   r*   r+   rL   r0   r1   r2   r   rS   r3   r4   rN   s        r   test_orc_reader_date_lowr^   n   &    #
 dB+dB+dB+dB+dB+dB+dB+dB+dB+dB+ 
!D@ ||%%d+HW&DEI
9

"
"3B
'COOH"r   c                    [         R                  " / SQSS9[         R                  " [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      [        R                  " SSS5      /
SS9S.n[        R
                  R                  U5      n[        R                  R                  U S	5      n[        U5      R                  S S
 n[        R                  " X$5        g )N)
z2038-05-05 12:34:56.100000z2038-05-05 12:34:56.100100z2038-05-05 12:34:56.100200z2038-05-05 12:34:56.100300z2038-05-05 12:34:56.100400z2038-05-05 12:34:56.100500z2038-05-05 12:34:56.100600z2038-05-05 12:34:56.100700z2038-05-05 12:34:56.100800z2038-05-05 12:34:56.100900rV   r&   i  rW   rX   r!   rY   zTestOrcFile.testDate2038.orcrR   r\   rN   s        r   test_orc_reader_date_highra      r_   r   c                 <   [         R                  " / SQSS9[         R                  " / SQSS9S.n[        R                  R	                  U5      n[
        R                  R                  U S5      n[        U5      R                  S S n[        R                  " X$5        g )	N)
iEAںijFiA!{i~iY5B
irhi;Sinqi:i(r   r&   )
f50dcb8382fdaaa90758c69e8caf3fee97332bd634da12bea4396d67d89e8ad71007ee8c82066r!   )r   r   zTestOrcFile.testSnappy.orcrR   )rJ   rK   r*   r+   rL   r0   r1   r2   r   rS   r3   r4   rN   s        r   !test_orc_reader_snappy_compressedrm      s     
 88 
!D@ ||%%d+HW&BCI
9

"
"3B
'COOH"r   c                 d   [         R                  " S5        [        R                  " SS/SS9[        R                  " SS/SS9[        R                  " S	S
/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9S.	n[        R
                  R                  U5      nUR                  U5        [        U5      n[        R                  " X45        g NpyarrowFTr   r&   r=   r>   r   r?   r@   r   rA   r   rB   r   rC   rD   r   rE   rF   r    rG   r   r!   rH   rI   r   )pytestimportorskiprJ   rK   r*   r+   rL   to_orcr   r3   r4   )r   	temp_filer   r7   r:   s        r   test_orc_roundtrip_fileru      s     	" HHeT]&91c(&1((D$<w7%w7.0CDGT((C:Y788UDM;((3S9J88T5M:
D ||%%d+HOOI
9
COOH"r   c                  t   [         R                  " S5        [        R                  " SS/SS9[        R                  " SS/SS9[        R                  " S	S
/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9[        R                  " SS/SS9S.	n [        R
                  R                  U 5      nUR                  5       n[        [        U5      5      n[        R                  " X5        g ro   )rq   rr   rJ   rK   r*   r+   rL   rs   r   r   r3   r4   )r   r7   bytesr:   s       r   test_orc_roundtrip_bytesiorx     s     	" HHeT]&91c(&1((D$<w7%w7.0CDGT((C:Y788UDM;((3S9J88T5M:
D ||%%d+HOOE
75>
"COOH"r   orc_writer_dtypes_not_supportedr=      uint64r&   )abr|   category   )leftright   z
2022-01-03D)freqz
2022-01-04c                     [         R                  " S5        [        R                  " SU 05      nSn[         R                  " [
        US9   UR                  5         S S S 5        g ! , (       d  f       g = f)Nrp   unimplz6The dtype of one or more columns is not supported yet.match)rq   rr   r*   r+   raisesNotImplementedErrorrs   )ry   dfmsgs      r   $test_orc_writer_dtypes_not_supportedr     sO     	"	x!@A	BB
BC	*#	6
		 
7	6	6s   
A$$
A2c                 :   [         R                  " S5        [        R                  " [	        S5      S[
        R                  S// SQ/ SQ[	        [        SS5      5      [
        R                  " S	S
SS9S[
        R                  S// SQ/ SQ[        R                  " SSSS9[        R                  " S5      [        R                  [        R                  " S5      /S.5      nUS   R                  S5      US'   UR                  5       R                  5       n[        [!        U5      SS9n[        R                  " UR"                   Vs0 s H8  nU[        R$                  R'                  [(        R*                  " X   SS95      _M:     sn5      nU (       an  [        R,                  " [(        R.                  " 5       5      nUS   R                  U5      US'   US   R                  U5      US'   US   R                  U5      US'   [0        R2                  " X55        g s  snf )Nrp   abcr|   cr|   Nr   )s   foos   barNr=            @      @r    r&   rD         @TFTTFN20130101   ns)periodsunit20130103)stringstring_with_nanstring_with_nonerw   intfloatfloat_with_nanr   bool_with_nar]   datetime_with_natr   zM8[ns]dtype_backendT)from_pandasr   r   r   )rq   rr   r*   r+   listrJ   nanrangearange
date_range	TimestampNaTr/   copyrs   r   r   r)   arraysArrowExtensionArrayparK   
ArrowDtyper   r3   assert_frame_equal)r5   r   
bytes_dataresultcolr7   string_dtypes          r   test_orc_dtype_backend_pyarrowr   -  s   
	"	5k #RVVS1 0+a$YYsCy9"BFFC0'/j!$GZ(Z("	

B( !!45<<XFB!!#Jgj)CF|| zz	
! ..rxxT/RSS!	
H  }}RYY[1%h/66|D&./@&A&H&H&V"#'/0B'C'J'J<'X#$&+	
s   ?Hc                     [         R                  " S5        [        R                  " [	        S5      S[
        R                  S// SQ[	        [        SS5      5      [        R                  " S[        R                  S/S	S
9[        R                  " [        R                  [        R                  [        R                  /S	S
9[
        R                  " SSSS
9S[
        R                  S// SQ/ SQS.
5      n U R                  5       R                  5       n[        [        U5      SS9n[        R                  " [        R                  " / SQ[        R                   " 5       S
9[        R                  " S[        R                  S/[        R                   " 5       S
9[        R                  " S[        R                  S/[        R                   " 5       S
9[        R                  " / SQS	S
9[        R                  " S[        R                  S/S	S
9[        R                  " [        R                  [        R                  [        R                  /S	S
9[        R                  " / SQSS
9[        R                  " S[        R                  S/SS
9[        R                  " / SQSS
9[        R                  " SS[        R                  /SS
9S.
5      n["        R$                  " X#5        g )Nrp   r   r|   r   r   r=   r   r   Int64r&   r   r   r    rD   r   r   r   )
r   r   r   r   int_with_nanna_onlyr   r   r   r   numpy_nullabler   )r|   r}   r   r=   r   r   )r   g      @g      @Float64booleanTF)rq   rr   r*   r+   r   rJ   r   r   r.   NAr   r   rs   r   r   rK   StringDtyper3   r   )r   r   r   r7   s       r   %test_orc_dtype_backend_numpy_nullabler   Y  s   
	"	5k #RVVS1 0a$IIq"%%m7Cyy"%%!6gFYYsCy9"BFFC0'/	

B !!#Jgj)9IJF||hhbnn6FG!xxbeeS(9AQR "#ruuc):"..BR S99Yg6IIq"%%m7Cyy"%%!6gFYYi@ iibeeS(9KII1CIItUBEE&:)L	
H &+r   c           	          [         R                  " S[        [        SS5      5      05      nUR	                  U 5        U R                  5       n[        U5      n[        R                  " X15        g )Nr   r=   r   )	r*   r+   r   r   rs   as_urir   r3   r   )rt   r7   urir   s       r   test_orc_uri_pathr     sQ    ||UDq!$567HOOI



Cc]F&+r   r$   )startstopstepr   znon-default)r   r   r   namer   c                     [         R                  " S/ SQ0U S9nSn[        R                  " [        US9   UR                  5         S S S 5        g ! , (       d  f       g = f)Nr|   r   r#   z[orc does not support serializing a non-default index|orc does not serialize index meta-datar   )r*   r+   rq   r   
ValueErrorrs   )r$   r   r   s      r   test_to_orc_non_default_indexr     sH     
sI&e	4B	1  
z	-
		 
.	-	-s   A
Ac           	          Sn[         R                  " S[        [        SS5      5      05      nUR	                  U 5        [
        R                  " [        US9   [        U SS9  S S S 5        g ! , (       d  f       g = f)NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r   r=   r   r   numpyr   )	r*   r+   r   r   rs   rq   r   r   r   )rt   r   r   s      r   test_invalid_dtype_backendr     s\    	!  
ud5A;/0	1BIIi	z	-'2 
.	-	-s   A,,
A:c                    [         R                  " SSS/0S9nUR                  U 5        [         R                  " SS5         [	        U 5      nS S S 5        [         R                  " SSS/0[         R
                  " [        R                  S9[         R                  " S/[         R
                  " [        R                  S9S9S	9n[        R                  " WU5        g ! , (       d  f       N= f)
Nr|   xy)r   zfuture.infer_stringT)na_valuer&   )r   r'   r)   )r*   r+   rs   option_contextr   r   rJ   r   Indexr3   r   )rt   r   r   r7   s       r   test_string_inferencer     s    	C#s,	-BIIi			0$	7)$ 
8||C:nnbff-#bnnbff&EFH
 &(+ 
8	7s   C
C)).__doc__r]   decimalr   r   r   r0   r   rJ   rq   pandasr*   r   pandas._testing_testingr3   rr   rp   r   markfilterwarnings
pytestmarkfixturer   r;   rO   rT   r^   ra   rm   ru   rx   parametrizerK   r.   IntervalPeriodr   r   r   r   r,   r   r   r   r   r
   r   r   <module>r      s       	        M " [[''C

 ) )#D#(#6&#R&#R&#R#0#0 %
!R)
		/4	!1	%r{{'CD	<c	*BIIl,MN	),X$,N, 
AAA.
AAAMB
3,r   