
    bMh                     `   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j        j        g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j        .                    ddddg dgg          d             Z/d Z0dS )    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                            d                              d	          |g d
          }t          |           5 }|                    d|d           |dg         }t          j	        |
                    ddg          |           t          j	        |
                    dd          |           d d d            n# 1 swxY w Y   t          t          j                            d                              d          |d          }t          |           5 }|                    d|d           t          j        |
                    dd          |           d d d            d S # 1 swxY w Y   d S )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         d/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/io/pytables/test_select.pytest_select_columns_in_wherer?      sY    ,,,.E.E.EF---/M/M/MN:&  E 

	a  0099
 
 
B 
J	'	' S5		$7	+++se9
ell4#l??JJJ
ell4lGGRRRS S S S S S S S S S S S S S S 	ry$$Q''77;;5sSSSA	J	'	' L5		#q	)))
u||C|GGKKKL L L L L L L L L L L L L L L L L Ls&   4A7C77C;>C;AF##F'*F'c           
         t          t          j                            d                              d          g d          }t          ddd          |_        t          |           5 }|                    d	|           |	                    d	          }|}t          j        ||d
           |	                    d	|j                  }|}t          j        ||d
           |	                    d	dg          }|j        d d dgf         }t          j        ||           d d d            n# 1 swxY w Y   t          t          t          j                            d                              d          g d          t          t          j                            d                              ddd                              dd          ddg          gd          }t          ddd          |_        t          |           5 }|                    d	|           |	                    d	          }|}t          j        ||d
           |	                    d	|j                  }|}t          j        ||d
           |j        d d dgf         }|	                    d	dg          }t          j        ||d
           |j        d d ddgf         }|	                    d	ddg          }t          j        ||d
           d d d            n# 1 swxY w Y   t          |           5 }|                    d	|           |                    d	|           |j        d d ddgf         }t          ||g          }|	                    d	ddg          }t          j        ||d
           d d d            d S # 1 swxY w Y   d S )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99CWCWCW
 
 
B /2EBBBBH	J	'	' 05T2d##
fh$????dBJ77
fh$????dSE226!!!cU(#
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  
	%%a((88AA,,,   	%%a((11!Rb1AAII"aPPc
  		
 
 
 
B /2EBBBBH	J	'	' @5T2d##
fh$????dBJ77
fh$????6!!!cU(#dSE22
fh$????6!!!c3Z-(dS#J77
fh$????#@ @ @ @ @ @ @ @ @ @ @ @ @ @ @( 
J	'	' @5T2T26!!!c3Z-(8X.//dS#J77
fh$????@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s9   *B9D//D36D3C>LLL0BN>>OOc           
         t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd                    }t          |d	           |
                    d	|           |                    d	d
dg          }|                    d
dg          }t          j        ||           |                    d	dg          }|                    d
dg          }t          j        ||           t          |d	           |
                    d	|d
g           |                    d	dgd
dg          }||j        dk                                 d
dg          }t          j        ||           t          |d	           |
                    d	|d           |                    d	dgd
dg          }||j        dk                                 d
dg          }t          j        ||           t          |d	           |
                    d	|d
g           |                    d	dgddg          }||j        dk                                 ddg          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   rA   ABCD
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   listr   r   rL   r9   reindexr7   r8   r#   )r;   r<   r)   rP   r=   s        r>   test_selectr[      s   	J	'	' %05I!!!$$44W==$v,,''\2C@@@
 
 

 	eT"""T2dS#J77::sCj:11
h/// d&:$<==::sCj:11
h/// 	eT"""T2SE222dWISzBBbdQh<''c
';;
h/// 	eT"""T2D111dWISzBBbdQh<''c
';;
h/// 	eT"""T2SE222dWISzBBbdQh<''c
';;
h///K%0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0s   JJ99J= J=c                 v   t          |           5 }t          t          dd          t          j                            d                              d          d          }t          |d           |                    d|ddg	           |	                    dd
          }||j
        t          d          k             }t          j        ||           t          t          j                            d                              d          ddg          }d|d<   d|j        dddf<   |d         dk    |d<   t          |d           |                    d|d	           ||j        dk                                 ddg          }dD ]4}|	                    dd| ddg          }t          j        ||           5||j        dk                                 ddg          }dD ]4}|	                    dd| ddg          }t          j        ||           5t          t          j                            d                              d          t          j                            d                              d          d          }t          |d           |                    d|           |	                    dd          }|                    t#          |j                  dd         dg           }t          j        ||           t          t          j                            d                              d          t          j                            d                              d          t          j        dd!"          d#          }t          |d$           |                    d$|           |	                    d$d%          }|                    t#          |j                  dd         dg           }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 }t          t)          d&          t)          d&          d'd("          }|d)         dz                       t,                    |d)<   |                    d*|d	           |	                    d*d+,          }||d-         d.k             }t          j        ||           t          j        |j        d<   ||d-         d.k             }|                    d/|dd0           |	                    d/d+,          }t          j        ||           t          t)          d&          t)          d&          d'd("          }|d)         dz                       t,                    |d)<   t          j        |j        d1<   ||d-         d.k             }|                    d2|d	           |	                    d2d+,          }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 }t          d3t          j        d4                              d5          z  t5          t#          d6                    t5          d7 t)          d8          D                       9          }||d         dk             }|                    d|d	           t          j        d          }|	                    dd:g,          }t          j        ||           d d d            d S # 1 swxY w Y   d S );N
2012-01-01,  rE   r   )tsr#   r)   r`   r#   rV   ts>=Timestamp('2012-02-01')
2012-02-01)   r   r$   r-   r   objectr   rB   rc   r   boolvT)Ttruer   z	boolv == F)Ffalser   rH   )r#   r$   df_intzindex<10 and columns=['A']r"   r&   f8dtype)r#   r$   r'   df_floatzindex<10.0 and columns=['A']   colsvaluesfloat64ro   df1
values>2.0r.   rp   g       @df2rW   r'   r   df4皙?x   )   rB   rS   c                     g | ]}d | S )zi- .0is     r>   
<listcomp>z&test_select_dtypes.<locals>.<listcomp>  s    555aa555    ry   rU   z	A>np_zero)r   r   r
   r2   r3   r4   r5   r   rL   r9   r`   r   r7   r8   rM   re   rZ   rY   r'   arangerangeapplystrnanilocrO   r   rq   )r;   r<   r)   rP   r=   vnp_zeros          r>   test_select_dtypesr      s|   	J	'	' <05!,<<<Y**1--==cBB 
 
 	eT"""T2T3K888d$ABBbey6667
h/// I!!!$$44V<<sCj
 
 
 8 %qsH}gk7eT"""T2D111bh$&'//g/GG" 	4 	4A\\$A#w\PPF!(F3333bh%'(00#w0HH$ 	4 	4A\\$A#w\PPF!(F3333 Y**1--44R88Y**1--44R88 
 
 	eX&&&Xr"""h(DEE::DNN1R4$83%:HH
h/// Y**1--44R88Y**1--44R882T222 
 
 	eZ(((Z$$$j*HII::DNN1R4$83%:HH
h///y<0 <0 <0 <0 <0 <0 <0 <0 <0 <0 <0 <0 <0 <0 <0| 
J	'	' "05b		U2YY??yQQQj2o,,S116
UBT222e<88blS()
h/// V
blS()UBT???e<88
h/// b		U2YY??yQQQj2o,,S116
V
blS()UBT222e<88
h///E"0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0L 
J	'	' 05")C..((111$v,,''5559955566
 
 
 bgk?T2D111*Q--d;-88
h///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s8   PP))P-0P-GX##X'*X'=C$\..\25\2c                    t          |           5 }t          t          dd          t          j                            d                              d          t          d          dgdz  dgdz  z   dgd	z  z   d
 t          d	          D             z   d          }t          |d           |	                    d|g d           |
                    dd          }||j        t          d          k             }t          j        ||           |
                    dd          }||j        t          d          k    |j                            g d          z           }t          j        ||           g dd t          d          D             z   }|
                    dd          }||j        t          d          k    |j                            |          z           }t          j        ||           t          d	d          }|
                    dd          }||j                            |                   }t          j        ||           t%          |          d	k    sJ t'          |j        dd	         j                  }|
                    dd          }||j                            |j                           }t          j        ||           t%          |          d	k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr]   r^   r_   r   a2   bcd   c                     g | ]}d |d	S r   03dr{   r|   s     r>   r   z0test_select_with_many_inputs.<locals>.<listcomp>)  s     3331;q;;;333r   )r`   r#   r$   usersr)   rV   ra   rb   z1ts>=Timestamp('2012-02-01') & users=['a','b','c'])r   r   r   c                     g | ]}d |d	S r   r{   r|   s     r>   r   z0test_select_with_many_inputs.<locals>.<listcomp><  s     %E%E%Eak!kkk%E%E%Er   <   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   r`   r   r7   r8   r   isinr$   lenr   rp   )r;   r<   r)   rP   r=   selectors         r>   test_select_with_many_inputsr     s)   	J	'	' ,"5!,<<<Y**1--==cBB3ZZ%"*%#+ 43c

