
    jV                        d dl Z d dlmZmZmZmZmZmZmZ d dl	Z	d dl
mZmZmZ d dlmZmZ d dlmZ ddlmZmZ ddlmZmZmZ dd	lmZ  G d
 d          Z G d d          Z G d d          Z G d d          Z G d d          Z  G d de           Z! G d de           Z" G d d          Z# G d de$          Z% G d de$          Z& G d d          Z'd eej(                 d!ed"eee                  fd#Z) G d$ d%          Z*dS )&    N)AnyDictListOptionalSequenceTupleUnion)DataTypeNotMatchExceptionExceptionsMessageMilvusException)
common_pb2
schema_pb2)Config   )entity_helperutils)DEFAULT_CONSISTENCY_LEVELRANKER_TYPE_RRFRANKER_TYPE_WEIGHTED)DataTypec                   ,    e Zd ZdefdZdefdZd ZdS )FieldSchemarawc                    || _         d| _        d | _        d| _        d | _        d| _        t          j        | _        g | _	        i | _
        d| _        d| _        d | _        d| _        |                     | j                    d S )Nr   F)_rawfield_idname
is_primarydescriptionauto_idr   UNKNOWNtypeindexesparamsis_partition_key
is_dynamicelement_typeis_clustering_key_FieldSchema__packselfr   s     b/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/pymilvus/client/abstract.py__init__zFieldSchema.__init__   s~    		$	 % !&DI    c                    |j         | _        |j        | _        |j        | _        |j        | _        |j        | _        t          |j	                  | _
        |j        | _        t          |j                  | _        |j        | _        	 |j        | _        n# t          $ r
 d| _        Y nw xY w|j        D ]P}|j        dk    r,dd l}|                    |j                  | j        |j        <   :|j        dv r<|j                                        dk    rt/          |j                  nd| j        d<   |j        | j        |j        <   |j        dv r!t1          |j                  | j        |j        <   |j        t2          j        fv r@|j	        t          j        t          j        fv r!t1          |j                  | j        |j        <   |j        dv r6|j	        t          j        k    r!t1          |j                  | j        |j        <   Ri }|j        D ]C}|j        dk    r'dd l}|                    |j                  ||j        <   4|j        ||j        <   D| j                            |g           d S )	NFr$   r   )zmmap.enabledfalsemmap_enabled)dim)max_capacity) fieldIDr   r   is_primary_keyr   r   autoIDr    r   	data_typer"   r%   r'   r(   r&   	Exceptiontype_paramskeyjsonloadsvaluer$   lowerboolintr   MaxVarCharLengthKeyVARCHARARRAYindex_paramsr#   extend)r+   r   
type_paramr;   
index_dictindex_params         r,   __packzFieldSchema.__pack"   ss   H	,?zS]++	 # 4$S%566!$!6	$!nDOO 	$ 	$ 	$#DOOO	$ / 	H 	HJ~)).2jj9I.J.JJN++>%5552<2B2H2H2J2Jg2U2UZ-...[` K/ .8.>JN+>W,,25j6F2G2GDK
/>f&@%AAAcm$NX G G 36j6F2G2GDK
/ >%555#-8>:Y:Y25j6F2G2GDK
/
+ 	@ 	@K(**.2jj9J.K.K
;?++.9.?
;?++ZL)))))s   B B)(B)c                     | j         | j        | j        | j        | j        pi d}| j        r
| j        |d<   | j        rd|d<   | j        rd|d<   | j        rd|d<   | j	        r
| j	        |d<   | j
        rd|d<   |S )	N)r   r   r   r"   r$   r'   Tr%   r&   r    r   r(   )r   r   r   r"   r$   r'   r%   r&   r    r   r(   r+   _dicts     r,   dictzFieldSchema.dictT   s    I+Ik'R
 
  	6$($5E.!  	-(,E$%? 	'"&E,< 	$#E)? 	2"&/E,! 	.)-E%&r.   N)__name__
__module____qualname__r   r-   r)   rM    r.   r,   r   r      sZ        C    $0*# 0* 0* 0* 0*d    r.   r   c                   N    e Zd ZdefdZdefdZedefd            Zd Z	d Z
dS )	CollectionSchemar   c                    || _         d | _        d | _        i | _        g | _        i | _        d| _        g | _        d| _        t          | _
        i | _        d| _        d| _        d| _        | j         r|                     | j                    d S d S )NFr   )r   collection_namer   r$   fields
