
    Mh_5                        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rSSKJr  SSKJr  SSKJr  \
R&                  " S5        SSKr\
R,                  R/                  S5      r\
R2                  S	 5       r\
R2                  " \	R6                  " S
S/SS9\R8                  " / SQSS9\R:                  " SSS9\R:                  " SSS9/\R<                  " SSS9\R<                  " SSS9//S9S 5       rS r S r!S r"S r#S r$S r%S r&S  r'S! r(S" r)S# r*S$ r+\
R,                  RY                  S%\RZ                  " SSS
S&9\RZ                  " SS'S
S(S)9\R\                  " / S*Q5      /5      S+ 5       r/S, r0S- r1g).ztest orc compat     N)Decimal)BytesIO)read_orc)StringArrayzpyarrow.orcz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                     U " SSS5      $ )Niodataorc )datapaths    J/var/www/html/env/lib/python3.13/site-packages/pandas/tests/io/test_orc.pydirpathr      s    D&%((          uint64dtype)abr   category   )leftright   z
2022-01-03D)freqz
2022-01-04)paramsc                 F    [         R                  " SU R                  05      $ )Nunimpl)pd	DataFrameparam)requests    r   orc_writer_dtypes_not_supportedr%      s     <<7==122r   c                 6   / SQn/ SQn[         R                  " [         R                  " S5      S9n[        X5       H  u  pE[         R                  " US9X4'   M     [
        R                  R                  U S5      n[        XaS9n[        R                  " X75        g )N	boolean1byte1short1int1long1float1double1bytes1string1)	boolint8int16int32int64float32float64objectr8   r   indexr   zTestOrcFile.emptyFile.orccolumns)r!   r"   
RangeIndexzipSeriesospathjoinr   tmassert_equal)r   r<   dtypesexpectedcolnamer   	inputfilegots           r   test_orc_reader_emptyrJ   -   sx    
G
F ||"--"23Hg.IIE2 / 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 )NFTr1   r   r   d   r2         r3      r4       r5         ?       @r6         .      r7       r   r8   hibyer'   zTestOrcFile.test1.orcr;   )nparrayr!   r"   	from_dictr@   rA   rB   r   keysrC   rD   r   r	   rF   rH   rI   s        r   test_orc_reader_basicr]   N   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.14000r8   r   zTestOrcFile.decimal.orc
   )rX   rY   r   r!   r"   rZ   r@   rA   rB   r   ilocrC   rD   r\   s        r   test_orc_reader_decimalrb   b   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        r8   timedatezTestOrcFile.testDate1900.orcr`   rX   rY   datetimeri   r!   r"   rZ   r@   rA   rB   r   ra   rC   rD   r\   s        r   test_orc_reader_date_lowrl   }   &    #
 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.100900rd   r   i  re   rf   r8   rg   zTestOrcFile.testDate2038.orcr`   rj   r\   s        r   test_orc_reader_date_highro      rm   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(r4   r   )
f50dcb8382fdaaa90758c69e8caf3fee97332bd634da12bea4396d67d89e8ad71007ee8c82066r8   )r+   r0   zTestOrcFile.testSnappy.orcr`   )rX   rY   r!   r"   rZ   r@   rA   rB   r   ra   rC   rD   r\   s        r   !test_orc_reader_snappy_compressedr{      s     
 88 
!D@ ||%%d+HW&BCI
9