3334	 

 

 	eT"""T2,E,E,EFFF d$ABBbey6667
h/// d$WXXUi---1O1OO
 	h/// #??%E%E599%E%E%EEd$TUUru	, 7 7728==;R;RRS
h///c??dL11bdii))*
h///6{{c!!!! qu,--dM22bejj112
h///6{{c!!!!!Y," ," ," ," ," ," ," ," ," ," ," ," ," ," ," ," ," ,"s   KK<<L L c           
      
   t          |          5 }t          t          j                            d                              d          t          t          d                    t          ddd                    }t          |d	           |
                    d	|           |                    d	          }t          |                    d	d
                    }t          |          }t          j        ||           t          |                    d	d                    }t          |          dk    sJ t          |          }t          j        ||           t          |                    d	d                    }t          |          }t          j        ||           d d d            n# 1 swxY w Y   | |z  }t          t          j                            d                              d          t          t          d                    t          ddd                    }|                    |d           d}t#          j        t&          |          5  t)          |dd           d d d            n# 1 swxY w Y   t#          j        t&          |          5  t)          |dd
           d d d            n# 1 swxY w Y   | |z  }t          t          j                            d                              d          t          t          d                    t          ddd                    }|                    |d	d           t          t)          |d	d                    }t          |          }t          |          dk    sJ t          j        ||           t          j        |t)          |d	                     t          |          5 }t          t          j                            d                              d          t          t          d                    t          ddd                    }	|
                    d|	d
           |	                                                    dj                  }
d|
d<   |
                    d|
           t          |	|
gd          }|                    ddgd          }t          |                    ddgdd                    }t          |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   rA   rS   rT   r"   r$   rD   rU   r)   T)iterator	chunksizerc   df_non_table)keyz0can only use an iterator or chunksize on a tablematchr*   )r   r,   rr   rV   {}_2r-   r   r   rt   r   rJ   )r   )r   r   )r   r   r2   r3   r4   r5   r   rY   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I!!!$$44W==$v,,''\2C@@@
 
 

 	eT"""T2<<%%u||D4|8899