statisticsr    aliasescollection_idr   consistency_level
properties
num_shardsnum_partitionsenable_dynamic_field_CollectionSchema__packr*   s     r,   r-   zCollectionSchema.__init__n   s    	#!:$)!9 	#KK	"""""	# 	#r.   c                    |j         j        | _        |j         j        | _        t	          |j                  | _        |j        | _        |j        | _	        |j
        | _
        	 |j        | _        n# t          $ r t          | _        Y nw xY w	 |j         j        | _        n# t          $ r
 d| _        Y nw xY wd |j         j        D             | _        |j        D ]}|j        | j        |j        <   d S )NFc                 ,    g | ]}t          |          S rQ   )r   .0fs     r,   
<listcomp>z+CollectionSchema.__pack.<locals>.<listcomp>   s    AAA!{1~~AAAr.   )schemar   rU   r   listrX   collectionIDrY   
shards_numr\   r]   rZ   r8   r   r^   rV   r[   r=   r:   )r+   r   ps      r,   rI   zCollectionSchema.__pack   s   "z:1CK(( -.!0	?%(%:D"" 	? 	? 	?%>D"""	?	.(+
(GD%% 	. 	. 	.(-D%%%	. BAsz/@AAA  	- 	-A%&WDOAE""	- 	-s$   !A. .BBB B10B1schema_dictc                     |                     dg           }|sd S |D ]&}|                     dd           |d         |d<    d S 'd S )NrV   r    )get)clsrk   rV   
field_dicts       r,   _rewrite_schema_dictz%CollectionSchema._rewrite_schema_dict   sj    2.. 	F  	 	J~~i..:)3I)>I& ;	 	r.   c                     | j         si S | j        | j        | j        | j        d | j        D             | j        | j        | j        | j	        | j
        | j        d}|                     |           |S )Nc                 6    g | ]}|                                 S rQ   )rM   rb   s     r,   re   z)CollectionSchema.dict.<locals>.<listcomp>   s     555Aqvvxx555r.   )rU   r    r\   r   rV   rX   rY   rZ   r[   r]   r^   )r   rU   r    r\   r   rV   rX   rY   rZ   r[   r]   r^   rp   rK   s     r,   rM   zCollectionSchema.dict   s    y 	I#3|/+55555|!/!%!7/"1$($=
 
 	!!%(((r.   c                 N    |                                                                  S NrM   __str__r+   s    r,   rv   zCollectionSchema.__str__       yy{{""$$$r.   N)rN   rO   rP   r   r-   r_   classmethodr   rp   rM   rv   rQ   r.   r,   rS   rS   m   s        #C # # # #(-# - - - -: t    [  &% % % % %r.   rS   c                      e Zd ZdefdZed             Zed             Zed             Zed             Z	ed             Z
ed             Zed	             Zed
             Zed             Zed             Zd ZeZdefdZdS )MutationResultr   c                     || _         g | _        d| _        d| _        d| _        d| _        g | _        g | _        d| _        | 	                    |           d S Nr   )
r   _primary_keys_insert_cnt_delete_cnt_upsert_cnt
_timestamp_succ_index
_err_index_cost_packr*   s     r,   r-   zMutationResult.__init__   sY    	


3r.   c                     | j         S rt   )r~   rw   s    r,   primary_keyszMutationResult.primary_keys   s    !!r.   c                     | j         S rt   )r   rw   s    r,   insert_countzMutationResult.insert_count       r.   c                     | j         S rt   )r   rw   s    r,   delete_countzMutationResult.delete_count   r   r.   c                     | j         S rt   )r   rw   s    r,   upsert_countzMutationResult.upsert_count   r   r.   c                     | j         S rt   )r   rw   s    r,   	timestampzMutationResult.timestamp   
    r.   c                 *    t          | j                  S rt   )lenr   rw   s    r,   