"
"3B
'COOH"r   c                    [         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[        R                  " 5        nUR                  U5        [        U5      n[        R                  " X$5        S S S 5        g ! , (       d  f       g = fNpyarrowFTr1   r   r   rL   r2   rM   rN   r3   rO   r4   rP   r5   rQ   rR   r6   rS   rT   r7   rU   r   r8   rV   rW   r'   )pytestimportorskiprX   rY   r!   r"   rZ   rC   ensure_cleanto_orcr   rD   )r   r	   rF   rA   rI   s        r   test_orc_roundtrip_filer      s    	" HHeT]&91c(&1((D$<w7%w7.0CDGT((C:Y788UDM;((3S9J88T5M:
D ||%%d+H		dtn
&	 
		s   3E
E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 r}   )r   r   rX   rY   r!   r"   rZ   r   r   r   rC   rD   )r	   rF   bytesrI   s       r   test_orc_roundtrip_bytesior     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   c                     [         R                  " S5        Sn[         R                  " [        US9   U R	                  5         S S S 5        g ! , (       d  f       g = f)Nr~   z6The dtype of one or more columns is not supported yet.match)r   r   raisesNotImplementedErrorr   )r%   msgs     r   $test_orc_writer_dtypes_not_supportedr   )  s>     	"
BC	*#	6'..0 
7	6	6s   A
A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9[        R                  " S5      [        R                  [        R                  " S5      /S.5      n 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[*        R,                  " X$5        g s  snf )Nr~   abcr   cr   Nr   )s   foos   barNr            @      @r7   r   rR         @TFTTFN20130101   )periods20130103)stringstring_with_nanstring_with_noner   intfloatfloat_with_nanr1   bool_with_nark   datetime_with_natdtype_backendT)from_pandas)r   r   r!   r"   listrX   nanrangearange
date_range	TimestampNaTcopyr   r   r   r<   arraysArrowExtensionArrayparY   rC   assert_frame_equal)df
bytes_dataresultcolrF   s        r   test_orc_dtype_backend_pyarrowr   3  s.   
	"	5k #RVVS1 0+a$YYsCy9"BFFC0'/j!<Z(Z("	

B( !!#Jgj)CF|| zz	
! ..rxxT/RSS!	
H &+	
s   .?F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"                  S
95      [        [
        R                   " S[        R                  S/[
        R"                  S
95      [        [
        R                   " S[        R                  S/[
        R"                  S
95      [        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 )Nr~   r   r   r   r   r   r   r   Int64r   r   r   r7   rR   r   r   r   )
r   r   r   r   int_with_nanna_onlyr   r   r1   r   numpy_nullabler   )r   r   r   r   r   r   )r   g      @g      @Float64booleanTF)r   r   r!   r"   r   rX   r   r   r?   NAr   r   r   r   r   r   rY   object_rC   r   )r   r   r   rF   s       r   %test_orc_dtype_backend_numpy_nullabler   V  s   
	"	5k #RVVS1 0a$IIq"%%m7Cyy"%%!6gFYYsCy9"BFFC0'/	

B !!#Jgj)9IJF||!"((?"**"MN*#ruuc*"**=  !,#ruuc*"**=! 99Yg6IIq"%%m7Cyy"%%!6gFYYi@ iibeeS(9KII1CIItUBEE&:)L	
H& &+r   c            	      h   [         R                  " S[        [        SS5      5      05      n [        R
                  " S5       nU R                  U5        [        R                  " U5      R                  5       n[        U5      nS S S 5        [        R                  " WU 5        g ! , (       d  f       N&= f)Nr   r   r   tmp.orc)r!   r"   r   r   rC   r   r   pathlibPathas_urir   r   )rF   rA   urir   s       r   test_orc_uri_pathr     sz    ||UDq!$567H		#tll4 '')# 
$ &(+	 
$	#s   AB##
B1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   r9   z[orc does not support serializing a non-default index|orc does not serialize index meta-datar   )r!   r"   r   r   
ValueErrorr   )r:   r   r   s      r   test_to_orc_non_default_indexr     sH     
sI&e	4B	1  
z	-
		 
.	-	-s   A
Ac            	      Z   Sn [         R                  " S[        [        SS5      5      05      n[        R
                  " S5       nUR                  U5        [        R                  " [        U S9   [        USS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r   r   r   r   r   numpyr   )r!   r"   r   r   rC   r   r   r   r   r   r   )r   r   rA   s      r   test_invalid_dtype_backendr     sz    	!  
ud5A;/0	1B		#t
		$]]:S1T1 2 
$	#11 
$	#s$   +B/B:B
B	B
B*c           	      b   U S-  n[         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S[         R
                  " S/SS	9S
9n[        R                  " WU5        g ! , (       d  f       NT= f)Nztest_string_inference.pr   xy)r	   zfuture.infer_stringTzstring[pyarrow_numpy]r   )r	   r   r<   )r!   r"   r   option_contextr   IndexrC   r   )tmp_pathrA   r   r   rF   s        r   test_string_inferencer     s    //D	C#s,	-BIIdO			0$	7$ 
8||C:%#&=>H
 &(+ 
8	7s   B  
B.)2__doc__rk   decimalr   r   r   r@   r   r   rX   r   pandasr!   r   pandas._testing_testingrC   pandas.core.arraysr   r   r~   r   markfilterwarnings
pytestmarkfixturer   rY   r?   IntervalPeriodr%   rJ   r]   rb   rl   ro   r{   r   r   r   r   r   r   parametrizer=   r   r   r   r   r   r   r   <module>r      s       	       *   M " [[''C

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