h///u||DA|66777||q    
h///u||DA|6677
fh///-0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 j D	
	a  0099d6ll##r<<<
 
 
B
 IIdI'''
<C	y	,	,	, 4 4~33334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 
y	,	,	, 6 6~55556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 j D	
	a  0099d6ll##r<<<
 
 
B
 IIdWI---8D$!44455GG__Fw<<1&"%%%&(4"6"6777 
J	'	' 05I!!!$$44W==$v,,''\2C@@@
 
 

 	UCd333hhjj66E
UC   S#JQ''' ++UENU+KK$$eU^eq$QQ
 
 
h///'0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sI   FF11F58F5!J  JJ&KK	K	#ET44T8;T8c           
      N   d}t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd          	          }t          |d
           |
                    d
|           |j        d         }|j        d         }|                    d
          }t          j        ||           d| d}|                    d
|          }t          j        ||           d| d}|                    d
|          }t          j        ||           d| d| d}|                    d
|          }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd          	          }t          |d
           |
                    d
|           |j        d         }|j        d         }t          |                    d
|                    }t          |          }t          j        ||           d| d}t          |                    d
||                    }t          |          }t          j        ||           d| d}t          |                    d
||                    }t          |          }t          j        ||           d| d| d}t          |                    d
||                    }t          |          }t          j        ||           d d d            d S # 1 swxY w Y   d S )N     @r    rB   rS   rT   r   r1   rD   rU   r)   r   
index >= ''r.   
index <= '' & index <= 'r   r/   r   )r   r   r2   r3   r4   r5   r   rY   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I!!!$$44[AA$v,,''\6DDD
 
 

 	eT"""T8$$$"# d##
h/// 'V&&&d%00
h/// 'V&&&d%00
h/// =V<<6<<<d%00
h///A 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0F 
J	'	' !05I!!!$$44[AA$v,,''\6DDD
 
 

 	eT"""T8$$$"# u||DI|>>??