succ_countzMutationResult.succ_count   s    4#$$$r.   c                 *    t          | j                  S rt   )r   r   rw   s    r,   	err_countzMutationResult.err_count   s    4?###r.   c                     | j         S rt   )r   rw   s    r,   
succ_indexzMutationResult.succ_index   r   r.   c                     | j         S rt   )r   rw   s    r,   	err_indexzMutationResult.err_index   r   r.   c                     | j         S rt   )r   rw   s    r,   costzMutationResult.cost   
    zr.   c                     | j         r;d| j         d| j         d| j         d| j         d| j         d| j         d| j         dS d| j         d| j         d| j         d| j         d| j         d| j         S )	Nz(insert count: z, delete count: z, upsert count: z, timestamp: z, success count: z, err count: , cost: ))r   r   r   r   r   r   r   r   rw   s    r,   rv   zMutationResult.__str__   s    9 	'$"2 ' 'DDT ' 'fjfv ' '"o' '@D' '^b^l' '' ' 'kd. k k@P k kbfbr k k/k k<@Ok kZ^Zhk k	
r.   c                    |j                             d          }|dk    r|j         j        j        | _        n|dk    r|j         j        j        | _        |j        | _        |j        | _	        |j
        | _        |j        | _        |j        | _        |j        | _        t%          |j        r|j        j        r|j        j        d         nd          | _        d S )Nid_fieldint_idstr_idreport_value0)IDs
WhichOneofr   datar~   r   
insert_cntr   
delete_cntr   
upsert_cntr   r   r   r   r   r   r   r@   status
extra_infor   )r+   r   whichs      r,   r   zMutationResult._pack  s    "":..H!$!4Dh!$!4D>>>->-58ZbCJDYbCJ!.11_b
 



r.   N)rN   rO   rP   r   r-   propertyr   r   r   r   r   r   r   r   r   r   rv   __repr__r   rQ   r.   r,   r{   r{      sn       C     " " X"     X      X      X    X % % X% $ $ X$     X    X   X

 

 

 H
 
 
 
 
 
 
r.   r{   c                   2    e Zd Zdee         fdZdefdZdS )SequenceIteratorseqc                 "    || _         d| _        d S r}   )_seq_idx)r+   r   s     r,   r-   zSequenceIterator.__init__   s    				r.   returnc                     | j         t          | j                  k     r$| j        | j                  }| xj         dz  c_         |S t          )Nr   )r   r   r   StopIteration)r+   ress     r,   __next__zSequenceIterator.__next__$  s?    9s49~~%%)DI&CIINIIJr.   N)rN   rO   rP   r   r   r-   r   rQ   r.   r,   r   r     sN        HSM    #      r.   r   c                        e Zd Zd Zd Zd ZdS )
BaseRankerc                     d S rt   rQ   rw   s    r,   __int__zBaseRanker.__int__-  s    r.   c                     i S rt   rQ   rw   s    r,   rM   zBaseRanker.dict0  s    	r.   c                 N    |                                                                  S rt   ru   rw   s    r,   rv   zBaseRanker.__str__3  rx   r.   N)rN   rO   rP   r   rM   rv   rQ   r.   r,   r   r   ,  sA            % % % % %r.   r   c                   $    e Zd Z	 ddefdZd ZdS )	RRFRanker<   kc                 ,    t           | _        || _        d S rt   )r   	_strategy_k)r+   r   s     r,   r-   zRRFRanker.__init__8  s     )r.   c                 (    d| j         i}| j        |dS )Nr   strategyr$   )r   r   r+   r$   s     r,   rM   zRRFRanker.dict?  s)    
 
 
 	
