
    Owg                     l   d dl Zd dlZd dlmZ d dlZd dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZmZ d dlmZ ej0                  j2                  Zd Zd Zd Zd	 Zd
 Zd Z d Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)d Z*d Z+d Z,d Z-ej0                  j]                  ddddg dgg      d        Z/d Z0y)    N)	Timestamp)	DataFrameHDFStoreIndex
MultiIndexSeries_testingbdate_rangeconcat
date_rangeisnaread_hdf)_maybe_removeensure_clean_store)Termc                    t        g dg dgg dg dgddg      }t        t        j                  j	                  d      j                  d	      |g d
      }t        |       5 }|j                  d|d       |dg   }t        j                  |j                  ddg      |       t        j                  |j                  dd      |       d d d        t        t        j                  j	                  d      j                  d      |d      }t        |       5 }|j                  d|d       t        j                  |j                  dd      |       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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         [/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_select.pytest_select_columns_in_wherer?      sW    ,.EF-/MN:&E 

		a 009
B 
J	' S5		$7	+se9
ell4#l?J
ell4lGRS 	ryy$$Q'77;5sSA	J	' L5		#q	)
u||C|GKL LS SL Ls   $A*E <E, E),E5c           
         t        t        j                  j                  d      j	                  d      g d      }t        ddd      |_        t        |       5 }|j                  d	|       |j                  d	      }|}t        j                  ||d
       |j                  d	|j                        }|}t        j                  ||d
       |j                  d	dg      }|j                  d d dgf   }t        j                  ||       d d d        t        t        t        j                  j                  d      j	                  d      g d      t        t        j                  j                  d      j                  ddd      j!                  dd      ddg      gd      }t        ddd      |_        t        |       5 }|j                  d	|       |j                  d	      }|}t        j                  ||d
       |j                  d	|j                        }|}t        j                  ||d
       |j                  d d dgf   }|j                  d	dg      }t        j                  ||d
       |j                  d d ddgf   }|j                  d	ddg      }t        j                  ||d
       d d d        t        |       5 }|j                  d	|       |j                  d	|       |j                  d d ddgf   }t        ||g      }|j                  d	ddg      }t        j                  ||d
       d d d        y # 1 sw Y   CxY w# 1 sw Y   xY w# 1 sw Y   y xY w)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	' 05T2d#
fh$?dBJJ7
fh$?dSE266!cU(#
fh/0  
		%%a(88A, 		%%a(11!Rb1AII"aPc
		
 
B /2EBBH	J	' @5T2d#
fh$?dBJJ7
fh$?66!cU(#dSE2
fh$?66!c3Z-(dS#J7
fh$?#@( 
J	' @5T2T266!c3Z-(8X./dS#J7
fh$?@ @g0 0>@ @(@ @s'   B3MC7MA4M'MM$'M0c           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }t        |d
       |j                  d
|       |j                  d
ddg      }|j                  ddg      }t        j                  ||       |j                  d
dg      }|j                  ddg      }t        j                  ||       t        |d
       |j                  d
|dg       |j                  d
dgddg      }||j                   dkD     j                  ddg      }t        j                  ||       t        |d
       |j                  d
|d       |j                  d
dgddg      }||j                   dkD     j                  ddg      }t        j                  ||       t        |d
       |j                  d
