
    A>i                         S SK r S SK J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
rS SK
JrJrJrJrJrJrJr  \R(                  R*                  /r\R.                  " S5      r\R(                  R3                  S5      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%\R(                  RM                  S/ SQ5      S 5       r'S r(S r)S r*S r+S r,S r-S r.S r/g)    N)	timedelta)	Timestamp)PY312)	DataFrameIndexSeries_testingconcat
date_rangeread_hdftablesz!ignore::tables.NaturalNameWarningc                 ^   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nU R                  S	US S
 5        U R                  S	US
S  5        [        R                  " U S	   U5        U R                  SUS S
 SS9  U R                  SUS
S  5        [        R                  " U S   U5        U R                  SUS S
 5        U R                  SUS
S  5        [        R                  " U S   U5        U R                  SUS S
 5        U R                  SUS
S  5        [        R                  " U S   U5        [        SS/SS/SS/SS//S9nSUS'   [        R                  UR                  S'   U R                  SU5        [        R                  " U S   U5        [        [        [        R                  R                  S5      R                  SSSS9[        R                   S9[        [        R                  R                  S5      R                  SSSS9[        R"                  S9[        [        R                  R                  S5      R                  SSSS9[        R$                  S9[        / SQ[        R&                  S9S .[        R(                  " S5      S!9nU R                  S"U5        [        R                  " U S"   US#S$9  U R+                  S"5        U R                  S"U/ S%QS&9  [        R                  " U S"   US#S$9  g )'N   )      ABCD
2000-01-01r   Bperiodsfreqcolumnsindexdf1
   df2table)formatz/df3df3z/df3 foozdf3 foo   r   )datatestingmixed_column)r   r$   df      )highsizedtypei  i   @)l           l          @l            l            l            )u08u16u32u64r   uintsTcheck_index_type)r,   r-   r.   data_columns)r   nprandomdefault_rngstandard_normalr   listr   appendtmassert_frame_equalputnanlocr   integersuint8uint16uint32uint64arangeremove)temp_hdfstorer%   	uint_datas      c/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_append.pytest_appendrK      s    

		a 009d6l#r<
B
 3B(23(-.3eRWW523(-.3CR)BC)-.3 RW-RW--	2B7 
!Q!Q!Q!Q8	9B"B~ "BFFr"--r2 		%%a(11!#A1Fhh 		%%a(11!%a1Hii 		%%a(11!%a1Hii 3ii	
$ iil'I* ),-0)dS !):OP-0)dS    c           	         [        [        S5      [        R                  [        S5       Vs/ s H  nSU 3PM
     snS9n[        [        R                  " S[        R                  S9[        SSS9S9n[        [        R                  " S	5      5      nU R                  S
U5        U S
   n[        R                  " XR5        UR                  b   eU R                  SU5        U S   n[        R                  " XS5        UR                  b   eSUl	        U R                  SU5        U S   n[        R                  " XT5        UR                  UR                  :X  d   eXDS:     nU R                  SS5      n[        R                  " XV5        XDS:  UR                  S:  -     n[        UR                  R                  5      Ul        U R                  SS5      n[        R                  " XVSS9  [        [        R                  R!                  S5      R#                  S5      S/S9n[        R                  " [%        U5      5      US'   SUS'   SUR&                  SS2S4'   UR)                  SS/SS9  UR+                  5       nUR                  R-                  S5      Ul        U R                  SU5        [        R                  " U S   USS9  g s  snf ) Nr   i_)r+   r   r   r*   z
2020-01-01r   r0   d   sstsfoons<   zfoo>60F   Z   zfoo>70 and index<90Tr2   r   )r'   r!   Ar   r   Cbar   r'   inplacemi)r   ranger6   float64rF   r   r;   r<   assert_series_equalnameselectr   r   _datar   r7   r8   r9   lenr@   	set_indexstack	droplevel)	rH   irQ   rR   rT   resultexpectedr_   ss	            rJ   test_append_seriesrn   ]   sc   	b	eBi3PibHi3P	QB	
		"BJJ'z,PR/S
B 
		#	Br"4 F6&;;r"4 F6&;;BGr"4 F6&;;"''!!! r'{H!!$1F6, 7rxx"}-.H8>>//0HN!!$(=>F6dC 
299((+;;FCcU	SBiiB BsGBsGBFF1Q38LL#sTL*

Agg"AGq!=.DIW 4Qs   K
c                 :   [        [        [        R                  R	                  S5      R                  S5      5      R                  S5      [        R                  R	                  S5      R                  S5      [        R                  R	                  S5      R                  S5      SS[        S5      R                  S5      [        S5      R                  S5      S	.[        R                  " S5      S
9n[        R                  UR                  SS2/ SQ4'   U R                  SUS S 5        U R                  SUSS  5        [        R                  " U S   USS9  UR                  5       n[        R                  US'   U R!                  S5        U R                  SUS S 5        U R                  SUSS  5        [        R                  " U S   USS9  UR                  5       n[        R                  US'   U R                  SUS S 5        U R                  SUSS  5        [        R                  " U S   USS9  UR                  5       n[        R                  US'   U R                  SUS S 5        U R                  SUSS  5        [        R                  " U S   USS9  g )Nr   r   int32rS   r[   
2001-01-01rT   
2001-01-02)rX   A1A2r   rZ   DEr0   r      )rs   r   ru   rv   r   r   Tr2   rs   rt   r   rv   r    )r   r   r6   r7   r8   r9   astyper   as_unitrF   r?   r@   r;   r<   r=   copyrG   )rH   r%   r   r   r    s        rJ   test_append_some_nansr{      s7   			--a0@@DELLWU))''*::2>))''*::2><(006<(006	
 iim
B +-&&BFF1R4&&'3B(23(-.TJ '')CCICR)BC)-.dK '')CCICR)BC)-.dK '')CvvCHCR)BC)-.dKrL   c                 	   [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.[        R
                  " S5      S9n[        R                  UR                  SS2S S 24'   U R                  SUS S S	S
9  U R                  SUSS  S	S
9  [        R                  " U S   USS  S	S9  U R                  SUS S SS
9  U R                  SUSS  SS
9  [        R                  " U S   US	S9  [        R                  " SS5         U R                  SUS S 5        U R                  SUSS  5        [        R                  " U S   U5        S S S 5        [        R                  " SS	5         U R                  SUS S 5        U R                  SUSS  5        [        R                  " U S   USS  5        [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      SSS.[        R
                  " S5      S9n[        R                  UR                  SS2S S 24'   U R                  S5        U R                  SUS S S	S
9  U R                  SUSS  S	S
9  U S   nUnU(       a  USS  n[        R                  " X4S	S9  U R                  S5        U R                  SUS S SS
9  U R                  SUSS  SS
9  [        R                  " U S   US	S9  [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      SS[        S5      R                  S5      [        S5      R                  S5      S.[        R
                  " S5      S9n[        R                  UR                  SS2S S 24'   U R                  S5        U R                  SUS S S	S
9  U R                  SUSS  S	S
9  [        R                  " U S   US	S9  U R                  S5        U R                  SUS S SS
9  U R                  SUSS  SS
9  [        R                  " U S   US	S9  S S S 5        g ! , (       d  f       GN<= f! , (       d  f       g = f)Nr   r   )rs   rt   r0   r   rw   r%   r   T)dropnar2   r   Fio.hdf.dropna_tabler    df4rS   r[   )rs   rt   r   rZ   rq   rT   rr   )rs   rt   r   rZ   ru   rv   )r   r6   r7   r8   r9   rF   r?   r@   r;   r<   r=   pdoption_contextrG   r   ry   )rH   using_infer_stringr%   rk   rl   s        rJ   test_append_all_nansr      s   	))''*::2>))''*::2>	
 iim
B ffBFF1R47O r#2wt4r"#wt4--r"#wN 3B6236-.TJ 
		0%	8UBsG,UBrsG,
mE2B7 
9
 
		0$	7UBsG,UBrsG,
mE2BrsG< ii++A.>>rBii++A.>>rB	 ))B-
 &&qtQwT"T2cr748T2bc748t$  }H
fFU#UBsGE:UBrsGE:
mE2BN ii++A.>>rBii++A.>>rB|,44T:|,44T: ))B-

 &&qtQwT"T2cr748T2bc748
mD12MU#UBsGE:UBrsGE:
mE2BNu 
8	7 
9	8
 
8	7s   9AR3LS3
S
Sc           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nUR                  R                  S 5      Ul        U R                  S	UR                  S S 2S S24   S
/S9  U R                  S	UR                  S S 2SS 24   5        [        R                  " U S	   U5        U R                  S	S5      nUR                  S/S9n[        R                  " XC5        UR!                  ["        R$                  R'                  [(        S[*        S95        U R                  S	S5      nUR                  S/UR                  SS S9n[        R                  " XC5        [,        R.                  " S5      n["        R0                  " [2        US9   U R                  S	S5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   r   r   r   )axes	columns=ArX   rY   zAST change in PY312)reasonraises)r   zindex=df.index[0:4]r   r   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]matchzcolumns=A and index>df.index[4])r   r6   r7   r8   r9   r   r:   r   r   
_with_freqr;   ilocr<   r=   rd   reindexapplymarkerpytestmarkxfailr   
ValueErrorreescaper   	TypeError)rH   requestr%   rk   rl   msgs         rJ   !test_append_frame_column_orientedr     s   	
		a 009d6l#r<
B
 xx""4(BH2A2i[A12/-.3!!%5Fzz3%z(H(+ ( 	 	
 !!%)MNFzz3%rxx!}z=H(+ ))	$C 
y	,U$EF 
-	,	,s   :G
G$c                    [        S5       H  n[        [        R                  R	                  S5      R                  S5      [        S5      S9n[        S5      US'   US==   US-  -  ss'   [        S/[        U5      -  SS	9US'   [        S/[        U5      -  S
S	9US
'   US-  S:X  a  US	 [        S/[        U5      -  SS	9US'   US-  S:X  a  UR                  S5      nX2S'   UR                  SSS9  U R                  SU5        M     [        [        R                  R	                  S5      R                  S5      [        S5      SS9n[        S/[        U5      -  SS	9US'   [        S/[        U5      -  S
S	9US
'   U R                  S5        U R                  SU5        [        S/[        U5      -  S
S	9US'   [        R                  " S5      n[        R                   " ["        US9   U R                  SU5        S S S 5        [        S/[        U5      -  SS	9US'   [        R                  " S5      n[        R                   " ["        US9   U R                  SU5        S S S 5        g ! , (       d  f       Ns= f! , (       d  f       g = f)Nr   r   )r   r   ABrY   r   r!   int64r*   int16r   r\   rX   Tr]   r%   ra   )r   r+   int16_2zCcannot match existing table structure for [int16] on appending datar         ?float_3zAcannot match existing table structure for [A,B] on appending data)r`   r   r6   r7   r8   r9   r:   r   rf   poprg   r;   rG   r   r   r   r   r   )rH   rj   r%   ar   s        rJ   )test_append_with_different_block_orderingr   4  s9   2YII!!!$44W=tDz
 Bi7
7q2vaS3r7]':7aS3r7]':7q5A:7 !s2wg>BwKq5A:sAsG
Wd+T2&% , 

		a 009T

B
 !s2wg6BwK!s2wg6BwKr" A3R=8ByM
))MC 
z	-T2& 
. C53r7?)<ByM
))W
XC	z	-T2& 
.	- 
.	- 
.	-s   *I*I;*
I8;
J	c           
        ^  U 4S jn[        SS/SS//5      nT R                  SU5        [        R                  " T R	                  S5      U5        U" SSS5        [        S	S
/SS//5      nT R                  SU5        [        X#/5      n[        R                  " T R	                  S5      U5        U" SSS5        [        SS/SS//5      nT R                  SUSS0S9  [        R                  " T R	                  S5      U5        U" SSS5        T R                  SU5        [        S	S/SS//5      nSn[        R                  " [        US9   T R                  SU5        S S S 5        [        / SQ/ SQ[        / SQ5      [        SSS9S.5      R                  S5      nT R                  SUS   S S!0S9  [        R                  " T R	                  S5      US   5        T R                  S"US   S#S S!0S$9  [        R                  " T R	                  S"5      US   5        T R                  S%US&S S'0S(9  UR                  5       R                  5       R!                  S)S*9R                  S5      nT R                  S%U5        [        R                  " T R	                  S%5      [        X#/5      5        T R                  S+US   S&S S'0S(9  T R                  S+US   5        [        R                  " T R	                  S+5      [        US   US   /5      5        [        ["        R$                  R'                  S,5      R)                  S-5      [        [+        S.5      5      [        S/S0SS19S29nS3US4'   ["        R,                  UR.                  UR0                  S5S! S44'   S6US7'   ["        R,                  UR.                  UR0                  S!S8 S74'   S9US:'   ["        R,                  UR.                  UR0                  S5S  S:4'   T R                  S;U5        T R	                  S;5      n[        R                  " Xr5        g ! , (       d  f       GN= f)<Nc                    > [        TR                  U 5      R                  R                  U5      R                  U:X  d   eg Ngetattr
get_storerr   descriptionitemsizekeyrc   r)   rH   s      rJ   	check_col+test_append_with_strings.<locals>.check_colf  <    M,,S177CCTJSS	
rL   {   	asdqwertyiY  dggnhebbsdfbdfbdf_bigvalues_block_1rw   |   asdqyiZ  dggnhefbdfbdf_big2values2   min_itemsizedf_new
abcdefqhijabcdefghijklmnopqrtsuvwxyzzTrying to store a string with len \[26\] in \[values_block_1\] column but\nthis column has a limit of \[15\]!\nConsider using min_itemsize to preset the sizes on these columnsr   )        r   g       @g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo520130101r'   rO   )rX   r   rZ   ru   rZ   rQ   r   r   r   ss2Tr5   r   ss3r      )r   r   longer)rZ   ss4r   r   r   r   r   r   r   rS   stringr!   r[   string2   bahstring3r%   )r   r;   r<   r=   rd   r
   r   r   r   r   r   rg   rb   r>   rz   reset_indexassignr6   r7   r8   r9   r:   r?   r@   r   )rH   r   r%   r   rl   r   r   rk   s   `       rJ   test_append_with_stringsr   e  s    
 
S+&.?(@A	BB2&-..x8"=h("- c7^c=%9:
;C3'ri H-..x8(Ch("- 
S+&.?(@A	BBBh^D-..y92>i)2. 2&l+c3O-PQRF	  
z	-Xv. 
. 
**?@J2		

 in  r#wgq\B=//5r#w? 3d'STV=//63@ eRwlK
'')


!
(
(8
(
4
>
>s
CC$-..u5vri7HI eRWWGQ<PC)=//63S?R8ST 

		a 009d6l#r<
B
 BxL&(ffBFF288Aa=("#ByM')vvBFF288Aa=)#$ByM&(ffBFF288AB<"#r"!!$'F&%[ 
.	-s   P..
P=c                   ^  U 4S jn[        SSS.[        S5      S9nT R                  SUSS	0S
9  U" SSS	5        T R                  S5      R                  S/:X  d   eT R                  S5        T R                  SUS/SS	0S9  U" SSS	5        T R                  S5      R                  SS/:X  d   eT R                  S5        T R                  SUS/SS	0S9  U" SSS	5        U" SSS	5        T R                  S5      R                  S/:X  d   eT R                  S5        T R                  SUS S S	S
9  T R                  SUSS  S	S
9  [        R                  " T S   U5        [        / SQS/S9nT R                  S5        [        R                  " S5      n[        R                  " [        US9   T R                  SUSSS.S
9  S S S 5        g ! , (       d  f       g = f)Nc                    > [        TR                  U 5      R                  R                  U5      R                  U:X  d   eg r   r   r   s      rJ   r   ,test_append_with_strings2.<locals>.check_col  r   rL   rS   r[   rX   r   r   r0   r%   rX      r   r   r   r   values_block_0r'   )rS   rS   rS   barhr   r   rY   zBmin_itemsize has the key [foo] which is not an axis or data_columnr   r   )rS   foobar)r   r`   r;   r   r5   rG   r<   r=   r   r   r   r   r   )rH   r   r%   r   s   `   rJ   test_append_with_strings2r     s   
 
U+59	=B rc
;dC##D)663%??? rS#JOdC##D)663*DDD rXsOTdCd$c*##D)663%??? r"1vC8r!"vC8--r2 
@3%	PB
))LC 
z	-T2B"4MN 
.	-	-s   ,G


Gc                     [        S/ SQ05      nU R                  SUS S SS0S9  U R                  SUSS  SS0S9  [        R                  " U R	                  S5      U5        g )Nx)r   bcdef r%   r!   r   )r   r;   r<   r=   rd   )rH   r%   s     rJ   test_append_with_empty_stringr     sk    	C;<	=Br#2wc1X>r"#wc1X>-..t4b9rL   c                 b  ^  [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nS
UR                  SUR                  R                  S5      4'   T R                  SUS S S/S9  T R                  SUSS  5        [        R                  " T S   U5        T R                  R                  R                   R"                  R$                  R&                  R(                  SL d   eT R                  R                  R                   R"                  R$                  R*                  R(                  SL d   eT R-                  SS5      nXR*                  S:     n[        R                  " X#5        T R-                  SS5      nUR/                  UR&                  SS  S9nXDR*                  S:     n[        R                  " X#5        UR1                  5       nSUS'   [        R2                  UR4                  UR&                  SS S4'   SUR4                  UR&                  SS S4'   T R7                  S5        T R                  SUS/S9  T R-                  SS5      nXDR8                  S:H     n[        R                  " X#5        U 4S jnT R7                  S5        T R                  SUS/SS0S9  U" SSS5        T R7                  S5        T R                  SUS/SS9  U" SSS5        T R7                  S5        T R                  SUS/SS0S9  U" SSS5        SUS'   S US!'   S"US#'   T R7                  S5        T R                  SUSS/SS$S%S&.S9  U" SSS5        U" SSS$5        U" SS'S%5        UR1                  5       nS
UR                  SUR                  R                  S(5      4'   S)UR                  SUR                  R                  S5      4'   SUS'   UR                  R                  S5      n[        R2                  UR                  SS2U4'   SUR                  SS2U4'   SUS'   UR                  R                  S5      n[        R2                  UR                  SS2U4'   SUR                  S*S+2U4'   T R7                  S5        T R                  SU/ S,QS9  T R-                  SS-5      nUUR8                  S:H  UR:                  S:H  -  UR<                  S:  -  UR*                  S:  -     n[        R                  " X#S.S/9  T R-                  SS05      nXDR8                  S:H  UR:                  S1:H  -     n[        R                  " X#5        UR1                  5       nSUS'   [        R2                  UR4                  UR&                  SS S4'   SUR4                  UR&                  S*S2 S4'   S1US'   [?        S35      RA                  S5      US4'   [        R2                  UR4                  UR&                  S5S / S6Q4'   T R                  S7U/ S8QS9  T R-                  S7S5      nXwR*                  S:     n[        R                  " X#5        T R-                  S7/ S9Q5      nXwR*                  S:  URB                  S:  -  UR8                  S:H  -     n[        R                  " X#S.S/9  [        S:S+S;9n[        [        R                  R                  S5      R	                  S<5      U/ S=QS>9nSUS'   [        R2                  UR4                  UR&                  SS S4'   SUR4                  UR&                  S*S2 S4'   USS?/   RE                  5       USS?/'   S1US'   T R7                  S75        T R                  S7U/ S@QS9  T R-                  S7S5      nXwR*                  S:     n[        R                  " X#5        T R-                  S7/ SAQ5      nXwR*                  S:  URB                  S:  -  UR8                  S:H  -     n[        R                  " X#5        g )BNr   r   r   r   r   r   rT   )r   r   unitr   r   r   r%   r4   TB>0zB>0 and index>df.index[3]r   r0   rS   r   r!   r[   r'   r   zstring='foo'c                    > [        TR                  U 5      R                  R                  U5      R                  U:X  d   eg r   r   r   s      rJ   r   0test_append_with_data_columns.<locals>.check_col  r   rL      r   r   	foobarbahr   
foobarbah1string_block1
foobarbah2string_block2(   r   )r   r   r   r   rX   g         r   )rX   r   r   r   z.string='foo' and string2='foo' and A>0 and B<0F)
check_freqzstring='foo' and string2='cool'cool	   20010102datetimer\   )rX   r   r   df_dc)r   rZ   r   r   r   )B > 0C > 0zstring == fooz1/1/2000rO   )r   r\   )rX   r   rZ   )r   r   rZ   )r   rZ   r   r   )r   r   zstring == "foo")#r   r6   r7   r8   r9   r   r:   r   r   r   get_locr;   r<   r=   _handlerootr%   r   colsr   
is_indexedr   rd   r   rz   r?   r@   rG   r   r   rX   r   ry   rZ   abs)	rH   r%   rk   rl   r   r   slr   r   s	   `        rJ   test_append_with_data_columnsr    s   	
		a 009d6l#r$G
B
 +.BGGArzz!!#&&'r"1vSE:r!"v&--r2   %%((..3399DDLLL  %%((..3355@@DHHH !!$.F$$(|H&+ !!$(CDFZZbhhqrlZ+Fhhl#H&+ WWYFF8.0ffFJJv||Aa (*+.3FJJv||Aa (*+vXJ?!!$7Fmmu,-H&+
 fH:XrN   dHb!vXJRPdHb!fH:XrN   dHb!#F9*F?*F?	* "rR@	   dHb!dIr"d$b) WWYF25FKK6>>))#../26FKK6>>))#../F8				)B66FKK!R FKK!RF9					*B66FKK!R FKK!Rv4ST!!>F 	%	>>U"	$88a<	 88a<	H &u= !!$(IJF}}-&..F2JKLH&+ GGIEE(O,.FFEIIekk!A(),1EIIekk!A()E)!*-55d;E*:<&&EIIekk!A 667%P   !!'51FWWq[!H&+!!'+NOFggkeggk2elle6KLMH&u= z1-E
		a 008E
 E(O,.FFEIIekk!A(),1EIIekk!A()sCj)--/E3*E) !%6UV!!'51FWWq[!H&+!!'+PQFggkeggk2elle6KLMH&+rL   c                    UnS UR                   l        U R                  SU5        U R                  S5      n[        R
                  " X25        U R                  SSS/S9nUR                  SS/S9n[        R
                  " X45        UR                  U SSS9  [        U SSS/S9nUR                  SS/S9n[        R
                  " X45        g )Nr_   rX   r   rY   r%   r   )r   r   )	r   rc   r;   rd   r<   r=   r   to_hdfr   )rH    multiindex_dataframe_random_datar%   rk   rl   s        rJ   test_append_hierarchicalr
    s    	)BBJJOr"!!$'F&% !!$c
!;Fzz3*z-H&+IImgI6mTC:>Fzz3*z-H&+rL   c                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nU R                  SUS	S
9  U R                  S5      n[        R                  " X25        U R                  SUSS9  U R                  S5      n[        R                  " X25        g s  snf )N皙?x   r   r   r   r   i-r   r%   r!   	chunksizer   r   )expectedrows)r   r6   rF   reshaper   r:   r`   r;   rd   r<   r=   )rH   rj   r%   rk   s       rJ   test_append_miscr    s    	biin$$W--d6l#uRy1y!r!Xy12
B
 rQ/!!$'F&%4!!%(F&% 2s   Cr  )r   r   i  c                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nSUS	'   S
US'   US   R                  S5      US'   US   S:  US'   [        S5      R                  S5      US'   [        S5      R                  S5      US'   U R                  SX1S9  U R                  S5      n[        R                  " XC5        g s  snf )Nr  r  r  r   r   r  r   rS   r   r   float322float32r   boolr   rT   time120130102time2objr  )r   r6   rF   r  r   r:   r`   rx   r   ry   r;   rd   r<   r=   )rH   r  rj   r%   rk   s        rJ   test_append_misc_chunksizer    s     
biin$$W--d6l#uRy1y!r!Xy12
B
 BxLBzN
^**95BzNJ!#BvJJ'//5BwKJ'//5BwK8!!%(F&% 2s   Dc                    [        [        S5      S9nU R                  SU5        [        R                  " [
        SS9   U R                  S5        S S S 5        [        [        R                  R                  S5      R                  S5      [        S5      S9nU R                  SU5        [        R                  " U R                  S5      U5        U R                  SU5        [        R                  " U R                  S5      U5        [        [        S5      S9nU R                  SU5        [        R                  " U R                  S5      U5        g ! , (       d  f       GN	= f)	NABCrY   r%   z 'No object named df in the file'r   r   )r   r\   r   )r   r:   r;   r   r   KeyErrorrd   r6   r7   r8   r<   r=   r>   )rH   df_emptyr%   s      rJ   test_append_misc_empty_framer"    s    e-Hx(	x'I	JT" 
K 
299((+227;T%[	QBr"-..t4b9x(-..t4b9 
4;	'BeR -..u5r: 
K	Js   E
E!c                 	   [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nS//[        U5      -  US	'   UR                  S	   [        R                  :X  d   e[        R                  " S
5      n[        R                  " [        US9   U R                  SU5        S S S 5        S//[        U5      -  US'   S//[        U5      -  US'   [        R                  " [        US9   U R                  SU5        S S S 5        [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9n[!        ["        R"                  " SSS5      UR$                  S9nUR'                  [(        5      n[        R*                  USS& XSS	'   UR                  S	   [        R                  :X  d   eSn[        R                  " [        US9   U R                  SU5        S S S 5        Sn[        R                  " [        US9   U R                  S[        R                  " S5      5        S S S 5        [        R                  " S5      n[        R                  " [        US9   U R                  S[!        [        R                  " S5      5      5        S S S 5        [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nU R                  SU5        SUS'   [        R                  " S5      n[        R                  " [,        US9   U R                  SU5        S S S 5        [/        S5      US'   U R1                  S5        U R                  SU5        SUS'   [        R                  " S5      n[        R                  " [,        US9   U R                  SU5        S S S 5        g s  snf ! , (       d  f       GN= f! , (       d  f       GN:= fs  snf ! , (       d  f       GN9= f! , (       d  f       GN= f! , (       d  f       GN= fs  snf ! , (       d  f       N= f! , (       d  f       g = f)Nr  r  r  r   r   r  r   r   invalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyper   r%   invalid2invalid3i  r!   r   r0   r   r'   z>too many timezones in this block, create separate data columnsz(value must be None, Series, or DataFramer   zQcannot properly create the storer for: [group->df,value-><class 'pandas.Series'>]rS   zinvalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]r   r[   znCannot serialize the column [foo] because its data contents are not [string] but [datetime64[us]] object dtype)r   r6   rF   r  r   r:   r`   rf   dtypesobject_r   r   r   r   r   r;   r   r   r   rx   objectr?   r   r   rG   )rH   r   rj   r%   r   rm   s         rJ   test_append_raiser*    s    
biin$$W--d6l#uRy1y!r!Xy12
B
 UGc"g%ByM99Y2::---
))	GC 
y	,T2& 
- eWs2w&BzNeWs2w&BzN	y	,T2& 
- 
biin$$W--d6l#uRy1y!r!Xy12
B
 	x  q!,BHH=A	AVVAaFyM99Y2::---
JC	y	,T2& 
- 5C	y	,T299R=1 
- ))	5C 
y	,T6"))B-#89 
- 
biin$$W--d6l#uRy1y!r!Xy12
B
 r"BuI
))	&C
 
z	-T2& 
. *%BuIr"BuI
))	,C
 
z	-T2& 
.	-Q 2 
-	, 
-	, 2 
-	,
 
-	, 
-	, 2 
.	- 
.	-sf   QQ)Q/RR7'R0R*R<<S<S
Q,/
Q>
R
R'*
R9
S
S c                 J   [        S5      R                  S5      n[        U[        S5       Vs/ s H  o2[	        USS9-   PM     snS.5      nUS   US   -
  US'   US   R                  S	U S
35      US'   [        R                  UR                  SS2S4'   U R                  SUSS9  U R                  S5      n[        R                  " XT5        U R                  SSS9n[        R                  " XT5        U R                  SSS9n[        R                  " XTR                  SS  5        U R                  SS5      n[        R                  " XTR                  SS  5        U R                  SS5      nUR                  S/S9n[        R                  " XTR                  SS  5        U R                  SS5      nUR                  SS  n[        R                  " XTR                  SS  5        U R                  SU5        U R                  S5      n[        R                  " XT5        g s  snf )Nr   rT   r   )dayssecondsr   rX   r   rZ   zm8[]r\   r'   r%   Tr4   zC<100000)wherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')subsetr   z	C<'-3.5D'r!   r   r   )r   ry   r   r`   r   rx   r6   r?   r@   r;   rd   r<   r=   r   r}   r>   )rH   r   rR   rj   r%   rk   s         rJ   test_append_with_timedeltar1  $  s    
:		&	&t	,B	>CBiHiya44iH	

B g3BsGgnns4&]+BsGvvBFF1Q38 r5!!$'F&%!!$j!9F&%!!$.E!FF&''!"+.!!$	2F&''!"+. !!$7F]]3%](F&''!"+.!!$4F[[_F&''!"+. eR !!%(F&%E Is   H 
c           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nUR                  5       R                  S	R                  S
9nSUS'   [        X/SS9nSn[        R                  " [        US9   U R                  SS/S S.USS9  S S S 5        [        R                  " [        US9   U R                  S S S.USS9  S S S 5        Sn[        R                  " [        US9   U R                  SUS5        S S S 5        U R                  SS/S S.USS9  U R!                  SS/SS/SS9nX3R"                  S:  UR$                  S:  -     n[&        R(                  " XV5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f)Nr   r   r   r   r   r   r   r   {}_2rY   r[   rS   r!   axisz=append_to_multiple requires a selector that is in passed dictr   rX   r   r   r    )selectorzQappend_to_multiple must have a dictionary specified as the way to split the valuer   r   zA>0r   )r/  r7  r   )r   r6   r7   r8   r9   r   r:   r   rz   renamer   r
   r   r   r   append_to_multipleselect_as_multiplerX   r   r<   r=   )rH   r   r   r%   r   rk   rl   s          rJ   test_append_to_multipler;  Q  s   

		a 009d6l#r<C
 ((*

FMM

2CCJ	
	#B JC	z	-((#Jt,b5 	) 	
 
.
 
z	-((d)CRRW(X 
.	  
z	-((E: 
. $$c
4("u %  --	uenu . F 44!8q)*H&+/ 
.	-
 
.	- 
.	-s$   %FF%F6
F"%
F36
Gc           
      4   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9n[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9R                  S	R                  S
9n[        R                  UR                  SUR                  R                  SS/5      4'   [        X/SS9nU R                  SS/S S.USSS9  U R!                  SS/5      nUR#                  5       n[$        R&                  " XESS9  [$        R(                  " U R+                  S5      R,                  U R+                  S5      R,                  5        g )Nr   r   r   r   r   r   r   r   r3  rY   r!   rX   r4  r6  r   Tr7  r}   r   r2   )r   r6   r7   r8   r9   r   r:   r   r8  r   r?   r   r   get_indexerr
   r9  r:  r}   r<   r=   assert_index_equalrd   r   )rH   r   r   r%   rk   rl   s         rJ   test_append_to_multiple_dropnar@  w  s^   

		a 009d6l#r<C
 
		a 009d6l#r< fV]]f#	 
 8:vvCHHQ''c
334	
	#B $$c
4("uT %  --uen=Fyy{H&TBU#))=+?+?+F+L+LrL   c           
      6   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSS9S9nUR                  5       R                  S	R                  S
9n[        R                  UR                  SUR                  R                  SS/5      4'   [        X/SS9n[         R"                  " SS5         U R%                  SS/S S.USSS9  Sn[&        R(                  " [*        US9   U R-                  SS/5        S S S 5        U R/                  S5      R0                  R3                  U R/                  S5      R0                  5      (       a   e S S S 5        g ! , (       d  f       Nb= f! , (       d  f       g = f)Nr   r   r   r   r   r   r   r   r3  rY   r!   rX   r4  r   T)df1adf2arB  Fr=  z,all tables must have exactly the same nrows!r   rC  )r   r6   r7   r8   r9   r   r:   r   rz   r8  r   r?   r   r   r>  r
   r   r   r9  r   r   r   r:  rd   r   equals)rH   r   r   r%   r   s        rJ   $test_append_to_multiple_dropna_falserE    s^   

		a 009d6l#r<C
 ((*

FMM

2C79vvCHHQ''c
334	
	#B			0$	7((3Z.VE 	) 	
 =]]:S1,,ff-=> 2 !''/55<<  (..
 
 	
 
 
 
8	7 21 
8	7s%   3F
	E9AF
9
F	F


Fc           
      Z   [        [        R                  " SS5      [        R                  " SS5      [        R                  " SS5      S-  [        S5       Vs/ s H  nSPM     sn[        S5       Vs/ s H  nSPM     snS.5      nUR                  S/   n[        [        [        [        UR                  5      5      5      5      Ul        U R                  S	/S
S/SS/S.UR                  S/   SSSSS.S9  U R                  / SQ5      n[        R                  " XCSS9  g s  snf s  snf )Nr!      X   r   r   abcde)IXNumBigNumStrLongStrr   rJ  rK  rL  rM  rN  )r   numsstrsr   r   rP   r   )rM  rN  rK  r   Tr2   )r   r6   rF   r`   r   r   r:   rf   r   r9  r:  r<   r=   )rH   _r%   rl   rk   s        rJ   $test_append_to_multiple_min_itemsizerR    s   	))Ar"99Q#ii2&+!&r+AC+).r3A3	

B wws|H4c(..&9 :;<HN$$VH%I&	

 	C: % 	 --.GHF&TB' ,3s   D#3D(c                    [        SSS.[        R                  " S5      S9nUR                  5       n[        R                  UR
                  SS2S S 24'   SnU R                  S	US
   5        [        R                  " [        US9   U R                  S	US
   5        S S S 5        U R                  SUS   SS9  [        R                  " [        US9   U R                  SUS   5        S S S 5        U R                  SUS
   SS9  U R                  SUS
   5        U S   n[        US
   US
   /5      n[        R                  " XE5        g ! , (       d  f       N= f! , (       d  f       Nw= f)Nr   rS   r   r   r0   r   r   z8NaN representation is too large for existing column sizesarX   r   sbr   bars)nan_repscn)r   r6   rF   rz   r?   r@   r;   r   r   r   r
   r<   rb   )rH   r%   df_nanr   rk   rl   s         rJ   test_append_string_nan_repr[    s4   	5)2	?BWWYFFJJqsAv
DC r#w'	z	-T6#;/ 
. r#w7	z	-T6#;/ 
. r#w4vc{+4 Fr#ws,-H6, 
.	-
 
.	-s   EE
E
E%)0r   r   r   numpyr6   r   pandas._libs.tslibsr   pandas.compatr   pandasr   r   r   r   r	   r<   r
   r   r   r   
single_cpu
pytestmarkimportorskipr   filterwarningsrK   rn   r{   r   r   r   r   r   r   r  r
  r  parametrizer  r"  r*  r1  r;  r@  rE  rR  r[   rL   rJ   <module>rf     s     	   )     kk$$%
			X	& ?@>T A>TB-J`'LTTOn#GL.'bQ&h(OV:X,v,&& o6& 7&$;*P'f*&Z#,L4
2C:-rL   