
    A>i                        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JrJrJrJr  S SKJr  \R.                  R0                  /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%S r&S r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1S r2S r3S  r4S! r5S" r6S# r7S$ r8S% r9S& r:\R.                  Rw                  S'S(S)S*/ S//5      S+ 5       r<S, r=g)-    N)	Timestamp)PY312)	DataFrameHDFStoreIndex
MultiIndexSeries_testingbdate_rangeconcat
date_rangeisnaread_hdf)Termc                 F   [        / SQ/ SQ// SQ/ SQ/SS/S9n[        [        R                  R	                  S5      R                  S	5      U/ S
QS9nU R                  SUSS9  US/   n[        R                  " U R                  SS/S9U5        [        R                  " U R                  SSS9U5        [        [        R                  R	                  S5      R                  S5      USS9nU R                  SUSS9  [        R                  " U R                  SSS9U5        g )N)foobarbazqux)onetwothree)
r   r   r      r      r      r   r   )
r   r   r   r   r   r   r   r   r   r   foo_namebar_name)levelscodesnamesr   )
   r   )ABCindexcolumnsdftableformatr"   r'   zcolumns=['A']wherer!   )r&   names)r   r   nprandomdefault_rngstandard_normalputtmassert_frame_equalselectr	   assert_series_equal)temp_hdfstorer&   r(   expectedr0   s        c/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_select.pytest_select_columns_in_wherer=      s    ,.EF-/MN:&E 

		a 009
B dBw/3%yH-..tcU.CXN-..t?.KXV 	ryy$$Q'77;5sSAc1W-=//?/KQO    c                    [        [        R                  R                  S5      R	                  S5      / SQS9n[        SSSSS	9Ul        U R                  S
U5        U R                  S
5      nUn[        R                  " X#SS9  U R                  S
UR                  S9nUn[        R                  " X#SS9  U R                  S
S/S9nUR                  S S 2S/4   n[        R                  " X#5        g )Nr   r!      r"   r"   r#   r#   r,   20130101 9:30r!   minnsperiodsfrequnitr(   T	by_blocksr"   )r   r1   r2   r3   r4   r   r&   appendr8   r6   r7   r'   locr:   r(   resultr;   s       r<   test_select_with_dupsrP   9   s    	
		a 009CW
B /2EMBHr"!!$'FH&d;!!$

!;FH&d;!!$!6Fvva#hH&+r>   c                    [        [        [        R                  R	                  S5      R                  S5      / SQS9[        [        R                  R	                  S5      R                  SSSS9R                  SS5      S	S
/S9/SS9n[        SSSSS9Ul	        U R                  SU5        U R                  S5      nUn[        R                  " X#SS9  U R                  SUR                  S9nUn[        R                  " X#SS9  UR                  S S 2S	/4   nU R                  SS	/S9n[        R                  " X#SS9  UR                  S S 2SS	/4   nU R                  SSS	/S9n[        R                  " X#SS9  g )Nr   r@   rB   r,   r   r!      sizer"   r$   r   axisrC   rD   rE   rF   r(   TrJ   r#   )r   r   r1   r2   r3   r4   integersreshaper   r&   rL   r8   r6   r7   r'   rM   rN   s       r<   #test_select_with_dups_across_dtypesrY   O   sq   			%%a(88A, 		%%a(11!Rb1AII"aPc
		
 
B /2EMBHr"!!$'FH&d;!!$

!;FH&d;vva#hH!!$!6F&d;vva#sm$H!!$c
!;F&d;r>   c                    [        [        [        R                  R	                  S5      R                  S5      / SQS9[        [        R                  R	                  S5      R                  SSSS9R                  SS5      S	S
/S9/SS9n[        SSSSS9Ul	        U R                  SU5        U R                  SU5        UR                  S S 2SS	/4   n[        X"/5      nU R                  SSS	/S9n[        R                  " X2SS9  g )Nr   r@   rB   r,   r   r!   rR   rS   r"   r$   r   rU   rC   rD   rE   rF   r(   r#   TrJ   )r   r   r1   r2   r3   r4   rW   rX   r   r&   rL   rM   r8   r6   r7   r:   r(   r;   rO   s       r<   .test_select_with_dups_across_index_and_columnsr\   r   s    			%%a(88A, 		%%a(11!Rb1AII"aPc
		
 
B /2EMBHr"r"vva#sm$Hx*+H!!$c
!;F&d;r>   c                 @   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R                  S
U5        U R                  S
SS/S9nUR                  SS/S9n[        R                  " X25        U R                  S
S/5      nUR                  SS/S9n[        R                  " X25        U R                  S
5        U R                  S
US/S9  U R                  S
S/SS/S9nXR                  S:     R                  SS/S9n[        R                  " X25        U R                  S
5        U R                  S
USS9  U R                  S
S/SS/S9nXR                  S:     R                  SS/S9n[        R                  " X25        U R                  S
5        U R                  S
US/S9  U R                  S
S/SS/S9nXR                  S:     R                  SS/S9n[        R                  " X25        g )Nr   r@   ABCD
2000-01-01r!   r#   rE   rF   r'   r&   r(   r"   r,   zcolumns=['A', 'B']data_columnszA > 0r   Tr$   D)r   r1   r2   r3   r4   r   listr   rL   r8   reindexr6   r7   remover"   rN   s       r<   test_selectrg      s!   	
		a 009d6l#r$G
B
 r"!!$c
!;Fzz3*z-H(+ !!$)=(>?Fzz3*z-H(+ r6!!$	C:!FF$$(|##S#J#7H(+ r5!!$	C:!FF$$(|##S#J#7H(+ r6!!$	C:!FF$$(|##S#J#7H(+r>   c                 4   [        [        SSSS9[        R                  R	                  S5      R                  S5      S.5      nU R                  SUSS	/S
9  U R                  SS5      nXR                  [        S5      :     n[        R                  " X25        g )N
2012-01-01,  rE   rG   rI   r   )tsr"   r(   rl   r"   ra   ts>=Timestamp('2012-02-01')
2012-02-01)r   r   r1   r2   r3   r4   rL   r8   rl   r   r6   r7   rN   s       r<   test_select_dtypes_timestampro      s    	lCdC&&q)99#>	

B rs<!!$(EFF%%9\223H(+r>   c                 0   [        [        R                  R                  S5      R	                  S5      SS/S9nSUS'   SUR
                  S	S
2S4'   US   S:  US'   U R                  SUSS9  XR                  S:H     R                  SS/S9nS H/  nU R                  SSU 3SS/S9n[        R                  " X$5        M1     XR                  S:H     R                  SS/S9nS H/  nU R                  SSU 3SS/S9n[        R                  " X$5        M1     g )Nr   )   r   r"   r#   r,   r   objectr   rA   rq   r   boolvr(   Tra   )Ttruer   z	boolv == F)Ffalser   )r   r1   r2   r3   r4   rM   rL   rs   re   r8   r6   r7   )r:   r(   r;   vrO   s        r<   test_select_dtypes_boolsrw      s,   	299((+;;FCcSVZ	XBBxL!BFF1Q3=S'A+BwKr5((d"#++S'N+CH%%disOc7^%T
h/  ((e#$,,c7^,DH %%disOc7^%T
h/ !r>   c                    [        [        R                  R                  S5      R                  S5      [        R                  R                  S5      R                  S5      S.5      nU R	                  SU5        U R                  SS5      nUR                  [        UR                  5      SS S/S	9n[        R                  " X25        g )
Nr   rR   )r"   r#   df_intzindex<10 and columns=['A']r   r!   r"   r%   )r   r1   r2   r3   rL   r8   re   rd   r&   r6   r7   rN   s       r<    test_select_dtypes_integer_indexrz      s    	&&q)004&&q)004	

B 2&!!(,HIFzzRXXq 4sezDH(+r>   c           	         [        [        R                  R                  S5      R                  S5      [        R                  R                  S5      R                  S5      [        R                  " SSS9S.5      nU R                  SU5        U R                  SS5      nUR                  [        UR                  5      SS	 S
/S9n[        R                  " X25        g )Nr   rR   f8dtype)r"   r#   r&   df_floatzindex<10.0 and columns=['A']r   r!   r"   r%   )r   r1   r2   r3   arangerL   r8   re   rd   r&   r6   r7   rN   s       r<   test_select_dtypes_float_indexr      s    	&&q)004&&q)004YYr.	

B R(!!*.LMFzzRXXq 4sezDH(+r>   c                     [        [        S5      [        S5      S.SS9nUS   S-   R                  [        5      US'   U R	                  SUSS	9  U R                  SS
S9nXS   S:     n[        R                  " X25        g )N   colsvaluesfloat64r}   r   r!   df1Tra   
values>2.0r-   r          @)r   rangeapplystrrL   r8   r6   r7   rN   s       r<   %test_select_dtypes_floats_without_nanr      s    	E"Ir;9	MBV*r/((-BvJ6!!%|!<FX,$%H(+r>   c                 <   [        [        S5      [        S5      S.SS9nUS   S-   R                  [        5      US'   [        R
                  UR                  S'   XS   S	:     nU R                  S
USSS9  U R                  S
SS9n[        R                  " X#5        g )Nr   r   r   r}   r   r!   r   r   r   df2TFrb   r&   r   r-   r   r   r   r   r1   nanilocrL   r8   r6   r7   r[   s       r<   "test_select_dtypes_floats_with_nanr      s    	E"Ir;9	MBV*r/((-BvJBGGAJX,$%HUC!!%|!<F(+r>   c                 :   [        [        S5      [        S5      S.SS9nUS   S-   R                  [        5      US'   [        R
                  UR                  S'   XS   S	:     nU R                  S
USS9  U R                  S
SS9n[        R                  " X#5        g )Nr   r   r   r}   r   r!   r   r   r   df4Tra   r   r-   r   r[   s       r<   5test_select_dtypes_floats_with_nan_not_first_positionr     s    	E"Ir;9	MBV*r/((-BvJBGGAJX,$%H6!!%|!<F(+r>   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X3S   S	:     nU R                  S
USS9  UR                  [        R                  R                  [        S[        S95        [        R                  " S	5      nU R                  S
S/S9n[         R"                  " XF5        g s  snf )N皙?x   )   rA   r^   r   zi-r`   r"   r   r(   Tra   AST change in PY312reasonraisesz	A>np_zeror-   )r   r1   r   rX   r   rd   r   rL   applymarkerpytestmarkxfailr   
ValueErrorr   r8   r6   r7   )r:   requestir(   r;   np_zerorO   s          r<   /test_select_dtypes_comparison_with_numpy_scalarr     s    	biin$$W--d6l#uRy1y!r!Xy12
B S'A+Hr5( 	 	
 jjmG!!${m!<F(+ 2s   C9c                 R   [        [        SSSS9[        R                  R	                  S5      R                  S5      [        S5      S/S-  S/S-  -   S	/S
-  -   [        S
5       Vs/ s H	  nSUS 3PM     sn-   S.5      nU R                  SU/ SQS9  U R                  SS5      nX"R                  [        S5      :     n[        R                  " XC5        U R                  SS5      nX"R                  [        S5      :  UR                  R                  / SQ5      -     n[        R                  " XC5        / SQ[        S5       Vs/ s H	  nSUS 3PM     sn-   nU R                  SS5      nX"R                  [        S5      :  UR                  R                  U5      -     n[        R                  " XC5        [        S
S5      nU R                  SS5      nX"R                  R                  U5         n[        R                  " XC5        [!        U5      S
:X  d   e[#        UR                  SS
 R$                  5      nU R                  SS5      nX"R                  R                  UR$                  5         n[        R                  " XC5        [!        U5      S
:X  d   eg s  snf s  snf )Nri   rj   rE   rk   r   a2   bcd   03d)rl   r"   r#   usersr(   ra   rm   rn   z1ts>=Timestamp('2012-02-01') & users=['a','b','c'])r   r   r   <   z.ts>=Timestamp('2012-02-01') and users=selector   z
B=selectorr   zts=selector)r   r   r1   r2   r3   r4   r   rL   r8   rl   r   r6   r7   r   isinr#   lenr   r   )r:   r   r(   rO   r;   selectors         r<   test_select_with_many_inputsr   &  sf   	lCdC&&q)99#>sURZebjeck %*#J/Jq1S'{J/0		


B r0IJ !!$(EFF%%9\223H(+ !!AF 55Il33rxx}}_7UUVH(+ uRy!Ay!AaW+y!AAH!!>F 55Il33rxx}}X7NNOH(+S#H!!$5F$$))H%&H(+v;# RUU1S\(()H!!$6F%%**X__-.H(+v;#I 0$ "Bs   'JJ$c                 n   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R                  S
U5        U R                  S
5      n[        U R                  S
SS95      n[        U5      n[        R                  " X$5        [        U R                  S
SS95      n[        U5      S:X  d   e[        U5      n[        R                  " X$5        [        U R                  S
SS95      n[        U5      n[        R                  " XB5        g )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r(   Titerator	chunksizerq   )r   r1   r2   r3   r4   r   rd   r   rL   r8   r   r6   r7   r   )r:   r(   r;   resultsrO   s        r<   test_select_iteratorr   V  s
   	
		a 009d6l#r$G
B
 r"##D)H=''t'<=GG_F(+=''':;Gw<1G_F(+=''':;GG_F&+r>   c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nUR                  U S
S9  Sn[        R                  " [        US9   [        U S
SS9  S S S 5        [        R                  " [        US9   [        U S
SS9  S S S 5        g ! , (       d  f       N<= f! , (       d  f       g = f)Nr   r@   r^   r_   r!   r#   rE   rF   r`   df_non_table)keyz0can only use an iterator or chunksize on a tablematchr   Tr   )r   r1   r2   r3   r4   r   rd   r   to_hdfr   r   	TypeErrorr   )temp_h5_pathr(   msgs      r<   test_select_iterator2r   o  s    	
		a 009d6l#r$G
B
 IIlI/
<C	y	,~; 
- 
y	,~= 
-	, 
-	, 
-	,s   ?C,C
C
C c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nUR                  U S
SS9  [        [        U S
SS95      n[        U5      n[        U5      S:X  d   e[        R                  " X15        [        R                  " U[        U S
5      5        g )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r(   r)   )r   r+   r   rq   )r   r1   r2   r3   r4   r   rd   r   r   r   r   r   r6   r7   )r   r(   r   rO   s       r<   test_select_iterator3r     s    	
		a 009d6l#r$G
B
 IIlWI58L$!<=GG_Fw<1&%&(<">?r>   c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R                  S
USS9  UR                  5       R                  SR                  S9nSUS'   U R                  SU5        U R                  S
S/S
S9n[        U R                  S
S/S
SS95      n[        U5      n[        R                  " X55        g )Nr   r@   r^   r_   r!   r#   rE   rF   r`   r   Tra   {}_2r,   r   r   r   )r   )r   r   )r   r1   r2   r3   r4   r   rd   r   rL   copyrenamer+   select_as_multipler   r6   r7   )r:   r   r   r;   r   rO   s         r<   test_select_iterator_multipler     s    

		a 009d6l#r$GC
 $7
((*

FMM

2CCJ$ ///OH((%%ST(UG G_F(+r>   c                 f   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R                  S
U5        UR                  S   nUR                  S   nU R                  S
5      n[        R                  " X5        SU S3nU R                  S
US9n[        R                  " X5        SU S3nU R                  S
US9n[        R                  " X5        SU SU S3nU R                  S
US9n[        R                  " X5        g )Nr    rA   r^   r_   r   r0   rE   rF   r`   r(   r   
index >= ''r-   
index <= '' & index <= ')r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r6   r7   )r:   r;   beg_dtend_dtrO   r.   s         r<   "test_select_iterator_complete_8014r     s2    
		a 00=d6l#vCdKH
 x(^^AF^^BF !!$'F(+ "E!!$e!4F(+ "E!!$e!4F(+ vha8E!!$e!4F(+r>   c                    Sn[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS	9S
9nU R                  SU5        UR                  S   nUR                  S   n[        U R                  SUS95      n[        U5      n[        R                  " X&5        SU S3n[        U R                  SXqS95      n[        U5      n[        R                  " X&5        SU S3n[        U R                  SXqS95      n[        U5      n[        R                  " X&5        SU SU S3n[        U R                  SXqS95      n[        U5      n[        R                  " X&5        g )N     @r   r   r^   r_   r   r0   rE   rF   r`   r(   r   r   r   r   r   r.   r   r   r   r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r   r6   r7   )r:   r   r;   r   r   r   rO   r.   s           r<   -test_select_iterator_complete_8014_full_ranger     sr   I
		a 00=d6l#vCdKH
 x(^^AF^^BF =''	'BCGG_F(+ "E=''E'OPGG_F(+ "E=''E'OPGG_F(+ vha8E=''E'OPGG_F(+r>   c                    Sn[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS	9S
9nU R                  SU5        UR                  S   nUR                  S   nSU S3n[        U R                  SXQS95      n[        U5      nX"R                  U:     n[        R                  " X5        SU S3n[        U R                  SXQS95      n[        U5      nX"R                  U:*     n[        R                  " X5        SU SU S3n[        U R                  SXQS95      n[        U5      nX"R                  U:  UR                  U:*  -     n[        R                  " X5        g )Nr   r   r   r^   r_   r   r0   rE   rF   r`   r(   r   r   r   r   r   r   r   	r:   r   r;   r   r   r.   r   rO   	rexpecteds	            r<   &test_select_iterator_non_complete_8014r     s    I 
		a 00=d6l#vCdKH
 x(^^AF^^BF "E=''E'OPGG_F612I), "E=''E'OPGG_F612I), vha8E=''E'OPGG_F..F2x~~7OPQI),r>   c                 P   Sn[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS	9S
9nU R                  SU5        UR                  S   nSU S3n[        U R                  SXAS95      nS[        U5      :X  d   eg )Nr   r   r   r^   r_   r   r0   rE   rF   r`   r(   r   z	index > 'r   r   r   )r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r   )r:   r   r;   r   r.   r   s         r<   2test_select_iterator_non_complete_8014_empty_wherer     s    I
		a 00=d6l#vCdKH
 x(^^BF xq!E=''E'OPGGr>   c                    Sn[        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS	9S
9nU R                  SU5        UR                  S   nUR                  US-
     nSU S3n[        U R                  SXQS95      n[        U5      nX"R                  U:     n[        R                  " X5        SU S3n[        U R                  SXQS95      n[        U5      S:X  d   e[        U5      nX"R                  U:*     n[        R                  " X5        SU SU S3n[        U R                  SXQS95      n[        U5      S:X  d   e[        U5      nX"R                  U:  UR                  U:*  -     n[        R                  " X5        SU SU S3n[        U R                  SXQS95      n[        U5      S:X  d   eg )Ni'  r   r   r^   r_   r   r0   rE   rF   r`   r(   r   r   r   r   r   r   r   z' & index >= ')r   r1   r2   r3   r4   r   rd   r   rL   r&   r8   r   r6   r7   r   r   s	            r<   &test_select_iterator_many_empty_framesr   $  s    I 
		a 00=d6l#vCdKH
 x(^^AF^^IM*F "E=''E'OPGG_F612I), "E=''E'OPGw<1G_F612I), vha8E=''E'OPG w<1G_F..F2x~~7OPQI), vha8E=''E'OPG w<1r>   c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R                  S
USS9  UR                  [        U5      S-     n[        S5      nUR                  R                  S   U:X  d   eSnSnUR                  [        R                   R#                  [$        S[&        S95        U R)                  S
XE/5      nUR*                  US 2SS/4   n[,        R.                  " Xx5        U R)                  S
U/5      nUR*                  S S 2S/4   n[,        R.                  " Xx5        [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R1                  SU5        Sn	[        R2                  " [4        U	S9   U R)                  SS5        S S S 5        g ! , (       d  f       g = f)Nr   r@   r^   r_   r!   r#   rE   rF   r`   framer)   r*   zindex>=datedatezcolumns=['A', 'D']z	columns=Ar   r   r"   rc   df_timez day is out of range for month: 0r   zindex>0)r   r1   r2   r3   r4   r   rd   r   r5   r&   r   r   envscoper   r   r   r   r   r   r8   rM   r6   r7   rL   r   r   )
r:   r   r(   r   crit1crit2crit3rO   r;   r   s
             r<   test_frame_selectr   ]  s   	
		a 009d6l#r$G
B gr'288CGqL!DE99??6"d*** EE( 	 	
 !!'E>:Fvvdec3Z'(H&+!!'E73Fvva#hH&+ 

		a 009d6l#r$G
B
 B'
,C	z	-Y	2 
.	-	-s   G;;
H	c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nS
US'   SUR                  UR                  SS S4'   U R                  SUSS/S9  U R                  SS5      nUR                  UR                  UR                  S   :  UR                  S:H  -     n[        R                  " X#5        U R                  SS5      nUR                  UR                  UR                  S   :  UR                  S
:H  -     n[        R                  " X#5        U R                  SS5      nUR                  UR                  UR                  S   :  UR                  S:H  -     n[        R                  " X#5        U R                  SS5      nUR                  UR                  UR                  S   :  UR                  UR                  S   :*  -  UR                  S:H  -     n[        R                  " X#5        U R                  SS5      nUR                  UR                  S:g     n[        R                  " X#5        Sn[        R                   " ["        US9   U R                  SS5        S S S 5        U R                  SS5      nUR                  S S 2UR$                  R'                  SS/5      4   n[        R                  " X#5        U R                  SS5      nUR                  UR                  UR                  S   :     R)                  SS/S9n[        R                  " X#5        g ! , (       d  f       N= f) Nr   r@   r^   r_   r!   r#   rE   rF   r`   r   stringr   r   rA   r(   r)   r+   rb   z index>df.index[3] & string="bar"r   z index>df.index[3] & string="foo"z index>df.index[3] | string="bar"z7(index>df.index[3] & index<=df.index[6]) | string="bar"   zstring!="bar"z6cannot use an invert condition when passing to numexprr   z~(string="bar")z~(columns=['A','B'])r"   z(index>df.index[3] & columns in ['A','B']r,   )r   r1   r2   r3   r4   r   rd   r   rM   r&   r5   r8   r   r6   r7   r   r   NotImplementedErrorr'   
differencere   )r:   r(   rO   r;   r   s        r<   test_frame_select_complexr     s    

		a 009d6l#r$G
B
 BxL&+BFF288Aa=("#dBwhZH !!$(JKFvvrxx"((1+-"))u2DEFH&+!!$(JKFvvrxx"((1+-"))u2DEFH&+ !!$(JKFvvrxx"((1+-"))u2DEFH&+!!GF vv
((RXXa[
 RXX!%<	="))uBTUH &+ !!$8Fvvbii5()H&+ CC	*#	6T#45 
7 !!$(>?Fvva..Sz::;H&+ !!$(RSFvvbhh!,-55sCj5IH&+ 
7	6s   
M
M*c                 \   U S-  nU S-  n[        S/ SQ05      nUR                  USSSS/S9  [        USS	S
9n[        [        R                  R                  S5      R                  S5      S/[        R                  " [        S5       VVs/ s H  n[        S5        H  oeU4PM     M     snnSS/S9S9nUR                  USSSS9  [        USSS
9nUR                  R                  5       n	[        U5       n
U
R                  SSS
9n[        R                  " X5        S S S 5        [        USSS
9n[        R                  " X5        UR                  n[        USSS
9n[        R                  " X5        [        USSS
9n[        R                  " X5        [        USSS
9n[        R                  " X5        [        USSS
9n[        R                  " X5        [        U5       n
U
R                  SSS
9n[        R                  " X5        U
R                  SSS
9n[        R                  " X5        U
R                  SSS
9n[        R                  " X5        U
R                  SSS
9n[        R                  " X5        S S S 5        g s  snnf ! , (       d  f       GNs= f! , (       d  f       g = f)Nz
params.hdfzhist.hdfr"   )r   r   r   r   r   r(   wr)   )r   moder+   rb   zA=[2,3]r-   r   )   r   datarq   l1l2)r    r`   )r   r   r+   zl1=[2, 3, 4]zl1=l0zl1=indexzl1=selection.indexzl1=selection.index.tolist()zl1=list(selection.index))r   r   r   r1   r2   r3   r4   r   from_tuplesr   r&   tolistr   r8   r6   r7   )tmp_pathpphhparams	selectionr   jhistr;   l0storerO   r&   s                r<   test_frame_select_complex2r    s^   	L	 B	J	B _-.F
MM"$SuMMT3I
		a 009$$"1X8XuQx!VxVX8t
D 	KK3wK7D7H 
			!B	"d'2
f/ 
 b$g.F&+ OOEb$j1F&+b$&:;F&+b$&CDF&+b$&@AF&+ 
"d*5
f/d*>?
f/d*GH
f/d*DE
f/ 
A 9 
, 
s    J8'J#BJ
J
J+c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nU R                  S
USS9  Sn[        R                  " [        US9   U R                  S
S5        S S S 5        [        R                  " [        US9   U R                  S
S5        S S S 5        g ! , (       d  f       NC= f! , (       d  f       g = f)Nr   r@   r^   r_   r!   r#   rE   rF   r`   r(   r)   r*   z unable to collapse Joint Filtersr   zcolumns=['A'] | columns=['B']z!columns=['A','B'] & columns=['C'])r   r1   r2   r3   r4   r   rd   r   r5   r   r   r   r8   )r:   r(   r   s      r<   test_invalid_filteringr     s     

		a 009d6l#r$G
B dBw/
,C	*#	6T#BC 
7 
*#	6T#FG 
7	6	 
7	6 
7	6s    C4C!
C!
C/c                 b   [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nS
US'   SUR                  UR                  SS S4'   U R                  SUS/S9  U R                  SS5      nXR                  S
:H     n[        R                  " X#5        U R                  SS5      nXR                  S
:g     n[        R                  " X#5        UR                  5       n[        R                   UR                  UR                  S:H  S4'   U R                  SUS/S9  U R                  SS5      nU[#        UR                  5         n[        R                  " X#5        SUS'   SUR                  UR                  SS S4'   U R                  SUS/S9  U R                  SS5      nXR$                  S:H     n[        R                  " X#5        U R                  SS5      nXR$                  S:g     n[        R                  " X#5        g )Nr   r@   r^   r_   r!   r#   rE   rF   r`   nonex    r(   ra   zx=nonezx!=noner   r   intdf3zint=2zint!=2)r   r1   r2   r3   r4   r   rd   r   rM   r&   rL   r8   r  r6   r7   r   r   r   r  )r:   r(   rO   r;   r   s        r<   test_string_selectr    s   	
		a 009d6l#r$G
B BsG!#BFF288Aa=#r6!!$1F$$&.!H&+!!$	2F$$&.!H&+
'')C "CGGCEERK3%8!!%3F4;H&+ BuI#$BFF288Aa=% %9!!%1F&&A+H&+!!%2F&&A+H&+r>   c                    [        [        R                  R                  S5      R	                  S5      [        [        S5      5      [        SSSSS9S	9nUR                  5       R                  S
R                  S9nSUS'   Sn[        R                  " [        US9   U R                  S SS/SS9  S S S 5        U R                  SUSS/S9  U R                  SU5        [        R                  " [        US9   U R                  S SS/SS9  S S S 5        [        R                  " [        US9   U R                  S /SS/SS9  S S S 5        Sn[        R                  " [         US9   U R                  SS/SS/SS9  S S S 5        [        R                  " [         US9   U R                  S/SS/SS9  S S S 5        [        R                  " [         SS9   U R                  SS/SS/SS9  S S S 5        U R#                  SSS/5      nU R                  S/SS/SS9n[$        R&                  " XE5        U R                  SSS/SS9n[$        R&                  " XE5        U R                  SS/SS/SS9n[)        X/SS9nXUR*                  S:  UR,                  S:  -     n[$        R&                  " XESS9  U R                  SS/S SS9n[)        X/SS9nUS!S  n[$        R&                  " XE5        UR                  5       R/                  S5      nU R                  SU5        S"n[        R                  " [0        US9   U R                  SS/SS/SS9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN^= f! , (       d  f       GN:= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       g = f)#Nr   r@   r^   r_   r!   r#   rE   rF   r`   r   r,   r   r   zkeys must be a list/tupler   zA>0zB>0r   )r.   r   r"   ra   r   z!'No object named df3 in the file'r  z!'No object named df4 in the file'r   r   rU   r   F)
check_freqzindex>df2.index[4]rq   z,all tables must have exactly the same nrows!)r   r1   r2   r3   r4   r   rd   r   r   r   r+   r   r   r   r   rL   KeyErrorr8   r6   r7   r   r"   r#   headr   )r:   r   r   r   rO   r;   r  s          r<   test_select_as_multipler  B  s   

		a 009d6l#r$GC
 ((*

FMM

2CCJ
%C	y	,((eU^e(T 
- 3*=$ 
y	,((eU^e(T 
- 
y	,(($u~PU(V 
- .C	xs	+((EN5%.5 	) 	
 
,
 
xs	+((%QV(W 
, 
x'J	K((EN5%.5 	) 	
 
L !!%%8F//	u~ 0 H &+//eU^e 0 H &+ --	uenu . F sjq)HaHJJN;<H&u= --	2U . F sjq)H|H&+ ((*//!
C$
8C	z	-((EN5%.5 	) 	
 
.	-w 
-	, 
-	, 
-	, 
,	+
 
,	+ 
L	KJ 
.	-sT   M5M *M2"NNN(/N:
M 
M/2
N
N
N%(
N7:
Oc                 P   [        [        S5      [        S5      S.SS9nUS   S-   R                  [        5      US'   [        R
                  UR                  S'   [        / SQ/ S	QS./ S
QS9nU R                  SUSS/S9  U R                  SSS9n[        R                  " X25        g )Nr   r   r   r}   r   r!   r   )z13.0z14.0z15.0)g      @g      @g      @)r   rA   rq   )r&   r(   Tr   r   r-   r   r[   s       r<   test_nan_selection_bug_4858r    s    	E!Ha9	KBV*r/((-BvJBGGAJ)_EH rVHE!!$l!;F&+r>   c                     [        / SQ/ SQS.5      nXR                  S:H     nU R                  SUSSS9  U R                  SS	5      n[        R
                  " X#5        g )
N)r   r   r   r   test & testr   r   e)r   r   r   rA   rq   r   r     )r   r   r   testr)   Tr   za = "test & test")r   r   rL   r8   r6   r7   r[   s       r<   (test_query_with_nested_special_characterr$    sb    	C)	

B $$-'(HG$G!!&*=>F(+r>   c                    [        S/ SQ05      nU R                  SUSSS9  SnU R                  SSUS	 35      nUR                  (       d   eS
nU R                  SSUS	 35      nUR                  SS/S S 24   n[
        R                  " XC5        SnU R                  SSUS	 35      nUR                  S/S S 24   n[
        R                  " XC5        g )Nr"   )g~  eA$  eAg'1  eAr#  r)   Tr   g  eAzA < z.4fg   eAzA > r   r   r&  zA == )r   rL   r8   emptyrM   r6   r7   )r:   r(   cutoffrO   r;   exacts         r<   test_query_long_float_literalr*    s    	CLM	NBG$GF!!&D*=>F<<<F!!&D*=>Fvvq!fai H(+E!!&E%*=>Fvvqc1f~H(+r>   c           	         [        SS/[        SSSS9SS/SS/S	./ S	QS
9nU R                  SUSSS9  [        S5      nU R	                  SSS9nUR
                  S/S S 24   n[        R                  " XC5        S GHY  nSS[        S5      [        R                  " SS5      4 HM  nSU S3nSU S[        U5       S3n[        R                  " [        US9   U R	                  SUS9  S S S 5        MO     SnS HH  n	U	 SU S3nU	S:X  a  SnOSn[        R                  " [        US9   U R	                  SUS9  S S S 5        MJ     [        / S Q/ SQ5       H|  u  piU	 SU S3nU R	                  SUS9nUS!:X  a  UR
                  S"/S S 24   nO.US#:X  a  UR
                  S/S S 24   nOUR
                  / S S 24   n[        R                  " XC5        M~     GM\     g ! , (       d  f       GMG  = f! , (       d  f       GM  = f)$N
2014-01-01z
2014-01-02r   rE   rk   r   g333333?r   )r   	real_datefloatr  r,   r#  r)   Tr   zreal_date > tsr-   )<>==g @r0   zdate z vzCannot compare z	 of type z to string columnr   r   )r  r.  r-   r-  z+Given date string "a" not likely a datetimezcould not convert string to)1z1.1r,  r1  r   r0  )r   r   rL   r   r8   rM   r6   r7   pd	Timedeltatyper   r   r   r   zip)
r:   r(   rl   rO   r;   oprv   queryr   cols
             r<   test_query_compare_column_typer;    s   	!<0#L!$G3Zq6		
 6
B G$G	<	 B!!&0@!AFvvqc1f~H(+tY|4bll1c6JKAB4rNE#A3iQy8IJCy4$$V5$9 54 L 0Ce1RDOEk!C3z5$$V5$9 65 1 46STFAe1RDOE"))&)>FTz661#q&>s661#q&>66"a%=!!(3 U' 
 54 65s   G&G,
G),
G<r.   r   )Nc                     [        / SQ5      nU R                  SUS5        [        U SUS9n[        R                  " X25        g )N)r   r   r   r(   tr-   )r   r5   r   r6   r7   )r:   r.   r(   rO   s       r<   test_select_empty_wherer?    s<     
9	BdB$mT7F&%r>   c                     [        [        / SQ/ SQ5      SS/S9nU R                  SUSSS	9  U R                  SS
S9R	                  S5      R	                  S5      nUS   S   nX2:X  d   eg )N)r   r   r   d)l l l {   r  yr,   r   TFr   zy==-9223372036854775801r-   r   )r   r7  rL   r8   getrN   s       r<   test_select_large_integerrE    s    	 S	
 c

B $eDV+DEII#NRRSTU  #wqzHr>   )>numpyr1   r   pandas._libs.tslibsr   pandas.compatr   pandasr4  r   r   r   r   r	   r
   r6   r   r   r   r   r   pandas.io.pytablesr   r   
single_cpu
pytestmarkr=   rP   rY   r\   rg   ro   rw   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r$  r*  r;  parametrizer?  rE  r<  r>   r<   <module>rN     s-     )      $kk$$%
P<,, <F<0$,N,0&
,,,,	,,.-`,2> @ ,(",J",J#-L"6r(3`5,p80vH**,ZI
X, 
,,*04f 2r7B"?@& A&r>   