
    Mh                     l   S SK rS SK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Jr  S SKJr  \R0                  R2                  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-\R0                  R]                  SSSS/ S//5      S 5       r/S r0g)    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingbdate_rangeconcat
date_rangeisnaread_hdf)_maybe_removeensure_clean_store)Termc                    [        / 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 5       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        S S S 5        [        [        R                  R	                  S5      R                  S5      USS9n[        U 5       nUR                  SUSS9  [        R                  " UR                  SSS9U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)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_normalr   puttmassert_frame_equalselectr   assert_series_equal)
setup_pathr'   r)   storeexpectedr1   s         V/var/www/html/env/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 
J	'5		$7	+se9
ell4#l?J
ell4lGR 
( 	ryy$$Q'77;5sSA	J	'5		#q	)
u||C|GK 
(	' 
(	' 
(	's   A#E7E
E
E*c                    [        [        R                  R                  S5      R	                  S5      / SQS9n[        SSSS9Ul        [        U 5       nUR                  S	U5        UR                  S	5      nUn[        R                  " X4S
S9  UR                  S	UR                  S9nUn[        R                  " X4S
S9  UR                  S	S/S9nUR                  S S 2S/4   n[        R                  " X45        S S S 5        [        [        [        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9Ul        [        U 5       nUR                  S	U5        UR                  S	5      nUn[        R                  " X4S
S9  UR                  S	UR                  S9nUn[        R                  " X4S
S9  UR                  S S 2S/4   nUR                  S	S/S9n[        R                  " X4S
S9  UR                  S S 2SS/4   nUR                  S	SS/S9n[        R                  " X4S
S9  S S S 5        [        U 5       nUR                  S	U5        UR                  S	U5        UR                  S S 2SS/4   n[        XD/5      nUR                  S	SS/S9n[        R                  " X4S
S9  S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr   r"      )r#   r#   r$   r$   r-   z20130101 9:30r"   minperiodsfreqr)   T)	by_blocksr#   r      )sizer%   r   axisr$   )r   r2   r3   r4   r5   r   r'   r   appendr9   r7   r8   r(   locr   integersreshape)r;   r)   r<   resultr=   s        r>   test_select_with_dupsrQ   >   s   	
		a 009CW
B /2EBBH	J	'5T2d#
f$?dBJJ7
f$?dSE266!cU(#
f/ 
(  
		%%a(88A, 		%%a(11!Rb1AII"aPc
		
 
B /2EBBH	J	'5T2d#
f$?dBJJ7
f$?66!cU(#dSE2
f$?66!c3Z-(dS#J7
f$?# 
(( 
J	'5T2T266!c3Z-(8./dS#J7
f$? 
(	'g 
(	'> 
(	'( 
(	's'   B'L&C"L#A-L4
L #
L14
Mc                    [        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS9S	9n[        US
5        UR                  S
U5        UR                  S
SS/S9nUR                  SS/S9n[        R                  " XC5        UR                  S
S/5      nUR                  SS/S9n[        R                  " XC5        [        U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                  " XC5        [        U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                  " XC5        [        U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                  " XC5        S S S 5        g ! , (       d  f       g = f)Nr   rA   ABCDdtype
2000-01-01r"   r$   rD   r(   r'   r)   r#   r-   zcolumns=['A', 'B']data_columnszA > 0r   Tr%   D)r   r   r2   r3   r4   r5   r   listobjectr   r   rL   r9   reindexr7   r8   r#   )r;   r<   r)   rP   r=   s        r>   test_selectr^      s   	J	'5II!!!$44W=$v,f5\2C@

 	eT"T2dS#J7::sCj:1
h/ d&:$<=::sCj:1
h/ 	eT"T2SE2dWISzBddQh<''c
';
h/ 	eT"T2D1dWISzBddQh<''c
';
h/ 	eT"T2SE2dWISzBddQh<''c
';
h/K 
(	'	's   HH33
Ic                 j   [        U 5       n[        [        SSS9[        R                  R                  S5      R                  S5      S.5      n[        US5        UR                  SUSS/S	9  UR                  SS
5      nX"R                  [        S5      :     n[        R                  " XC5        [        [        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S5        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                  " XC5        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                  " XC5        M1     [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      S.5      n[        US5        UR                  SU5        UR                  SS5      nUR!                  [#        UR$                  5      SS S/S 9n[        R                  " XC5        [        [        R                  R                  S5      R	                  S5      [        R                  R                  S5      R	                  S5      [        R&                  " SS!S"9S#.5      n[        US$5        UR                  S$U5        UR                  S$S%5      nUR!                  [#        UR$                  5      SS S/S 9n[        R                  " XC5        S S S 5        [        U 5       n[        [)        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                  " XC5        [        R.                  UR0                  S'   X"S-   S.:     nUR                  S/USSS09  UR                  S/S+S,9n[        R                  " XC5        [        [)        S&5      [)        S&5      S'.S(S"9nUS)   S-   R+                  [,        5      US)'   [        R.                  UR0                  S1'   X"S-   S.:     nUR                  S2USS	9  UR                  S2S+S,9n[        R                  " XC5        S S S 5        [        U 5       n[        S3[        R&                  " S45      R3                  S55      -  [5        [#        S65      [6        S"9[5        [)        S75       Vs/ s H  nS8U 3PM
     sn[6        S"9S99nX"S   S:     nUR                  SUSS	9  [        R8                  " S5      nUR                  SS:/S,9n[        R                  " XC5        S S S 5        g ! , (       d  f       GNw= f! , (       d  f       N= fs  snf ! , (       d  f       g = f);N
2012-01-01,  rE   r   )tsr#   r)   rc   r#   rX   ts>=Timestamp('2012-02-01')
2012-02-01)   r   r$   r-   r   r\   r   rB   rf   r   boolvT)Ttruer   z	boolv == F)Ffalser   rH   )r#   r$   df_intzindex<10 and columns=['A']r"   r&   f8rT   )r#   r$   r'   df_floatzindex<10.0 and columns=['A']   colsvaluesfloat64ro   df1
values>2.0r.   rp   g       @df2rY   r'   r   df4皙?x   )   rB   rS   ry   zi-rW   z	A>np_zero)r   r   r
   r2   r3   r4   r5   r   rL   r9   rc   r   r7   r8   rM   rg   r]   r[   r'   arangerangeapplystrnanilocrO   r   r\   rq   )r;   r<   r)   rP   r=   vinp_zeros           r>   test_select_dtypesr      sy   	J	'5!,<YY**1-==cB
 	eT"T2T3K8d$ABeey667
h/ II!!!$44V<sCj
 8 %qsH}gk7eT"T2D1hh$&'//g/G"A\\$)A3#w\PF!!(3 # hh%'(00#w0H$A\\$)A3#w\PF!!(3 %
 YY**1-44R8YY**1-44R8
 	eX&Xr"h(DE::DN1R$83%:H
h/ YY**1-44R8YY**1-44R82T2
 	eZ(Z$j*HI::DN1R$83%:H
h/y 
(| 
J	'5b	U2Y?yQj2o,,S16
UBT2e<8lS()
h/ VV
lS()UBT?e<8
h/ b	U2Y?yQj2o,,S16
VV
lS()UBT2e<8
h/E 
(L 
J	'5"))C.((11$v,f55959a2aS95VD
 gk?T2D1**Q-d;-8
h/ 
(	'I 
(	'| 
(	'T 6	 
(	's9   N W<E9X+AX$ XA$X$<
X
XX$$
X2c                    [        U 5       n[        [        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S5        UR                  SU/ SQS9  UR                  SS5      nX3R                  [        S5      :     n[        R                  " XT5        UR                  SS5      nUUR                  [        S5      :  UR                  R!                  / SQ5      -     n[        R                  " XT5        / SQ[        S5       Vs/ s H	  nSUS
 3PM     sn-   nUR                  SS5      nX3R                  [        S5      :  UR                  R!                  U5      -     n[        R                  " XT5        [        S	S5      nUR                  SS5      nX3R"                  R!                  U5         n[        R                  " XT5        [%        U5      S	:X  d   e['        UR                  SS	 R(                  5      nUR                  SS5      nX3R                  R!                  UR(                  5         n[        R                  " XT5        [%        U5      S	:X  d   e S S S 5        g s  snf s  snf ! , (       d  f       g = f)Nr`   ra   rb   r   a2   bcd   03d)rc   r#   r$   usersr)   rX   rd   re   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   r
   r2   r3   r4   r5   r{   r   rL   r9   rc   r   r7   r8   r   isinr$   lenr   rp   )r;   r<   r   r)   rP   r=   selectors          r>   test_select_with_many_inputsr     sy   	J	'5!,<YY**1-==cB3Z%"*%#+ ).c
3
1Qqg;
34	

 	eT"T2,EF d$ABeey667
h/ d$WXUUi--1OO
 	h/ #59%E9a!Ck9%EEd$TUuu	, 77288==;RRS
h/c?dL1ddii)*
h/6{c!!! q,,-dM2eejj12
h/6{c!!!Y 
(	' 4& &F9 
(	's,   A&K
2K CK
K/EK
 
K


Kc                    [        U5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS9S	9n[        US
5        UR                  S
U5        UR                  S
5      n[        UR                  S
SS95      n[        U5      n[        R                  " XF5        [        UR                  S
SS95      n[!        U5      S:X  d   e[        U5      n[        R                  " XF5        [        UR                  S
SS95      n[        U5      n[        R                  " Xd5        S S S 5        X-  n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        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        X-  n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        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                  " Xc5        [        R                  " U[+        US
5      5        [        U5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS9S	9n	UR                  SU	SS9  U	R-                  5       R/                  SR0                  S9n
SU
S'   UR                  SU
5        [        X/SS9nUR3                  SS/SS9n[        UR3                  SS/SSS95      n[        U5      n[        R                  " XF5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN2= f! , (       d  f       GN= f! , (       d  f       g = f) Nr   rA   rS   rT   rV   r"   r$   rD   rW   r)   T)iterator	chunksizerf   df_non_table)keyz0can only use an iterator or chunksize on a tablematchr*   )r   r,   rr   rX   {}_2r-   r   r   rt   r   rJ   )r   )r   r   )r   r   r2   r3   r4   r5   r   r[   r\   r   r   rL   r9   r   r7   r8   r   to_hdfpytestraises	TypeErrorr   copyrenamer,   select_as_multiple)tmp_pathr;   r<   r)   r=   resultsrP   pathmsgrr   rt   s              r>   test_select_iteratorr   O  s   	J	'5II!!!$44W=$v,f5\2C@

 	eT"T2<<%u||D4|89
h/u||DA|677|q   
h/u||DA|67
f/- 
(0  D	
		a 009d6l&1r<
B
 IIdI'
<C	y	,~3 
- 
y	,~5 
-  D	
		a 009d6l&1r<
B
 IIdWI-8D$!45GG_Fw<1&%&(4"67 
J	'5II!!!$44W=$v,f5\2C@

 	UCd3hhj6E
UC SJQ' ++UENU+K$$eU^eq$Q
 
h/' 
(	'u 
(	'D 
-	, 
-	,* 
(	's1   EPP	P%9C?P7
P
P"%
P47
Qc                 8   Sn[        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9n[        US5        UR                  SU5        UR                  S   nUR                  S   nUR                  S5      n[        R                  " X65        SU S3nUR                  SUS9n[        R                  " X65        SU S3nUR                  SUS9n[        R                  " X65        SU SU S3nUR                  SUS9n[        R                  " X65        S S S 5        [        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9n[        US5        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                  " X65        SU S3n[        UR                  SXqS95      n[!        U5      n[        R                  " X65        SU S3n[        UR                  SXqS95      n[!        U5      n[        R                  " X65        SU SU S3n[        UR                  SXqS95      n[!        U5      n[        R                  " X65        S S S 5        g ! , (       d  f       GN= f! , (       d  f       g = f)N     @r    rB   rS   rT   rV   r   r1   rD   rW   r)   r   
index >= ''r.   
index <= '' & index <= 'r   r/   r   )r   r   r2   r3   r4   r5   r   r[   r\   r   r   rL   r'   r9   r7   r8   r   )	r;   r   r<   r=   beg_dtend_dtrP   r/   r   s	            r>   "test_select_iterator_complete_8014r     s    I 
J	'5II!!!$44[A$v,f5\6D

 	eT"T8$"# d#
h/ VHA&d%0
h/ VHA&d%0
h/ VHN6(!<d%0
h/A 
(F 
J	'5II!!!$44[A$v,f5\6D

 	eT"T8$"# u||DI|>?
h/ VHA&u||D|KL
h/ VHA&u||D|KL
h/ VHN6(!<u||D|KL
h/C 
(	'G 
(	'F 
(	's   E K9!FL9
L
Lc                 0   Sn[        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9n[        US5        UR                  SU5        UR                  S   nUR                  S   nSU S3n[        UR                  SXaS95      n[        U5      nX3R                  U:     n	[        R                   " X5        SU S3n[        UR                  SXaS95      n[        U5      nX3R                  U:*     n	[        R                   " X5        SU SU S3n[        UR                  SXaS95      n[        U5      nX3R                  U:  UR                  U:*  -     n	[        R                   " X5        S S S 5        [        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9n[        US5        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 S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r   rS   rT   rV   r   r1   rD   rW   r)   r   r   r   r   r   r   r   z	index > 'r   r   r   r2   r3   r4   r5   r   r[   r\   r   r   rL   r'   r9   r   r7   r8   r   
r;   r   r<   r=   r   r   r/   r   rP   	rexpecteds
             r>   &test_select_iterator_non_complete_8014r     s]    I 
J	'5II!!!$44[A$v,f5\6D

 	eT"T8$"# VHA&u||D|KL^^v56	
i0 VHA&u||D|KL^^v56	
i0 VHN6(!<u||D|KLnn68>>V;STU	
i0? 
(D 
J	'5II!!!$44[A$v,f5\6D

 	eT"T8$# F81%u||D|KLCL    
(	'E 
(	'D 
(	's   FI69B3J6
J
Jc                 2   Sn[        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        SSSS	9S
9n[        US5        UR                  SU5        UR                  S   nUR                  US-
     nSU S3n[        UR                  SXaS95      n[        U5      nX3R                  U:     n	[        R                   " X5        SU S3n[        UR                  SXaS95      n[#        U5      S:X  d   e[        U5      nX3R                  U:*     n	[        R                   " X5        SU SU S3n[        UR                  SXaS95      n[#        U5      S:X  d   e[        U5      nX3R                  U:  UR                  U:*  -     n	[        R                   " X5        SU SU S3n[        UR                  SXaS95      n[#        U5      S:X  d   e S S S 5        g ! , (       d  f       g = f)Ni'  r   r   rS   rT   rV   r   r1   rD   rW   r)   r   r   r   r   r   r   r   z' & index >= 'r   r   s
             r>   &test_select_iterator_many_empty_framesr   '  s    I 
J	'5II!!!$44[A$v,f5\6D

 	eT"T8$"	A. VHA&u||D|KL^^v56	
i0 VHA&u||D|KL7|q   ^^v56	
i0 VHN6(!<u||D|KL 7|q   nn68>>V;STU	
i0 VHN6(!<u||D|KL 7|q   c 
(	'	's   G0H
Hc                    [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        U 5       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!                  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      [        S9[        SSSS9S	9nUR)                  SU5        Sn	[*        R,                  " [.        U	S9   UR!                  SS5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   rA   rS   rT   rV   r"   r$   rD   rW   framer*   r+   zindex>=datedatezcolumns=['A', 'D']z	columns=Ar#   rZ   df_timez day is out of range for month: 0r   zindex>0)r   r2   r3   r4   r5   r   r[   r\   r   r   r6   r'   r   r   envscoper9   rM   r7   r8   rL   r   r   
ValueError)
r;   r)   r<   r   crit1crit2crit3rP   r=   r   s
             r>   test_frame_selectr   b  s   	
		a 009d6l&1r<
B 
J	'5		'2g	.xxB1%]#yyv&$...$g~666$%#s+,
f/gw/66!cU(#
f/ II!!!$44W=$v,f5\2C@

 	Y#0]]:S1LLI. 25 
(	'4 215 
(	's%   !EG.9GG.
G+	'G..
G<c           
      (   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nS
US'   SUR                  UR                  SS S4'   [        U 5       n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                   " X45        UR                  SS5      nUR                  UR                  UR                  S   :  UR                  S
:H  -     n[        R                   " X45        UR                  SS5      nUR                  UR                  UR                  S   :  UR                  S:H  -     n[        R                   " X45        UR                  SS5      nUR                  UR                  UR                  S   :  UR                  UR                  S   :*  -  UR                  S:H  -     n[        R                   " X45        UR                  SS5      nUR                  UR                  S:g     n[        R                   " X45        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                   " X45        UR                  SS5      nUR                  UR                  UR                  S   :     R-                  SS/S9n[        R                   " X45        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f) Nr   rA   rS   rT   rV   r"   r$   rD   rW   r   stringr   r   rB   r)   r*   r,   rY   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   r2   r3   r4   r5   r   r[   r\   r   rM   r'   r   r6   r9   r   r7   r8   r   r   NotImplementedErrorr(   
differencer]   )r;   r)   r<   rP   r=   r   s         r>   test_frame_select_complexr     s    

		a 009d6l&1r<
B
 BxL&+BFF288Aa=("#	J	'5		$7(	D d$FG66288bhhqk1bii56HIJ
f/d$FG66288bhhqk1bii56HIJ
f/ d$FG66288bhhqk1bii56HIJ
f/K
 66hh!$RXXa[)@AyyE!#
 	f/ dO466"))u,-
f/ G]].c:LL01 ; d$:;66!RZZ22C:>>?
f/ d$NO66"((RXXa[01993*9M
f/Y 
(	'B ;:C 
(	's&   HNM2+B>N2
N 	<N
N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,   rY   zA=[2,3]r.   r   )   r   datarf   l1l2)r!   rW   )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   r2   r3   r4   r5   r   from_tuplesr{   r'   tolistr   r9   r7   r8   )r   pphhparams	selectionr   jhistr=   l0r<   rP   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           
      2   [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9n[        U 5       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        S S S 5        g ! , (       d  f       NK= f! , (       d  f       N(= f! , (       d  f       g = f)Nr   rA   rS   rT   rV   r"   r$   rD   rW   r)   r*   r+   z unable to collapse Joint Filtersr   zcolumns=['A'] | columns=['B']z!columns=['A','B'] & columns=['C'])r   r2   r3   r4   r5   r   r[   r\   r   r   r6   r   r   r   r9   )r;   r)   r<   r   s       r>   test_invalid_filteringr     s     

		a 009d6l&1r<
B 
J	'5		$7	+0]].c:LL>? ; ]].c:LLBC ; 
(	'
 ;: ;: 
(	's<   !-DC&!!DC7D&
C4	0D7
D	D
Dc                    [        U 5       n[        [        R                  R	                  S5      R                  S5      [        [        S5      [        S9[        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                   " X45        UR                  SS5      nX"R                  S
:g     n[        R                   " X45        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                   " X45        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                   " X45        UR                  SS5      nX"R(                  S:g     n[        R                   " X45        S S S 5        g ! , (       d  f       g = f)Nr   rA   rS   rT   rV   r"   r$   rD   rW   nonex    r)   rX   zx=nonezx!=nonert   r   intdf3zint=2zint!=2)r   r   r2   r3   r4   r5   r   r[   r\   r   rM   r'   rL   r9   r   r7   r8   r   r~   r   r   )r;   r<   r)   rP   r=   rt   s         r>   test_string_selectr     s   	J	'5II!!!$44W=$v,f5\2C@
 3%'rxx!}c!"T2SE2dH-ddfn%
f/dI.ddfn%
f/ggi$&FFS !UCse4eY/tCEE{#
f/ 5	'(rxx!}e#$UBeW5eW-ffk?
f/eX.ffk?
f/S 
(	'	's   H2I
Ic           
         [        [        R                  R                  S5      R	                  S5      [        [        S5      [        S9[        SSSS9S	9nUR                  5       R                  S
R                  S9nSUS'   [        U 5       n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*                  " XV5        UR!                  SSS/SS9n[(        R*                  " XV5        UR!                  SS/SS/SS9n[-        X/SS9nXfR.                  S:  UR0                  S:  -     n[(        R*                  " XVSS9  UR!                  SS/S SS9n[-        X/SS9nUS!S  n[(        R*                  " XV5        UR                  5       R3                  S5      nUR#                  SU5        S"n[        R                  " [4        US9   UR!                  SS/SS/SS9  S S S 5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNf= f! , (       d  f       GNB= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)#Nr   rA   rS   rT   rV   r"   r$   rD   rW   r   r-   r   r   zkeys must be a list/tupler   zA>0zB>0rr   )r/   r   r#   rX   rt   z!'No object named df3 in the file'r   z!'No object named df4 in the file'rv   r   rJ   r   F)
check_freqzindex>df2.index[4]rf   z,all tables must have exactly the same nrows!)r   r2   r3   r4   r5   r   r[   r\   r   r   r   r,   r   r   r   r   r   rL   KeyErrorr9   r7   r8   r   r#   r$   headr   )r;   rr   rt   r<   r   rP   r=   r   s           r>   test_select_as_multipler   E  s   

		a 009d6l&1r<C
 ((*

FMM

2CCJ	J	'5)]]9C0$$T%%$P 1 	UCsCj9UC  ]]9C0$$T%%$P 1 ]]9C0$$dVE5>E$R 1 2]]83/$$uenu %  0
 ]]83/$$eWUENU$S 0 ]]8+NO$$uenu %  P eeU^4++GE5>E , 
 	f/++E%RW+X
f/ ))EN5%.5 * 
 3*1-ZZ!^

Q?@
f5A ))EN"6 * 
 3*1-AB<
f/ hhjooa UC <]]:S1$$uenu %  2y 
(	' 10 10 10 0/
 0/ POF 21y 
(	's   O!)M$=AO!M6!O!8N#O!0N!O!'N,<!O!N>3E
O!=OO!$
M3	.O!6
N	 O!
N	O!
N)	$O!,
N;	6O!>
O	O!
O	O!!
O/c                    [        U 5       n[        [        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                  " XC5        S S S 5        g ! , (       d  f       g = f)Nr   rn   rq   rT   ro   r"   r   )z13.0z14.0z15.0)g      @g      @g      @)r   rB   rf   )r'   r)   Tru   rs   r.   )r   r   r{   r|   r}   r2   r~   r   rL   r9   r7   r8   )r;   r<   r)   r=   rP   s        r>   test_nan_selection_bug_4858r     s    	J	'5aE!H=YOj2o,,S16
VV
-I
 	T2DAd,7
f/ 
(	'	's   B'B<<
C
c                 
   [        / SQ/ SQS.5      nXR                  S:H     n[        U 5       nUR                  SUSSS9  UR	                  SS	5      nS S S 5        [
        R                  " UW5        g ! , (       d  f       N&= f)
N)r   r   r   r   test & testr   r   e)r   r   r   rB   rf   r   r      )r   r   r   testr*   Tr   za = "test & test")r   r   r   rL   r9   r7   r8   )r;   r)   r=   r<   rP   s        r>   (test_query_with_nested_special_characterr     sy    	C)	

B $$-'(H	J	'5VRdCf&9: 
( (F+ 
(	's   %A44
Bc                    [        S/ SQ05      n[        U 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                  " XT5        SnUR                  SSUS	 35      nUR
                  S/S S 24   n[        R                  " XT5        S S S 5        g ! , (       d  f       g = f)Nr#   )g~  eA$  eAg'1  eAr   r*   Tr   g  eAzA < z.4fg   eAzA > r   r   r   zA == )r   r   rL   r9   emptyrM   r7   r8   )r;   r)   r<   cutoffrP   r=   exacts          r>   test_query_long_float_literalr     s    	CLM	NB	J	'5VRdC fVCL&9:||| fVCL&9:661a&!)$
h/feC[&9:661#q&>
h/ 
(	'	's   CC''
C5c           	      F   [        SS/[        SSS9SS/SS/S./ SQS	9n[        U 5       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                  " XT5        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  pzU
 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                  " XT5        M~     GM\     S S S 5        g ! , (       d  f       GMO  = f! , (       d  f       GM  = f! , (       d  f       g = f)#N
2014-01-01z
2014-01-02r   rb   rw   g333333?r   )r   	real_datefloatr   r-   r   r*   Tr   zreal_date > tsr.   )<>==g @r1   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   r  r   r  )r   r   r   rL   r   r9   rM   r7   r8   pd	Timedeltatyper   r   r   r   zip)r;   r)   r<   rc   rP   r=   opr   queryr   cols              r>   test_query_compare_column_typer    s   	!<0#L!<3Zq6		
 6
B 
J	'5VRdC|$f,<=661#q&>
h/"B4<!8",,q#:NOt2's)DG9<MN]]9C8LLuL5 98 P A4%qB+%GC7C]]:S9LLuL5 :9 5 *,I %qBfE::!vvqc1f~H3Y!vvqc1f~H!vvb!e}H%%h7' # 
(	' 98 :91 
(	's=   B6H!G,	2?H1G?	B!H,
G<6	H?
H		H
H r/   r    )Nc                     [        / SQ5      nU S-  n[        U5       nUR                  SUS5        [        USUS9n[        R
                  " XR5        S S S 5        g ! , (       d  f       g = f)N)r   r   r   zempty_where.h5r)   tr.   )r   r   r6   r   r7   r8   )r   r/   r)   r   r<   rP   s         r>   test_select_empty_wherer    sX     
9	B&&D	$5		$C %U3
f) 
s   5A
A*c                 .   U S-  n[        [        / SQ/ SQ5      SS/S9nS n[        U5       nUR                  SUSS	S
9  UR	                  SSS9R                  S5      R                  S5      nS S S 5        US   S   nXS:X  d   eg ! , (       d  f       N= f)Nzlarge_int.h5)r   r   r   d)l l l {   r   yr-   r   TFru   zy==-9223372036854775801r.   r   )r   r  r   rL   r9   get)r   r   r)   rP   r1   r=   s         r>   test_select_large_integerr    s    n$D	 S	
 c

B F	$1	$e<&(ABFFsKOOPQR 
 #wqzH 
s   AB
B)1numpyr2   r   pandas._libs.tslibsr   pandasr  r   r   r   r   r   r	   r7   r
   r   r   r   r   pandas.tests.io.pytables.commonr   r   pandas.io.pytablesr   mark
single_cpu
pytestmarkr?   rQ   r^   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  parametrizer  r  r      r>   <module>r!     s      )    
 $[[##
L@A@H&0Rq0h-"`O0dJ0Z6!r8!v"/T70t80vD,+0\HV0",0,38l 2r7B"?@* A*r   