@@ -547,6 +547,64 @@ MilvusClientV2Impl::AddCollectionField(const AddCollectionFieldRequest& request)
547547 pre , &MilvusConnection::AddCollectionField);
548548}
549549
550+ Status
551+ MilvusClientV2Impl::AddCollectionFunction (const AddCollectionFunctionRequest& request) {
552+ if (request.Function () == nullptr ) {
553+ return {StatusCode::INVALID_ARGUMENT, " Function cannot be null." };
554+ }
555+ if (request.Function ()->Name ().empty ()) {
556+ return {StatusCode::INVALID_ARGUMENT, " Function name cannot be empty." };
557+ }
558+
559+ auto pre = [&request](proto::milvus::AddCollectionFunctionRequest& rpc_request) {
560+ rpc_request.set_db_name (request.DatabaseName ());
561+ rpc_request.set_collection_name (request.CollectionName ());
562+ ConvertFunctionSchema (request.Function (), *rpc_request.mutable_functionschema ());
563+ return Status::OK ();
564+ };
565+
566+ return connection_.Invoke <proto::milvus::AddCollectionFunctionRequest, proto::common::Status>(
567+ pre , &MilvusConnection::AddCollectionFunction);
568+ }
569+
570+ Status
571+ MilvusClientV2Impl::AlterCollectionFunction (const AlterCollectionFunctionRequest& request) {
572+ if (request.Function () == nullptr ) {
573+ return {StatusCode::INVALID_ARGUMENT, " Function cannot be null." };
574+ }
575+ if (request.Function ()->Name ().empty ()) {
576+ return {StatusCode::INVALID_ARGUMENT, " Function name cannot be empty." };
577+ }
578+
579+ auto pre = [&request](proto::milvus::AlterCollectionFunctionRequest& rpc_request) {
580+ rpc_request.set_db_name (request.DatabaseName ());
581+ rpc_request.set_collection_name (request.CollectionName ());
582+ rpc_request.set_function_name (request.Function ()->Name ());
583+ ConvertFunctionSchema (request.Function (), *rpc_request.mutable_functionschema ());
584+ return Status::OK ();
585+ };
586+
587+ return connection_.Invoke <proto::milvus::AlterCollectionFunctionRequest, proto::common::Status>(
588+ pre , &MilvusConnection::AlterCollectionFunction);
589+ }
590+
591+ Status
592+ MilvusClientV2Impl::DropCollectionFunction (const DropCollectionFunctionRequest& request) {
593+ if (request.FunctionName ().empty ()) {
594+ return {StatusCode::INVALID_ARGUMENT, " Function name cannot be empty." };
595+ }
596+
597+ auto pre = [&request](proto::milvus::DropCollectionFunctionRequest& rpc_request) {
598+ rpc_request.set_db_name (request.DatabaseName ());
599+ rpc_request.set_collection_name (request.CollectionName ());
600+ rpc_request.set_function_name (request.FunctionName ());
601+ return Status::OK ();
602+ };
603+
604+ return connection_.Invoke <proto::milvus::DropCollectionFunctionRequest, proto::common::Status>(
605+ pre , &MilvusConnection::DropCollectionFunction);
606+ }
607+
550608Status
551609MilvusClientV2Impl::CreatePartition (const CreatePartitionRequest& request) {
552610 auto pre = [&request](proto::milvus::CreatePartitionRequest& rpc_request) {
0 commit comments