r.   N)r   )rN   rO   rP   r@   r-   rM   rQ   r.   r,   r   r   7  sI             
 
 
 
 
r.   r   c                       e Zd Zd Zd ZdS )WeightedRankerc                 d    t           | _        g }|D ]}|                    |           || _        d S rt   )r   r   append_weights)r+   numsweightsnums       r,   r-   zWeightedRanker.__init__J  s=    - 	  	 CNN3r.   c                 (    d| j         i}| j        |dS )Nr   r   )r   r   r   s     r,   rM   zWeightedRanker.dictQ  s)    t}
 
 
 	
r.   N)rN   rO   rP   r-   rM   rQ   r.   r,   r   r   I  s2             
 
 
 
 
r.   r   c                       e Zd Z	 ddeeej        f         dedede	de
e         f
dZed             Zed	             Zed
             Zed             Zed             Zd ZdS )AnnSearchRequestNr   
anns_fieldparamlimitexprc                     || _         || _        || _        || _        |?t	          |t
                    s*t          t          j        t          |          z            || _
        d S )Nmessage)_data_anns_field_param_limit
isinstancestrr
   r   ExprTyper"   _expr)r+   r   r   r   r   r   s         r,   r-   zAnnSearchRequest.__init__\  se     
%JtS$9$9+4E4NQUVZQ[Q[4[\\\\


r.   c                     | j         S rt   )r   rw   s    r,   r   zAnnSearchRequest.datam  r   r.   c                     | j         S rt   )r   rw   s    r,   r   zAnnSearchRequest.anns_fieldq  r   r.   c                     | j         S rt   )r   rw   s    r,   r   zAnnSearchRequest.paramu  
    {r.   c                     | j         S rt   )r   rw   s    r,   r   zAnnSearchRequest.limity  r   r.   c                     | j         S rt   )r   rw   s    r,   r   zAnnSearchRequest.expr}  r   r.   c                 \    | j         | j        | j        | j        d                                S )N)r   r   r   r   )r   r   r   r   rv   rw   s    r,   rv   zAnnSearchRequest.__str__  s0    /ZZI	
 

 '))	r.   rt   )rN   rO   rP   r	   r   r   SparseMatrixInputTyper   r   r@   r   r-   r   r   r   r   r   r   rv   rQ   r.   r,   r   r   [  s	        # D%556  	
  sm   "   X     X    X   X   X    r.   r   c                        e Zd ZdZ	 	 ddej        dee         deej	                 f fdZ
deded	eej                 d
eeeee         ej        f         f         fdZd
efdZd
efdZeZ xZS )SearchResultznq results: List[Hits]Nr   round_decimalr   c           
         |j         | _        |j        }t          |r|j        r|j        d         nd          | _        |j        }|j        }g }g }|j        	                    d          r|j        j
        j        }n+|j        	                    d          r|j        j        j        }t          t                    rdk    rfd|j        D             }n|j        }g }	d}