h/// 'V&&&u||D|KKLL
h/// 'V&&&u||D|KKLL
h/// =V<<6<<<u||D|KKLL
h///C!0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0 !0s%   E0FFF(G%NN!Nc           
         d}t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd          	          }t          |d
           |
                    d
|           |j        d         }|j        d         }d| d}t          |                    d
||                    }t          |          }||j        |k             }	t          j        |	|           d| d}t          |                    d
||                    }t          |          }||j        |k             }	t          j        |	|           d| d| d}t          |                    d
||                    }t          |          }||j        |k    |j        |k    z           }	t          j        |	|           d d d            n# 1 swxY w Y   t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd          	          }t          |d
           |
                    d
|           |j        d         }d| d}t          |                    d
||                    }dt!          |          k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   r   r   rS   rT   r   r1   rD   rU   r)   r   r   r   r   r   r   r   z	index > 'r   r   r   r2   r3   r4   r5   r   rY   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I!!!$$44[AA$v,,''\6DDD
 
 

 	eT"""T8$$$"# 'V&&&u||D|KKLLX^v56	
i000 'V&&&u||D|KKLLX^v56	
i000 =V<<6<<<u||D|KKLLhn68>V;STU	
i000?1 1 1 1 1 1 1 1 1 1 1 1 1 1 1D 
J	'	' !5I!!!$$44[AA$v,,''\6DDD
 
 

 	eT"""T8$$$# &F%%%u||D|KKLLCLL     ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s%   GG::G>G>C LL	Lc           
         d}t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd          	          }t          |d
           |
                    d
|           |j        d         }|j        |dz
           }d| d}t          |                    d
