
    d                      d   d dl mZ 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        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        0                    ddddg dgg          d             Z1dS )    )catch_warningsN)	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          }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names
   r   )ABCindexcolumnsdftableformatr$   r)   zcolumns=['A']where)r(   names)r   r   nprandomrandnr   puttmassert_frame_equalselectr	   assert_series_equal)
setup_pathr(   r*   storeexpectedr2   s         `/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/io/pytables/test_select.pytest_select_columns_in_wherer?       s0    ,,,.E.E.EF---/M/M/MN:&  E 
29??2q))	P	P	PB	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r""%c:::A	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&   "A7C%%C),C).AE>>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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.   z20130101 9:30T)periodsfreqr*   T)	by_blocksr$   r      )sizer   r&   r   axisr%   )r   r3   r4   r5   r   r(   r   appendr9   r7   r8   r)   locr   randintreshape)r;   r*   r<   resultr=   s        r>   test_select_with_dupsrO   <   st   	29??2q))3G3G3G	H	H	HB/2C@@@BH	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  
bioob!,,6J6J6JKKK	!!!Rb!1199"a@@3PS*  	
 
 
 
B /2C@@@BH	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D!$D!C>KK#&K#9BNNNc                 *   t          |           5 }t          d          5  t          j                    }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            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NT)recordr*   r$   r%   r.   zcolumns=['A', 'B']data_columnszA > 0r   r&   D)
r   r   r7   makeTimeDataFramer   rJ   r9   reindexr8   r$   )r;   r<   r*   rN   r=   s        r>   test_selectrW   z   s   	J	'	' "454((( !	4 !	4%''B%&&&LLr"""\\$c
\;;Fzz3*z55H!(F333 \\$*>(@AAFzz3*z55H!(F333 %&&&LLrL666\\$	C:\FFF"$(|++S#J+??H!(F333 %&&&LLrL555\\$	C:\FFF"$(|++S#J+??H!(F333 %&&&LLrL666\\$	C:\FFF"$(|++S#J+??H!(F333C!	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4 !	4"4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4 "4s5   JII0$J0I4	4J7I4	8JJJc           	         t          |           5 }t          t          dd          t          j                            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          t          j                            d          d          }t          |d           |                    d|           |                    dd          }|                    t#          |j                  dd         dg          }t          j        ||           t          t          j                            d          t          j                            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/           |                    d.d*+          }t          j        ||           t          t)          d%          t)          d%          d&d'!          }|d(         dz                       t,                    |d(<   t          j        |j        d0<   ||d,         d-k             }|                    d1|d           |                    d1d*+          }t          j        ||           d d d            n# 1 swxY w Y   t          |           5 }t          j                    }||d         dk             }|                    d|d           t          j        d          }|                    dd2g+          }t          j        ||           d d d            d S # 1 swxY w Y   d S )3N
2012-01-01,  rC   )tsr$   r*   r\   r$   rR   ts>=Timestamp('2012-02-01')
2012-02-01   r   r%   r.   r   objectr   rA   r   boolvT)Ttruer   z	boolv == F)Ffalser   rF   )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float64rk   df1
values>2.0r/   rl   g       @df2rS   r(   r   df4z	A>np_zero)r   r   r   r3   r4   r5   r   rJ   r9   r\   r   r7   r8   rK   ra   rV   randlistr(   arangerangeapplystrnanilocmakeDataFramerm   )r;   r<   r*   rN   r=   vnp_zeros          r>   test_select_dtypesr~      s   	J	'	' 505!,<<<Y__S)) 
 
 	eT"""T2T3K888d$ABBbey6667
h/// ryq!,,sCjAAA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 RY^^B//binnR6H6HIIJJeX&&&Xr"""h(DEE::DNN1R4$83%:HH
h/// Y^^B''Y^^B''2T222 
 
 	eZ(((Z$$$j*HII::DNN1R4$83%:HH
h///k50 50 50 50 50 50 50 50 50 50 50 50 50 50 50n 
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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   NN88N<?N<GV22V69V6A?YYYc                    t          |           5 }t          t          dd          t          j                            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 )NrY   rZ   r[   a2   bcd   c                     g | ]}d |d	S r   03d .0is     r>   
<listcomp>z0test_select_with_many_inputs.<locals>.<listcomp>  s     3331;q;;;333    )r\   r$   r%   usersr*   rR   r]   r^   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   r3   r4   r5   rv   r   rJ   r9   r\   r   r7   r8   r   isinr%   lenr   rl   )r;   r<   r*   rN   r=   selectors         r>   test_select_with_many_inputsr   	  s   	J	'	' ,"5!,<<<Y__S))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))K-0K-c                    t          |          5 }t          j        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          j        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          j        d          }|
                    |dd           t          t          |dd                    }t          |          }t          |          dk    sJ t          j        ||           t          j        |t          |d                     t          |          5 }t          j        d          }	|                    d|	d           t          j        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 )Ni  r*   T)iteratorr   	chunksizer_      df_non_tablez0can only use an iterator or chunksize on a tablematchr+   r,   rn   rR   {}_2r.   r   r   rp   r   rH   )r   )r   r   )r   r7   rU   r   rJ   r9   rt   r   r8   r   to_hdfpytestraises	TypeErrorr   renamer-   select_as_multiple)tmp_pathr;   r<   r*   r=   resultsrN   pathmsgrn   rp   s              r>   test_select_iteratorr   9  s   	J	'	' 05!#&&eT"""T2<<%%u||D4|8899
h///u||DC|88997||q    
h///u||DC|8899
fh///%0 0 0 0 0 0 0 0 0 0 0 0 0 0 0( j D		c	"	"BIIdN###
<C	y	,	,	, 6 6~55556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 
y	,	,	, 6 6~55556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 j D		c	"	"BIIdDI)))8D$#66677GG__Fw<<1&"%%%&(4"6"6777 
J	'	' 05"3''UCd333"3''..v}.EEE
UC   S#JQ''' ++UENU+KK$$eU^es$SS
 
 
h///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0sI   D=EE E0GGG5HHHC,OOOc                    d}t          |           5 }t          j        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          j        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     @ Sr*   r   
index >= ''r/   
index <= '' & index <= 'r   r0   r   )
r   r7   rU   r   rJ   r(   r9   r8   rt   r   )	r;   r   r<   r=   beg_dtend_dtrN   r0   r   s	            r>   "test_select_iterator_complete_8014r   {  s    I 
J	'	' 05'44eT"""T8$$$"# d##
h/// 'V&&&d%00
h/// 'V&&&d%00
h/// =V<<6<<<d%00
h///90 0 0 0 0 0 0 0 0 0 0 0 0 0 0> 
J	'	' 05'44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///;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0s%   DD77D;>D;FK,,K03K0c                    d}t          |           5 }t          j        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          j        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   r*   r   r   r   r   r   r   r   z	index > 'r   r   r7   rU   r   rJ   r(   rt   r9   r   r8   r   
r;   r   r<   r=   r   r   r0   r   rN   	rexpecteds
             r>   &test_select_iterator_non_complete_8014r     s    I 
J	'	' 15'44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071 1 1 1 1 1 1 1 1 1 1 1 1 1 1< 
J	'	' 
!5'44eT"""T8$$$# &F%%%u||D|KKLLCLL     
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
! 
!s%   FF##F'*F'=B	IIIc                 D   d}t          |           5 }t          j        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'  i r   r*   r   r   r   r   r   r   r   z' & index >= 'r   r   s
             r>   &test_select_iterator_many_empty_framesr     s    I 
J	'	' -!5'44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     [-! -! -! -! -! -! -! -! -! -! -! -! -! -! -! -! -! -!s   G5HHHc                     t          j                    }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          j                    }|                    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 )Nframer+   r,   r   zindex>=datedatezcolumns=['A', 'D']z	columns=Ar$   rT   df_timez day is out of range for month: 0r   zindex>0)r7   rU   r   r6   r(   r   r   envscoper9   rK   r8   rJ   r   r   
ValueError)
r;   r*   r<   r   crit1crit2crit3rN   r=   r   s
             r>   test_frame_selectr   (  s   				B	J	'	' /5		'2g	...xB1%]##yv&$....$gu~666$%%#s+,
fh///gw//6!!!cU(#
fh/// !##Y###0]:S111 	/ 	/LLI...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/-/ / / / / / / / / / / / / / / / / /s6   D%FE+F+E/	/F2E/	3FF
Fc                 b   t          j                    }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   stringr   r   rA   r*   r+   r-   rS   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$   r%   z(index>df.index[3] & columns in ['A','B']r.   )r7   rU   rK   r(   r   r6   r9   r   r8   r   r   NotImplementedErrorr)   
differencerV   )r;   r*   r<   rN   r=   r   s         r>   test_frame_select_complexr   J  s    
			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   G0L$1IL$I	L$I	B;L$$L(+L(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+   )moder-   rS   zA=[2,3]r/      r   datac                 :    g | ]}t          d           D ]}||fS )r_   )rv   )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   r_   l1l2)r"   )r)   r(   )r   r-   zl1=[2, 3, 4]zl1=l0zl1=indexzl1=selection.indexzl1=selection.index.tolist()zl1=list(selection.index))r   r   r   r3   r4   r5   r   from_tuplesrv   r(   tolistr   r9   r7   r8   )r   pphhparams	selectionhistr=   l0r<   rN   r(   s              r>   test_frame_select_complex2r     sl   	L	 B	J	B ___-..F
MM"dWC5MIIIT333I
	A$88U1XX888t
 
 
  D 	KKDs7K333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%   <-D55D9<D9B1KKKc                    t          j                    }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*   r+   r,   z unable to collapse Joint Filtersr   zcolumns=['A'] | columns=['B']z!columns=['A','B'] & columns=['C'])r7   rU   r   r6   r   r   r   r9   )r;   r*   r<   r   s       r>   test_invalid_filteringr     s    
			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sY   6CA<0C<B 	 CB 	C"C9CC			CC		CC!$C!c                 Z   t          |           5 }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        ||           |	                                }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 )Nnonex r      r*   rR   zx=nonezx!=nonerp   r   intdf3zint=2zint!=2)r   r7   rU   rK   r(   rJ   r9   r   r8   copyr3   ry   r   r   )r;   r<   r*   rN   r=   rp   s         r>   test_string_selectr     sN   	J	'	' %05!## 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///K%0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0 %0s   HH  H$'H$c                 .   t          j                    }t          j                                        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t          j        d                     d}t          j        t           |          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   r.   r   r   zkeys must be a list/tupler   zA>0zB>0rn   )r0   r   r$   r%   rR   rp   z!'No object named df3 in the file'r   z!'No object named df4 in the file'rr   r   rH   r   F)
check_freqzindex>df2.index[4]r_   r   )nperz,all tables must have exactly the same nrows!)r7   rU   r   r-   r   r   r   r   r   rJ   KeyErrorr9   r8   r   r$   r%   r   )r;   rn   rp   r<   r   rN   r=   s          r>   test_select_as_multipler     s   


 
 C


 
 
'
'
'
>
>C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/// 	UB0b999:::<]:S111 	 	$$uenu %   	 	 	 	 	 	 	 	 	 	 	 	 	 	 	w> > > > > > > > > > > > > > > > > >s  P
2BP
B	P
 B	!AP
/D
P
D	P
D	P
<E$P
$E(	(P
+E(	, P
F5)P
5F9	9P
<F9	=P
H7P
H	P

H	P
)IP
I	P
I	E/P
	O2&P
2O6	6P
9O6	:P

PP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   rj   rm   rf   rk   r#   r   )z13.0z14.0z15.0)g      @g      @g      @)r   rA   r_   )r(   r*   Trq   ro   r/   )r   r   rv   rw   rx   r3   ry   rz   rJ   r9   r7   r8   )r;   r<   r*   r=   rN   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   rA   r_   r   r      )r   r   r   testr+   Tr   za = "test & test")r   r   r   rJ   r9   r7   r8   )r;   r*   r=   r<   rN   s        r>   (test_query_with_nested_special_characterr   N  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   rJ   r9   emptyrK   r7   r8   )r;   r*   r<   cutoffrN   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[   g?g333333?r   )r   	real_datefloatr   r.   r   r+   Tr   zreal_date > tsr/   )<>==g @r2   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   rJ   r   r9   rK   r7   r8   pd	Timedeltatyper   r   r   r   zip)r;   r*   r<   r\   rN   r=   opr|   queryr   cols              r>   test_query_compare_column_typer  r  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8C]: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r0   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   r0   r*   r   r<   rN   s         r>   test_select_empty_wherer    s     
999		B&&D	$ *5		$C   %U333
fb)))* * * * * * * * * * * * * * * * * *s   ?A22A69A6)2warningsr   numpyr3   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?   rO   rW   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  parametrizer  r   r   r>   <module>r     s   # # # # # #      ) ) ) ) ) )                                    
 $ # # # # #[#
L L L8;@ ;@ ;@|#4 #4 #4Lf0 f0 f0R-" -" -"`?0 ?0 ?0DB0 B0 B0J.! .! .!b4! 4! 4!n/ / /D30 30 30l80 80 80vD D D$'0 '0 '0TC C CL0 0 0", , ,0 0 0,38 38 38l 2r7B"?@@* * A@* * *r   