|D ][}|
|
|z   }}|                     |||          }|	                    t#          ||||         |||         ||                     |
|z  }
\t%                                          |	           d S )Nr   r   r   r   r   c                 0    g | ]}t          |          S rQ   )round)rc   xr   s     r,   re   z)SearchResult.__init__.<locals>.<listcomp>  s#    FFFa%=11FFFr.   )num_queries_nqtopksr@   r   r   output_fieldsfields_dataidsHasFieldr   r   r   r   scoresget_fields_by_ranger   Hitssuperr-   )r+   r   r   r   	all_topksr   r   all_pks
all_scoresr   nq_threstopkstartendnq_th_fields	__class__s     `            r,   r-   zSearchResult.__init__  s    ?I	VbHYb).99_bcc	)o)+"$
7H%% 	*gn)GGWh'' 	*gn)GmS)) 	$ma.?.?FFFF3:FFFJJJ 	 	D!8d?3E33E3LLLKKT759-z%)/DlTabb   HHr.   r  r	  all_fields_datar   c           	         i }|D ]7}|j         |j        |j        }}}t          j        |||j        |j                  }	|t          j        k    r|j	        j
        ||         |	f||<   d|t          j        t          j        t          j        fv r|j        j
        ||         |	f||<   |t          j        k    r|j        j
        ||         |	f||<   |t          j        k    r|j        j
        ||         |	f||<   |t          j        k    r|j        j
        ||         |	f||<   "|t          j        k    r|j        j
        ||         |	f||<   M|t          j        k    rBt1          t3          t4          j        |j        j
        ||                             }
|
|	f||<   |t          j        k    r5|j        j
        ||         }t?          ||j        j                   |	f||<   |j!        j"        |j!        }}||	j!        _"        |t          j#        k    r\|dk    r5||z
  |z  tI          |j%        j
                  k    r|j%        j
        |	f||<   n|j%        j
        ||z  ||z           |	f||<   o|t          j&        k    r"|j'        ||dz  z  ||dz  z           |	f||<   |t          j(        k    r"tS          j*        |j+        ||          |	f||<   |t          j,        k    r"|j-        ||dz  z  ||dz  z           |	f||<   |t          j.        k    r"|j/        ||dz  z  ||dz  z           |	f||<   79|S )N)r"   
field_namer   r&   r         )0r  scalarsr"   r   	FieldDatar   r&   r   BOOL	bool_datar   INT8INT16INT32int_dataINT64	long_dataFLOAT
float_dataDOUBLEdouble_datarB   string_dataJSONrg   mapujsonr<   	json_datarC   
array_dataextract_array_row_datar'   vectorsr2   FLOAT_VECTORr   float_vectorBINARY_VECTORbinary_vectorSPARSE_FLOAT_VECTORr   sparse_proto_to_rowssparse_float_vectorBFLOAT16_VECTORbfloat16_vectorFLOAT16_VECTORfloat16_vector)r+   r  r	  r  
field2datafieldr   r  dtype
field_metajson_dict_listtopk_array_fieldsr2   r&  s                 r,   r   z SearchResult.get_fields_by_range  s    IK
$ W	 W	E#(#3U]EJ5'D#- +	  J %%#*#4#9%)#Dj#P
4 GGG#*#3#8s#CZ#O
4 &&#*#4#9%)#Dj#P
4 &&#*#5#:59#Ez#Q
4 ''#*#6#;E#I#F
#R
4 (((#*#6#;E#I#F
#R
4 %%!%c%+w7H7MeTWi7X&Y&Y!Z!Z#1:#=
4 &&$+$6$;E#I$F!*+<g>P>]^^$
4   !=,emC%(J"---A::3;#"5W=Q=V9W9W"W"W (/';'@*'LJt$$  ,1%#+c	2IJ"(Jt$ ...)%3!8*<scQh?O*OP$
4  444!6w7RTY[^__$
4  000+ES1W,=sQw,OP$
4  ///*5C!G+<scAg+NO$
4   0 r.   c                      t          |           S rt   r   rw   s    r,   __iter__zSearchResult.__iter__      %%%r.   c           	      2   t          |           dk    rdt          |           dz
   dnd}| j        r7dt          t          t          | dd                              | d| j         S dt          t          t          | dd                              | S )#Only print at most 10 query results
   	 ... and z results remaining zdata: Nr   )r   r   rg   r!  r   r+   reminders     r,   rv   zSearchResult.__str__  s    EHYYQS^^As4yy2~AAAAY[9 	UTDS$ss)!4!455TxTTTTT=Sd3B3i0011=8===r.   )NN)rN   rO   rP   __doc__r   SearchResultDatar   r@   r   Statusr-   r   r  r   r   r   r   r   r   r:  rv   r   __classcell__r  s   @r,   r   r     s         
 (,.2	% %(%  }% *+	% % % % % %N]]"]59*:N5O]	c5cJ$8899	:] ] ] ]~&* & & & &> > > > > HHHHHr.   r   c                        e Zd ZU eeeef                  ed<   ee         ed<   dedeeef         dee         de	ee
ee         ej        f         f         dee         f
 fdZdefd	Zdefd
ZeZ xZS )r  r   	distancesr  pksrV   r   c                 X   || _         || _        t          |                                          }t          t	          |          t	          |          z
            g }t          |          D ]}i }	|                                D ]M\  }
\  }}t          |          |k    rd|	|
<   |j        t          j
        t          j        t          j        t          j        fv ra|j        j        }|j        t          j        fv r|dz  }n$|j        t          j        t          j        fv r|dz  }|||z  |dz   |z           |	|
<   |j        t          j        k    rv|j        rot                    dk    r;|	                    fd||                                         D                        !|
|v r|	                    ||                    B||         |	|
<   O|                    t)          ||         ||         |	                     t+                                          |           dS )z
        Args:
            fields(Dict[str, Tuple[List[Any], schema_pb2.FieldData]]):
                field name to a tuple of topk data and field meta
        Nr  r  r   r   c                 $    i | ]\  }}|v 	||S rQ   rQ   )rc   r   vdynamic_fieldss      r,   
<dictcomp>z!Hits.__init__.<locals>.<dictcomp>O  s*    *c*c*cDAqqTbObOb1aObObObr.   )r   rI  rg   keyssetrangeitemsr   r"   r   r'  r)  r.  r0  r&  r2   r   r&   updater   Hitr  r-   )r+   r  rJ  rI  rV   r   
all_fieldshitsi
curr_fieldfnamer   r5  r2   rN  r  s                 @r,   r-   zHits.__init__$  s!    "&++--((
c-003z??BCCt !	? !	?AJ-3\\^^ , ,))jt99>>(,Ju%?)*,+	'   %,0C!8+A*BBB!Qh#X-ExG^,___!Ag(,QWA}-D(EJu% ?hm33
8M3>**Q.."))*c*c*c*cDGMMOO*c*c*cddd --"))$q'222  %)G
5!!KKCFIaL*==>>>>r.   r   c                      t          |           S rt   r9  rw   s    r,   r:  zHits.__iter__]  r;  r.   c                     t          |           dk    rdt          |           dz
   dnd}t          t          t          | dd                             | S )r=  r>  r?  z entities remainingr@  N)r   rg   r!  r   rA  s     r,   rv   zHits.__str__`  s]    FI$iiRTnnBs4yy2~BBBBZ\s3SbS	**++9x999r.   )rN   rO   rP   r   r	   r   r@   __annotations__floatr   r   r   r   r  r-   r   r:  rv   r   rF  rG  s   @r,   r  r     s         	eCHo	E{77 38_7 ;	7
 S%S	:+? ?@@A7 Cy7 7 7 7 7 7r&* & & & &: : : : :
 HHHHHr.   r  c                      e Zd ZU eeef         ed<   eed<   eee	f         ed<   deeef         dedeee	f         fdZ
defdZed             Zed	eeef         fd
            Zed	efd            Zded	e	fdZd	efdZeZd ZdS )rU  iddistancerV   pkc                 0    || _         || _        || _        d S rt   r`  ra  rV   )r+   rb  ra  rV   s       r,   r-   zHit.__init__m  s     r.   itemc                 V    || j         vrt          d| d          | j         |         S )NzField z is not in the hit entityr   )rV   r   r+   re  s     r,   __getattr__zHit.__getattr__r  s9    t{""!*R4*R*R*RSSSS{4  r.   c                     | S rt   rQ   rw   s    r,   entityz
Hit.entityw  s    r.   r   c                     | j         S rt   )r`  rw   s    r,   rb  zHit.pk{  s	    wr.   c                     | j         S rt   )ra  rw   s    r,   scorez	Hit.score  s
    }r.   r  c                 6    | j                             |          S rt   )rV   rm   )r+   r  s     r,   rm   zHit.get  s    {z***r.   c                 6    d| j          d| j         d| j         S )Nzid: z, distance: z