||                    }t          |          }||j        |k             }	t          j        |	|           d| d}t          |                    d
||                    }t!          |          dk    sJ t          |          }||j        |k             }	t          j        |	|           d| d| d}t          |                    d
||                    }t!          |          dk    sJ t          |          }||j        |k    |j        |k    z           }	t          j        |	|           d| d| d}t          |                    d
||                    }t!          |          dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Ni'  r   r   rS   rT   r   r1   rD   rU   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I!!!$$44[AA$v,,''\6DDD
 
 

 	eT"""T8$$$"	A. 'V&&&u||D|KKLLX^v56	
i000 'V&&&u||D|KKLL7||q    X^v56	
i000 =V<<6<<<u||D|KKLL 7||q    hn68>V;STU	
i000 =V<<6<<<u||D|KKLL 7||q     c1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1! 1!s   II,,I03I0c           
         t          t          j                            d                              d          t          t          d                    t          ddd                    }t          |           5 }|	                    d	|d
           |j
        t          |          dz           }t          d          }|j        j        d         |k    sJ d}d}|                    d	||g          }|j        |d ddgf         }t#          j        ||           |                    d	|g          }|j        d d dgf         }t#          j        ||           t          t          j                            d                              d          t          t          d                    t          ddd                    }|                    d|           d}	t)          j        t,          |	          5  |                    dd           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rA   rS   rT   r"   r$   rD   rU   framer*   r+   zindex>=datedatezcolumns=['A', 'D']z	columns=Ar#   rX   df_timez day is out of range for month: 0r   zindex>0)r   r2   r3   r4   r5   r   rY   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9d6ll##r<<<
 
 
B 
J	'	' /5		'2g	...xB1%]##yv&$....$gu~666$%%#s+,
fh///gw//6!!!cU(#
fh/// I!!!$$44W==$v,,''\2C@@@
 
 

 	Y###0]:S111 	/ 	/LLI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/5/ / / / / / / / / / / / / / / / / /s7   <E>H5:HH5H!	!H5$H!	%H55H9<H9c           	         t          t          j                            d                              d          t          t          d                    t          ddd                    }d	|d
<   d|j        |j	        dd         d
f<   t          |           5 }|                    d|dd
g           |                    dd          }|j        |j	        |j	        d         k    |j        dk    z           }t          j        ||           |                    dd          }|j        |j	        |j	        d         k    |j        d	k    z           }t          j        ||           |                    dd          }|j        |j	        |j	        d         k    |j        dk    z           }t          j        ||           |                    dd          }|j        |j	        |j	        d         k    |j	        |j	        d         k    z  |j        dk    z           }t          j        ||           |                    dd          }|j        |j        dk             }t          j        ||           d}t!          j        t$          |          5  |                    dd           d d d            n# 1 swxY w Y   |                    dd          }|j        d d |j                            ddg          f         }t          j        ||           |                    dd          }|j        |j	        |j	        d         k                                 ddg          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   rA   rS   rT   r"   r$   rD   rU   r   stringr   r   rB   r)   r*   r,   rW   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   rY   r   rM   r'   r   r6   r9   r   r7   r8   r   r   NotImplementedErrorr(   
differencerZ   )r;   r)   r<   rP   r=   r   s         r>   test_frame_select_complexr     s    

	a  0099d6ll##r<<<
 
 
B
 BxL&+BF28AaC=("#	J	'	' ,05		$7(	DDD d$FGG628bhqk1bi56HIJ
fh///d$FGG628bhqk1bi56HIJ
fh/// d$FGG628bhqk1bi56HIJ
fh///K
 
 6h!$RXa[)@AyE!#
 	fh/// dO446")u,-
fh/// G].c::: 	2 	2LL0111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 d$:;;6!!!RZ22C:>>>?
fh/// d$NOO6"(RXa[01993*9MM
fh///Y,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0s8   G0M=
J-!M=-J1	1M=4J1	5B;M==NNc           
         | dz  }| dz  }t          dg di          }|                    |ddddg           t          |dd	
          }t          t          j                            d                              d          dgt          j        d t          d          D             ddg                    }|                    |ddd           t          |dd
          }|j
                                        }t          |          5 }|                    dd
          }	t          j        |	|           d d d            n# 1 swxY w Y   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 }|                    dd
          }	t          j        |	|           |                    dd
          }	t          j        |	|           |                    dd
          }	t          j        |	|           |                    dd
          }	t          j        |	|           d d d            d S # 1 swxY w Y   d S )Nz
params.hdfzhist.hdfr#   )r   r   r   r   r   r)   wr*   )r   moder,   rW   zA=[2,3]r.   r   )   r   datac                 :    g | ]}t          d           D ]}||fS )rc   )r   )r}   r~   js      r>   r   z.test_frame_select_complex2.<locals>.<listcomp>  s/    888uQxx88!aV8888r   rc   l1l2)r!   rU   )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	selectionhistr=   l0r<   rP   r'   s              r>   test_frame_select_complex2r     sz   	L	 B	J	B ___-..F
MM"$SuMMMMT333I
	a  0099$88U1XX888t
 
 
  D 	KK3wK777D777H 
			!	!B	" 0d'22
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b$g...F&(+++ OEb$j111F&(+++b$&:;;;F&(+++b$&CDDDF&(+++b$&@AAAF&(+++ 
" 0d*55
fh///d*>??
fh///d*GHH
fh///d*DEE
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s%   -EEE+B1K))K-0K-c           	         t          t          j                            d                              d          t          t          d                    t          ddd                    }t          |           5 }|	                    d	|d
           d}t          j        t          |          5  |                    d	d           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d	d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   rA   rS   rT   r"   r$   rD   rU   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   rY   r   r   r6   r   r   r   r9   )r;   r)   r<   r   s       r>   test_invalid_filteringr     s!    

	a  0099d6ll##r<<<
 
 
B 
J	'	' 
D5		$7	+++0].c::: 	@ 	@LL>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ ].c::: 	D 	DLLBCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
D 
DsZ   <6D62C	D6C	D6C	D6;DD6D"	"D6%D"	&D66D:=D:c           
         t          |           5 }t          t          j                            d                              d          t          t          d                    t          ddd                    }d	|d
<   d|j	        |j
        dd         d
f<   |                    d|d
g           |                    dd          }||j        d	k             }t          j        ||           |                    dd          }||j        d	k             }t          j        ||           |                                }t          j        |j	        |j        dk    d
f<   |                    d|d
g           |                    dd          }|t%          |j                           }t          j        ||           d|d<   d|j	        |j
        dd         df<   |                    d|dg           |                    dd          }||j        dk             }t          j        ||           |                    dd          }||j        dk             }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   rA   rS   rT   r"   r$   rD   rU   nonex    r)   rV   zx=nonezx!=nonert   r   intdf3zint=2zint!=2)r   r   r2   r3   r4   r5   r   rY   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I!!!$$44W==$v,,''\2C@@@
 
 
 3%'rx!}c!"T2SE222dH--bdfn%
fh///dI..bdfn%
fh///ggii$&FS !UCse444eY//tCE{{#
fh/// 5	'(rx!}e#$UBeW555eW--bfk?
fh///eX..bfk?
fh///S)0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0 )0s   II99I= I=c           	      
	   t          t          j                            d                              d          t          t          d                    t          ddd                    }|                                	                    d	j
        
          }d|d<   t          |           5 }d}t          j        t          |          5  |                    d ddgd           d d d            n# 1 swxY w Y   |                    d|ddg           |                    d|           t          j        t          |          5  |                    d ddgd           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    d gddgd           d d d            n# 1 swxY w Y   d}t          j        t"          |          5  |                    ddgddgd           d d d            n# 1 swxY w Y   t          j        t"          |          5  |                    dgddgd           d d d            n# 1 swxY w Y   t          j        t"          d          5  |                    ddgddgd           d d d            n# 1 swxY w Y   |                    dddg          }|                    dgddgd          }t'          j        ||           |                    dddgd          }t'          j        ||           |                    ddgddgd          }t+          ||gd          }||j        dk    |j        dk    z           }t'          j        ||d           |                    ddgdd          }t+          ||gd          }|d d          }t'          j        ||           |                                                    d          }|                    d|           d!}t          j        t2          |          5  |                    ddgddgd           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )"Nr   rA   rS   rT   r"   r$   rD   rU   r   r-   r   r   zkeys must be a list/tupler   zA>0zB>0rr   )r/   r   r#   rV   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]rc   z,all tables must have exactly the same nrows!)r   r2   r3   r4   r5   r   rY   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9d6ll##r<<<  C
 ((**

FM

2
2CCJ	J	'	' ?5)]9C000 	Q 	Q$$T%%$PPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	UCsCj999UC    ]9C000 	Q 	Q$$T%%$PPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q ]9C000 	S 	S$$dVE5>E$RRR	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 	S 2]83/// 	 	$$uenu %   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 ]83/// 	T 	T$$eWUENU$SSS	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T 	T ]8+NOOO 	 	$$uenu %   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 eeU^44++GE5>E , 
 
 	fh///++E%RW+XX
fh/// ))EN5%.5 * 
 
 3*1---XZ!^
Q?@
fh5AAAA ))EN"6 * 
 
 3*1---ABB<
fh/// hhjjooa  UC   <]:S111 	 	$$uenu %   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s  .Q8C3'Q83C7	7Q8:C7	;AQ8	E0$Q80E4	4Q87E4	8Q8F>2Q8>G	Q8G	 Q8&HQ8H	Q8H	Q85IQ8I!	!Q8$I!	%Q8J, Q8,J0	0Q83J0	4FQ87Q Q8 Q$	$Q8'Q$	(Q88Q<?Q<c                    t          |           5 }t          t          d          t          d          dd          }|d         dz                       t                    |d<   t
          j        |j        d<   t          g dg d	dg d
          }|                    d|ddg           |	                    dd          }t          j        ||           d d d            d S # 1 swxY w Y   d S )Nr   rn   rq   rj   ro   r"   r   )z13.0z14.0z15.0)g      @g      @g      @)r   rB   rc   )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     s9   	J	'	' 05aE!HH==YOOOj2o,,S116
V
---II))
 
 
 	T2DAAAd,77
fh///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   C	C&&C*-C*c                 *   t          g dg dd          }||j        dk             }t          |           5 }|                    d|dd           |                    dd	          }d d d            n# 1 swxY w Y   t          j        ||           d S )
N)r   r   r   r   test & testr   r   e)r   r   r   rB   rc   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CC)))	
 	

 
B "$-'(H	J	'	' ;5VRdCCCf&9::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; (F+++++s   0A33A7:A7c                    t          dg di          }t          |           5 }|                    d|dd           d}|                    dd|d	          }|j        sJ d
}|                    dd|d	          }|j        ddgd d f         }t          j        ||           d}|                    dd|d	          }|j        dgd d f         }t          j        ||           d d d            d S # 1 swxY w Y   d S )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    sq   	CLLLM	N	NB	J	'	' 05VRdCCC f&9V&9&9&9::| f&9V&9&9&9::61a&!!!)$
h///f&9e&9&9&9::61#qqq&>
h///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s   CC66C:=C:c           	         t          ddgt          dd          ddgddgdg d	          }t          |           5 }|                    d
|dd           t	          d          }|                    d
d          }|j        dgd d f         }t          j        ||           dD ]}ddt	          d          t          j
        dd          fD ]h}d| d}d| dt          |           d}	t          j        t          |	          5  |                    d
|           d d d            n# 1 swxY w Y   id}dD ]_}
|
 d| d}|
dk    rd}	nd}	t          j        t          |	          5  |                    d
|           d d d            n# 1 swxY w Y   `t!          g dg d          D ]|\  }}
|
 d| d}|                    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            d S # 1 swxY w Y   d S )#N
2014-01-01z
2014-01-02r   r_   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<   r`   rP   r=   opr   queryr   cols              r>   test_query_compare_column_typer    s   	!<0#L!<<<3Zq6		
 	
 655
 
 
B 
J	'	' '85VRdCCC|$$f,<==61#qqq&>
h///" 	8 	8B4<!8!8",q#:N:NO 6 6&NNNDGGNNN]9C888 6 6LLuL5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 A4 6 6+%%GCC7C]:S999 6 6LLuL5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 ***,I,I,I  8 83 fE::::!vqc111f~HH3YY!vqc111f~HH!vb!!!e}H%h77778'	8'8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8 '8s[   CH=D,	 H=,D00H=3D048H=,F	H=FH=FBH==IIr/   r   r{   )Nc                     t          g d          }| dz  }t          |          5 }|                    d|d           t          |d|          }t	          j        ||           d d d            d S # 1 swxY w Y   d S )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    s     
999		B&&D	$ *5		$C   %U333
fb)))* * * * * * * * * * * * * * * * * *s   ?A22A69A6c                    | dz  }t          t          g dg d          ddg          }t          |          5 }|                    d|dd	
           |                    dd                              d                              d          }d d d            n# 1 swxY w Y   |d         d         }||k    sJ d S )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)   r1   rP   r=   s         r>   test_select_large_integerr    s+   n$D	   SSS	
 	
 c

 
 
B 
$ S1	$e<<<&(ABBFFsKKOOPQRRS S S S S S S S S S S S S S S #wqzHvs   AB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   r>   <module>r)     s        ) ) ) ) ) )                                    
 $ # # # # #k$%
L L L@A@ A@ A@H&0 &0 &0Rq0 q0 q0h-" -" -"`O0 O0 O0dJ0 J0 J0Z6! 6! 6!r8! 8! 8!v"/ "/ "/T70 70 70t80 80 80vD D D,+0 +0 +0\H H HV0 0 0", , ,0 0 0,38 38 38l 2r7B"?@@* * A@*    r   