|dg       |j                  d
dgddg      }||j                   dkD     j                  ddg      }t        j                  ||       d d d        y # 1 sw Y   y xY w)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^      s6   	J	' %05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bddQh<''c
';
h/ 	eT"T2D1dWISzBbddQh<''c
';
h/ 	eT"T2SE2dWISzBbddQh<''c
';
h/K%0 %0 %0s   II##I,c                    t        |       5 }t        t        dd      t        j                  j                  d      j                  d      d      }t        |d       |j                  d|ddg	       |j                  dd
      }||j                  t        d      k\     }t        j                  ||       t        t        j                  j                  d      j                  d      ddg      }d|d<   d|j                  dddf<   |d   dkD  |d<   t        |d       |j                  d|d	       ||j                  dk(     j!                  ddg      }dD ]1  }|j                  dd| ddg      }t        j                  ||       3 ||j                  dk(     j!                  ddg      }dD ]1  }|j                  dd| ddg      }t        j                  ||       3 t        t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      d      }t        |d       |j                  d|       |j                  dd      }|j!                  t#        |j$                        dd dg       }t        j                  ||       t        t        j                  j                  d      j	                  d      t        j                  j                  d      j	                  d      t        j&                  dd!"      d#      }t        |d$       |j                  d$|       |j                  d$d%      }|j!                  t#        |j$                        dd dg       }t        j                  ||       d d d        t        |       5 }t        t)        d&      t)        d&      d'd("      }|d)   dz   j+                  t,              |d)<   |j                  d*|d	       |j                  d*d+,      }||d-   d.kD     }t        j                  ||       t        j.                  |j0                  d<   ||d-   d.kD     }|j                  d/|dd0       |j                  d/d+,      }t        j                  ||       t        t)        d&      t)        d&      d'd("      }|d)   dz   j+                  t,              |d)<   t        j.                  |j0                  d1<   ||d-   d.kD     }|j                  d2|d	       |j                  d2d+,      }t        j                  ||       d d d        t        |       5 }t        d3t        j&                  d4      j3                  d5      z  t5        t#        d6      t6        "      t5        t)        d7      D cg c]  }d8| 	 c}t6        "      9      }||d   dkD     }|j                  d|d	       t        j8                  d      }|j                  dd:g,      }t        j                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   xY wc c}w # 1 sw Y   y xY w);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      s   	J	' <05!,<YY**1-==cB
 	eT"T2T3K8d$ABbeey667
h/ II!!!$44V<sCj
 8 %qsH}gk7eT"T2D1bhh$&'//g/G" 	4A\\$)A3#w\PF!!(F3	4 bhh%'(00#w0H$ 	4A\\$)A3#w\PF!!(F3	4
 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<0| 
J	' "05b	U2Y?yQj2o,,S16
UBT2e<8blS()
h/ VV
blS()UBT?e<8
h/ b	U2Y?yQj2o,,S16
VV
blS()UBT2e<8
h/E"0L 
J	' 05"))C.((11$v,f5595a2aS5VD
 bgk?T2D1**Q-d;-8
h/0 0I<0 <0|"0 "0T 6	0 0s9   NY>FY%AY<YA0YYYYY(c                    t        |       5 }t        t        dd      t        j                  j                  d      j                  d      t        d      dgdz  dgdz  z   dgd	z  z   t        d	      D cg c]  }d|d

 c}z   d      }t        |d       |j                  d|g d       |j                  dd      }||j                  t        d      k\     }t        j                  ||       |j                  dd      }||j                  t        d      k\  |j                  j!                  g d      z     }t        j                  ||       g dt        d      D cg c]  }d|d

 c}z   }|j                  dd      }||j                  t        d      k\  |j                  j!                  |      z     }t        j                  ||       t        d	d      }|j                  dd      }||j"                  j!                  |         }t        j                  ||       t%        |      d	k(  sJ t'        |j                  dd	 j(                        }|j                  dd      }||j                  j!                  |j(                           }t        j                  ||       t%        |      d	k(  sJ 	 d d d        y c c}w c c}w # 1 sw Y   y xY w)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     s   	J	' ,"5!,<YY**1-==cB3Z%"*%#+ ).c
31Qqg;34	

 	eT"T2,EF d$ABbeey667
h/ d$WXUUi--1OO
 	h/ #59%Ea!Ck%EEd$TUruu	, 77288==;RRS
h/c?dL1bddii)*
h/6{c!!! q,,-dM2beejj12
h/6{c!!!Y," ," 4& &F9," ,"s,   A)K5KC!K#K0EK
KKc           
      	   t        |      5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }t        |d
       |j                  d
|       |j                  d
      }t        |j                  d
d            }t        |      }t        j                  ||       t        |j                  d
d            }t!        |      dk(  sJ t        |      }t        j                  ||       t        |j                  d
d            }t        |      }t        j                  ||       d d d        | |z  }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }|j#                  |d       d}t%        j&                  t(        |      5  t+        |dd       d d d        t%        j&                  t(        |      5  t+        |dd       d d d        | |z  }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }|j#                  |d
d       t        t+        |d
d            }t        |      }t!        |      dk(  sJ t        j                  ||       t        j                  |t+        |d
             t        |      5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }	|j                  d|	d       |	j-                         j/                  dj0                        }
d|
d<   |j                  d|
       t        |	|
gd      }|j3                  ddgd      }t        |j3                  ddgdd            }t        |      }t        j                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   TxY w# 1 sw Y   /xY w# 1 sw Y   y xY w) 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	' 05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
fh/-00 j D	
		a 009d6l&1r<
B
 IIdI'