, entity: rd  rw   s    r,   rv   zHit.__str__  s&    QdgQQ4=QQDKQQQr.   c                 ,    | j         | j        | j        dS )N)r`  ra  rj  rd  rw   s    r,   to_dictzHit.to_dict  s     'k
 
 	
r.   N)rN   rO   rP   r	   r@   r   r]  r^  r   r   r-   rh  r   rj  rb  rm  rm   rv   r   rq  rQ   r.   r,   rU  rU  h  sd        c3hOOOcN5c? e T#s(^    
! ! ! ! !
   X E#s(O    X u    X+c +c + + + +R R R R R H
 
 
 
 
r.   rU  r  r'   r   c                    g }| D ]D}|t           j        k    r |                    |j        j                   3|t           j        k    r |                    |j        j                   c|t           j        t           j        t           j	        fv r |                    |j
        j                   |t           j        k    r |                    |j        j                   |t           j        k    r!|                    |j        j                   	|t           j        t           j        fv r!|                    |j        j                   DF|S rt   )r   r  r   r  r   r  r  r  r  r  r  r  r  r  r  STRINGrB   r  )r  r'   row	ith_arrays       r,   r%  r%    s'    C  	8>))JJy*/0008=((JJy*/000HM8>8>JJJJJy).///8>))JJy+01118?**JJy,1222HOX-=>>>JJy,1222 ? Jr.   c                   X    e Zd Zd Zd ZdefdZd Zd Ze	j
        defd            ZdS )	LoopBasec                     d| _         d S r}   )_LoopBase__indexrw   s    r,   r-   zLoopBase.__init__  s    r.   c                     | S rt   rQ   rw   s    r,   r:  zLoopBase.__iter__  s    r.   re  c                     t          |t                    rq|j        pd}|j        r't	          |j                                                   n                                 }|j        pd} fdt          |||          D             S |                                 k    rd}t          |           	                    |          S )Nr   r   c                 :    g | ]}                     |          S rQ   )	get__item)rc   rX  r+   s     r,   re   z(LoopBase.__getitem__.<locals>.<listcomp>  s%    JJJ!DNN1%%JJJr.   zIndex out of range)
r   slicer  stopmin__len__steprR  
IndexErrorr}  )r+   re  _start_end_stepmsgs   `     r,   __getitem__zLoopBase.__getitem__  s    dE"" 	KZ_1F59YR3ty$,,..111DLLNNDINEJJJJuVT5/I/IJJJJ4<<>>!!&CS//!~~d###r.   c                     | j         |                                 k     r-| xj         dz  c_         |                     | j         dz
            S d| _         t          )Nr   r   )ry  r  r  r   rw   s    r,   r   zLoopBase.__next__  sQ    lT\\^^++LLALL##DL1$4555 r.   c                     t          t          t          t           |                     t	          dd                                                  S )Nr   r>  )r   rg   r!  r  r~  rw   s    r,   rv   zLoopBase.__str__  s8    4C!1!1%2,,!?!?@@AABBBr.   c                     t           rt   )NotImplementedErrorrg  s     r,   r}  zLoopBase.get__item  s    !!r.   N)rN   rO   rP   r-   r:  r   r  r   rv   abcabstractmethodr}  rQ   r.   r,   rw  rw    s            $ $ $ $ $  C C C 	"c " " " " " "r.   rw  )+r  typingr   r   r   r   r   r   r	   r"  pymilvus.exceptionsr
   r   r   pymilvus.grpc_genr   r   pymilvus.settingsr   r@  r   r   	constantsr   r   r   typesr   r   rS   r{   r   r   r   r   r   rg   r   r  rU  ScalarFieldr%  rw  rQ   r.   r,   <module>r     s:   



 D D D D D D D D D D D D D D D D D D  ] ] ] ] ] ] ] ] ] ] 4 4 4 4 4 4 4 4 $ $ $ $ $ $ " " " " " " " " W W W W W W W W W W      [ [ [ [ [ [ [ [|Q% Q% Q% Q% Q% Q% Q% Q%h[
 [
 [
 [
 [
 [
 [
 [
|
 
 
 
 
 
 
 
% % % % % % % %
 
 
 
 

 
 
 
$
 
 
 
 
Z 
 
 
$, , , , , , , ,^S S S S S4 S S SlE E E E E4 E E EP(
 (
 (
 (
 (
 (
 (
 (
V*()9A	$s)_   >#" #" #" #" #" #" #" #" #" #"r.   