
    m*i7                        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    X/var/www/html/land-doc-ocr/venv/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           	         / 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#5       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   indexr   zTestOrcFile.emptyFile.orccolumns)r!   r"   
RangeIndexzipSeriesr=   astypeospathjoinr   tmassert_equal)	r   using_infer_stringr=   dtypesexpectedcolnamer   	inputfilegots	            r   test_orc_reader_emptyrM   -   s    
G 	#
F ||"--"23Hg.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 )NFTr1   r   r   d   r2         r3      r4       r5         ?       @r6         .      r7       r   r8   hibyer'   zTestOrcFile.test1.orcr<   )nparrayr!   r"   	from_dictrB   rC   rD   r   keysrE   rF   r   r	   rI   rK   rL   s        r   test_orc_reader_basicr`   O   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
   )r[   r\   r   r!   r"   r]   rB   rC   rD   r   ilocrE   rF   r_   s        r   test_orc_reader_decimalre   c   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.orcrc   r[   r\   datetimerl   r!   r"   r]   rB   rC   rD   r   rd   rE   rF   r_   s        r   test_orc_reader_date_lowro   ~   &    #
 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.100900rg   r   i  rh   ri   r8   rj   zTestOrcFile.testDate2038.orcrc   rm   r_   s        r   test_orc_reader_date_highrr      rp   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.orcrc   )r[   r\   r!   r"   r]   rB   rC   rD   r   rd   rE   rF   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   rO   r2   rP   rQ   r3   rR   r4   rS   r5   rT   rU   r6   rV   rW   r7   rX   r   r8   rY   rZ   r'   )pytestimportorskipr[   r\   r!   r"   r]   rE   ensure_cleanto_orcr   rF   )r   r	   rI   rC   rL   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   r[   r\   r!   r"   r]   r   r   r   rE   rF   )r	   rI   bytesrL   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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 )Nr   abcr   cr   Nr   )s   foos   barNr            @      @r7   r   rU         @TFTTFN20130101   )periods20130103)stringstring_with_nanstring_with_noner   intfloatfloat_with_nanr1   bool_with_narn   datetime_with_natdtype_backendT)from_pandasr   r   r   )r   r   r!   r"   listr[   nanrangearange
date_range	TimestampNaTcopyr   r   r   r=   arraysArrowExtensionArraypar\   
ArrowDtyper   rA   rE   assert_frame_equal)rG   df
bytes_dataresultcolrI   string_dtypes          r   test_orc_dtype_backend_pyarrowr   4  s   
	"	5k #RVVS1 0+a$YYsCy9"BFFC0'/j!<Z(Z("	

B( !!#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"                  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   rU   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   r[   r   r   r@   NAr   r   r   r   r   r   r\   object_rE   r   )r   r   r   rI   s       r   %test_orc_dtype_backend_numpy_nullabler   ^  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   rE   r   r   pathlibPathas_urir   r   )rI   rC   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   r:   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   rE   r   r   r   r   r   r   )r   r   rC   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                    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[         R
                  " [        R                  S9[         R                  " S/[         R
                  " [        R                  S9S	9S
9n[        R                  " WU5        g ! , (       d  f       N= f)Nztest_string_inference.pr   xy)r	   zfuture.infer_stringT)na_valuer   )r	   r   r=   )r!   r"   r   option_contextr   StringDtyper[   r   IndexrE   r   )tmp_pathrC   r   r   rI   s        r   test_string_inferencer     s    //D	C#s,	-BIIdO			0$	7$ 
8||C:nnbff-#bnnbff&EFH
 &(+ 
8	7s   C  
C.)2__doc__rn   decimalr   r   r   rB   r   r   r[   r   pandasr!   r   pandas._testing_testingrE   pandas.core.arraysr   r   r   r   markfilterwarnings
pytestmarkfixturer   r\   r@   IntervalPeriodr%   rM   r`   re   ro   rr   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#D#(#6&#R&#R&#R'2#01',T(,V, 
AAA.
AAAMB
	2,r   