<C	y	, 4~34 
y	, 6~56 j D	
		a 009d6l&1r<
B
 IIdWI-8D$!45GG_Fw<1&"%&(4"67 
J	' 05II!!!$44W=$v,f5\2C@

 	UCd3hhj6E
UC S#JQ' ++UENU+K$$eU^eq$Q
 
h/'0 0u0 0D4 46 6*0 0s1   EQ<Q.Q*/DQ7QQ'*Q47R c           
      x   d}t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }t        |d       |j                  d|       |j                  d   }|j                  d   }|j                  d      }t        j                  ||       d| d}|j                  d|      }t        j                  ||       d| d}|j                  d|      }t        j                  ||       d| d| d}|j                  d|      }t        j                  ||       d d d        t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }t        |d       |j                  d|       |j                  d   }|j                  d   }t        |j                  d|            }t!        |      }t        j                  ||       d| d}t        |j                  d||            }t!        |      }t        j                  ||       d| d}t        |j                  d||            }t!        |      }t        j                  ||       d| d| d}t        |j                  d||            }t!        |      }t        j                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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	'  05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 0F 
J	' !05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!0 !0G 0  0F!0 !0s   EL#3F'L0#L-0L9c           
      d   d}t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }t        |d       |j                  d|       |j                  d   }|j                  d   }d| d}t        |j                  d||            }t        |      }||j                  |k\     }	t        j                   |	|       d| d}t        |j                  d||            }t        |      }||j                  |k     }	t        j                   |	|       d| d| d}t        |j                  d||            }t        |      }||j                  |k\  |j                  |k  z     }	t        j                   |	|       d d d        t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }t        |d       |j                  d|       |j                  d   }d| d}t        |j                  d||            }dt#        |      k(  sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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	' 15II!!!$44[A$v,f5\6D

 	eT"T8$"# VHA&u||D|KLX^^v56	
i0 VHA&u||D|KLX^^v56	
i0 VHN6(!<u||D|KLhnn68>>V;STU	
i0?1D 
J	' !5II!!!$44[A$v,f5\6D

 	eT"T8$# F81%u||D|KLCL   ! !E1 1D! !s   F0JB?J&J#&J/c           
      Z   d}t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd	      
      }t        |d       |j                  d|       |j                  d   }|j                  |dz
     }d| d}t        |j                  d||            }t        |      }||j                  |k\     }	t        j                   |	|       d| d}t        |j                  d||            }t#        |      dk(  sJ t        |      }||j                  |k     }	t        j                   |	|       d| d| d}t        |j                  d||            }t#        |      dk(  sJ t        |      }||j                  |k\  |j                  |k  z     }	t        j                   |	|       d| d| d}t        |j                  d||            }t#        |      dk(  sJ 	 d d d        y # 1 sw Y   y xY w)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	' 1!5II!!!$44[A$v,f5\6D

 	eT"T8$"	A. VHA&u||D|KLX^^v56	
i0 VHA&u||D|KL7|q   X^^v56	
i0 VHN6(!<u||D|KL 7|q   hnn68>>V;STU	
i0 VHN6(!<u||D|KL 7|q   c1! 1! 1!s   H	H!!H*c           
         t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        |       5 }|j                  d
|d       |j                  t        |      dz     }t        d      }|j                  j                  d   |k(  sJ d}d}|j!                  d
||g      }|j"                  |d ddgf   }t%        j&                  ||       |j!                  d
|g      }|j"                  d d dgf   }t%        j&                  ||       t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j)                  d|       d}	t+        j,                  t.        |	      5  |j!                  dd       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)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u~666$%#s+,
fh/gw/66!cU(#
fh/ II!!!$44W=$v,f5\2C@

 	Y#0]]:S1 	/LLI.	/5/ /4	/ 	/5/ /s%   *E&H G4#H 4G=	9H  H	c           	      6   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }d
|d<   d|j                  |j                  dd df<   t        |       5 }|j                  d|ddg       |j                  dd      }|j                  |j                  |j                  d   kD  |j                  dk(  z     }t        j                   ||       |j                  dd      }|j                  |j                  |j                  d   kD  |j                  d
k(  z     }t        j                   ||       |j                  dd      }|j                  |j                  |j                  d   kD  |j                  dk(  z     }t        j                   ||       |j                  dd      }|j                  |j                  |j                  d   kD  |j                  |j                  d   k  z  |j                  dk(  z     }t        j                   ||       |j                  dd      }|j                  |j                  dk7     }t        j                   ||       d}t#        j$                  t&        |      5  |j                  dd       d d d        |j                  dd      }|j                  d d |j(                  j+                  ddg      f   }t        j                   ||       |j                  dd      }|j                  |j                  |j                  d   kD     j-                  ddg      }t        j                   ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w) 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	' ,05		$7(	D d$FG66288bhhqk1bii56HIJ
fh/d$FG66288bhhqk1bii56HIJ
fh/ d$FG66288bhhqk1bii56HIJ
fh/K
 66hh!$RXXa[)@AyyE!#
 	fh/ dO466"))u,-
