Skip to content

Commit

Permalink
Fix several bugs related to MilvusClient
Browse files Browse the repository at this point in the history
Signed-off-by: zhenshan.cao <[email protected]>
  • Loading branch information
czs007 committed Feb 5, 2024
1 parent f637526 commit 46930a8
Show file tree
Hide file tree
Showing 9 changed files with 123 additions and 34 deletions.
3 changes: 2 additions & 1 deletion pymilvus/client/grpc_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -586,6 +586,7 @@ def delete(
partition_name,
expression,
consistency_level=kwargs.get("consistency_level", 0),
param_name=kwargs.get("param_name", None),
)
future = self._stub.Delete.future(req, timeout=timeout)

Expand Down Expand Up @@ -1002,7 +1003,7 @@ def describe_index(
info_dict = {kv.key: kv.value for kv in response.index_descriptions[0].params}
info_dict["field_name"] = response.index_descriptions[0].field_name
info_dict["index_name"] = response.index_descriptions[0].index_name
if info_dict.get("params", None):
if info_dict.get("params"):
info_dict["params"] = json.loads(info_dict["params"])
return info_dict

Expand Down
9 changes: 7 additions & 2 deletions pymilvus/client/prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,9 @@ def _parse_row_request(

try:
for entity in entities:
if not isinstance(entity, Dict):
msg = f"expected Dict, got '{type(entity).__name__}'"
raise TypeError(msg)
for k, v in entity.items():
if k not in fields_data and not enable_dynamic:
raise DataNotMatchException(message=ExceptionsMessage.InsertUnexpectedField)
Expand Down Expand Up @@ -545,6 +548,7 @@ def delete_request(
partition_name: str,
expr: str,
consistency_level: Optional[Union[int, str]],
**kwargs,
):
def check_str(instr: str, prefix: str):
if instr is None:
Expand All @@ -557,7 +561,8 @@ def check_str(instr: str, prefix: str):
check_str(collection_name, "collection_name")
if partition_name is not None and partition_name != "":
check_str(partition_name, "partition_name")
check_str(expr, "expr")
param_name = kwargs.get("param_name", "expr")
check_str(expr, param_name)

return milvus_types.DeleteRequest(
collection_name=collection_name,
Expand Down Expand Up @@ -626,7 +631,7 @@ def search_requests_with_expr(
if group_by_field is not None:
search_params[GROUP_BY_FIELD] = group_by_field

if param.get("metric_type", None) is not None:
if param.get("metric_type") is not None:
search_params["metric_type"] = param["metric_type"]

if anns_field:
Expand Down
2 changes: 1 addition & 1 deletion pymilvus/client/ts_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ def get_bounded_ts():


def construct_guarantee_ts(collection_name: str, kwargs: Dict):
consistency_level = kwargs.get("consistency_level", None)
consistency_level = kwargs.get("consistency_level")
use_default = consistency_level is None
if use_default:
# in case of the default consistency is Customized or Session,
Expand Down
11 changes: 11 additions & 0 deletions pymilvus/milvus_client/check.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from typing import Any


def check_param_type(param_name: str, param: Any, expected_type: Any, ignore_none: bool = True):
if ignore_none and param is None:
return
if not isinstance(param, expected_type):
msg = f"wrong type of arugment '{param_name}', "
msg += f"expected '{expected_type.__name__}', "
msg += f"got '{type(param).__name__}'"
raise TypeError(msg)
1 change: 1 addition & 0 deletions pymilvus/milvus_client/index.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ def index_type(self):

def __iter__(self):
yield "field_name", self._field_name
yield "index_type", self._index_type
yield "index_name", self._index_name
yield from self._kwargs.items()

Expand Down
Loading

0 comments on commit 46930a8

Please sign in to comment.