fh/ G]].c: 	2LL01	2 d$:;66!RZZ22C:>>?
fh/ d$NO66"((RXXa[01993*9M
fh/Y,0 ,0B	2 	2C,0 ,0s&   HN&N9CNN	NNc                    | dz  }| dz  }t        dg di      }|j                  |ddddg       t        |dd	
      }t        t        j                  j                  d      j                  d      dgt        j                  t        d      D cg c]  }t        d      D ]  }||f  c}}ddg            }|j                  |ddd       t        |dd
      }|j                  j                         }	t        |      5 }
|
j                  dd
      }t        j                  ||       d d d        t        |dd
      }t        j                  ||       |j                  }t        |dd
      }t        j                  ||       t        |dd
      }t        j                  ||       t        |dd
      }t        j                  ||       t        |dd
      }t        j                  ||       t        |      5 }
|
j                  dd
      }t        j                  ||       |
j                  dd
      }t        j                  ||       |
j                  dd
      }t        j                  ||       |
j                  dd
      }t        j                  ||       d d d        y c c}}w # 1 sw Y   xY w# 1 sw Y   y xY w)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8uQx8!aV8V8t
D 	KK3wK7D7H 
			!B	" 0d'2
fh/0 b$g.F&(+ OOEb$j1F&(+b$&:;F&(+b$&CDF&(+b$&@AF&(+ 
" 0d*5
fh/d*>?
fh/d*GH
fh/d*DE
fh/0 0A 90 0,0 0s   J/*J5B%K5J?Kc           	      4   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }t        |       5 }|j                  d
|d       d}t        j                  t        |      5  |j                  d
d       d d d        t        j                  t        |      5  |j                  d
d       d d d        d d d        y # 1 sw Y   HxY w# 1 sw Y   xY w# 1 sw Y   y xY w)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	' 
D5		$7	+0]].c: 	@LL>?	@ ]].c: 	DLLBC	D
D 
D
	@ 	@	D 	D
D 
Ds<   *2DC6/#DD%D6C?	;DD	DDc           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d      t              t        ddd      	      }d
|d<   d|j                  |j                  dd df<   |j                  d|dg       |j                  dd      }||j                  d
k(     }t        j                   ||       |j                  dd      }||j                  d
k7     }t        j                   ||       |j#                         }t        j$                  |j                  |j                  dk(  df<   |j                  d|dg       |j                  dd      }|t'        |j                           }t        j                   ||       d|d<   d|j                  |j                  dd df<   |j                  d|dg       |j                  dd      }||j(                  dk(     }t        j                   ||       |j                  dd      }||j(                  dk7     }t        j                   ||       d d d        y # 1 sw Y   y xY w)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	' )05II!!!$44W=$v,f5\2C@
 3%'rxx!}c!"T2SE2dH-bddfn%
fh/dI.bddfn%
fh/ggi$&FFS !UCse4eY/tCEE{#
fh/ 5	'(rxx!}e#$UBeW5eW-bffk?
fh/eX.bffk?
fh/S)0 )0 )0s   III&c           	      (   t        t        j                  j                  d      j	                  d      t        t        d      t              t        ddd      	      }|j                         j                  d
j                        }d|d<   t        |       5 }d}t        j                  t        |      5  |j!                  d ddgd       d d d        |j#                  d|ddg       |j#                  d|       t        j                  t        |      5  |j!                  d ddgd       d d d        t        j                  t        |      5  |j!                  d gddgd       d d d        d}t        j                  t$        |      5  |j!                  ddgddgd       d d d        t        j                  t$        |      5  |j!                  dgddgd       d d d        t        j                  t$        d      5  |j!                  ddgddgd       d d d        |j'                  dddg      }|j!                  dgddgd      }t)        j*                  ||       |j!                  dddgd      }t)        j*                  ||       |j!                  ddgddgd      }t-        ||gd      }||j.                  dkD  |j0                  dkD  z     }t)        j*                  ||d       |j!                  ddgd d      }t-        ||gd      }|d!d  }t)        j*                  ||       |j                         j3                  d      }|j#                  d|       d"}t        j                  t4        |      5  |j!                  ddgddgd       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   _xY w# 1 sw Y   .xY w# 1 sw Y    xY w# 1 sw Y   xY w# 1 sw Y   `xY w# 1 sw Y   y xY w)#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 	Q$$T%%$P	Q 	UCsCj9UC  ]]9C0 	Q$$T%%$P	Q ]]9C0 	S$$dVE5>E$R	S 2]]83/ 	$$uenu % 	
 ]]83/ 	T$$eWUENU$S	T ]]8+NO 	$$uenu % 	 eeU^4++GE5>E , 
 	fh/++E%RW+X
fh/ ))EN5%.5 * 
 3*1-XZZ!^

Q?@
fh5A ))EN"6 * 
 3*1-AB<
fh/ hhjooa UC <]]:S1 	$$uenu % 	y? ?	Q 	Q	Q 	Q	S 	S	 	
	T 	T	 	F	 	y? ?s   P7N.APN;0#PO+%PO)#PO"$#PO/ E$PO<P.N8	3P;O	 PO	PO	P"O,	'P/O9	4P<P	PPc                    t        |       5 }t        t        d      t        d      dd      }|d   dz   j                  t              |d<   t
        j                  |j                  d<   t        g dg d	dg d
      }|j                  d|ddg       |j                  dd      }t        j                  ||       d d d        y # 1 sw Y   y xY w)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	' 05aE!H=YOj2o,,S16
VV
-I
 	T2DAd,7
fh/0 0 0s   B3CCc                    t        g dg dd      }||j                  dk(     }t        |       5 }|j                  d|dd       |j	                  dd	      }d d d        t        j                  |       y # 1 sw Y    xY w)
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     s    	C)	

B "$$-'(H	J	' ;5VRdCf&9:; (F+; ;s   (A77B c                    t        dg di      }t        |       5 }|j                  d|dd       d}|j                  dd|d	      }|j                  sJ d
}|j                  dd|d	      }|j
                  ddgd d f   }t        j                  ||       d}|j                  dd|d	      }|j
                  dgd d f   }t        j                  ||       d d d        y # 1 sw Y   y xY w)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	' 05VRdC fVCL&9:||| fVCL&9:661a&!)$
h/feC[&9:661#q&>
h/0 0 0s   CC%%C.c           	      B   t        ddgt        dd      ddgddgdg d	      }t        |       5 }|j                  d
|dd       t	        d      }|j                  d
d      }|j                  dgd d f   }t        j                  ||       dD ]\  }ddt	        d      t        j                  dd      fD ]Q  }d| d}d| dt        |       d}	t        j                  t        |	      5  |j                  d
|       d d d        S d}dD ]K  }
|
 d| d}|
dk(  rd}	nd}	t        j                  t        |	      5  |j                  d
|       d d d        M t!        g dg d      D ]}  \  }}
|
 d| d}|j                  d
|      }|d k(  r|j                  d!gd d f   }n-|d"k(  r|j                  dgd d f   }n|j                  g d d f   }t        j                  ||        _ 	 d d d        y # 1 sw Y   MxY w# 1 sw Y   xY w# 1 sw Y   y xY w)#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    sP   	!<0#L!<3Zq6		
 6
B 
J	' '85VRdC|$f,<=661#q&>
h/" 	8B4<!8",,q#:NO 6t2's)DG9<MN]]9C8 6LLuL56 66 A4 6%qB+%GC7C]]:S9 6LLuL56 66 *,I 83 %qBfE::!vvqc1f~H3Y!vvqc1f~H!vvb!e}H%%h78'	8'8 '86 66 61'8 '8s=   B=H.G;	>H H	BH;H HHHHr/   r    )Nc                     t        g d      }| dz  }t        |      5 }|j                  d|d       t        |d|      }t	        j
                  ||       d d d        y # 1 sw Y   y xY w)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    se     
9	B&&D	$ *5		$C %U3
fb)* * *s   8AA(c                 6   | dz  }t        t        g dg d      ddg      }d }t        |      5 }|j                  d|dd	
       |j	                  dd      j                  d      j                  d      }d d d        |d   d   }||k(  sJ y # 1 sw Y   xY w)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	$ S1	$e<&(ABFFsKOOPQRS #wqzHvS S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   