From 20137aac4fc139e47a76855b8ea3c42e32214bb0 Mon Sep 17 00:00:00 2001 From: jojii Date: Thu, 22 May 2025 16:16:05 +0200 Subject: [PATCH 1/2] Derive clone on all builders for better request building --- src/builders/abort_shard_transfer_builder.rs | 1 + src/builders/binary_quantization_builder.rs | 1 + src/builders/bool_index_params_builder.rs | 1 + src/builders/clear_payload_points_builder.rs | 1 + src/builders/collection_params_diff_builder.rs | 1 + src/builders/context_example_pair_builder.rs | 1 + src/builders/context_input_builder.rs | 1 + src/builders/context_input_pair_builder.rs | 1 + src/builders/count_points_builder.rs | 1 + src/builders/create_alias_builder.rs | 1 + src/builders/create_collection_builder.rs | 2 +- src/builders/create_field_index_collection_builder.rs | 1 + src/builders/create_shard_key_builder.rs | 1 + src/builders/create_shard_key_request_builder.rs | 1 + src/builders/datetime_index_params_builder.rs | 1 + src/builders/decay_params_expression_builder.rs | 1 + src/builders/delete_collection_builder.rs | 1 + src/builders/delete_field_index_collection_builder.rs | 1 + src/builders/delete_payload_points_builder.rs | 1 + src/builders/delete_point_vectors_builder.rs | 1 + src/builders/delete_points_builder.rs | 1 + src/builders/delete_shard_key_request_builder.rs | 1 + src/builders/delete_snapshot_request_builder.rs | 1 + src/builders/dense_vector_builder.rs | 1 + src/builders/discover_batch_points_builder.rs | 1 + src/builders/discover_input_builder.rs | 1 + src/builders/discover_points_builder.rs | 1 + src/builders/facet_counts_builder.rs | 1 + src/builders/float_index_params_builder.rs | 1 + src/builders/formula_builder.rs | 1 + src/builders/geo_index_params_builder.rs | 1 + src/builders/get_points_builder.rs | 1 + src/builders/hnsw_config_diff_builder.rs | 1 + src/builders/integer_index_params_builder.rs | 1 + src/builders/keyword_index_params_builder.rs | 1 + src/builders/lookup_location_builder.rs | 1 + src/builders/max_optimization_threads_builder.rs | 1 + src/builders/move_shard_builder.rs | 1 + src/builders/multi_dense_vector_builder.rs | 2 +- src/builders/multi_vector_config_builder.rs | 1 + src/builders/optimizers_config_diff_builder.rs | 1 + src/builders/order_by_builder.rs | 1 + src/builders/prefetch_query_builder.rs | 1 + src/builders/product_quantization_builder.rs | 1 + src/builders/quantization_search_params_builder.rs | 1 + src/builders/query_batch_points_builder.rs | 1 + src/builders/query_point_groups_builder.rs | 1 + src/builders/query_points_builder.rs | 1 + src/builders/recommend_batch_points_builder.rs | 1 + src/builders/recommend_input_builder.rs | 1 + src/builders/recommend_point_groups_builder.rs | 1 + src/builders/recommend_points_builder.rs | 1 + src/builders/rename_alias_builder.rs | 1 + src/builders/replica_builder.rs | 1 + src/builders/replicate_shard_builder.rs | 1 + src/builders/scalar_quantization_builder.rs | 1 + src/builders/scroll_points_builder.rs | 1 + src/builders/search_batch_points_builder.rs | 1 + src/builders/search_matrix_points_builder.rs | 1 + src/builders/search_params_builder.rs | 1 + src/builders/search_point_groups_builder.rs | 1 + src/builders/search_points_builder.rs | 1 + src/builders/set_payload_points_builder.rs | 1 + src/builders/sparse_index_config_builder.rs | 1 + src/builders/sparse_vector_builder.rs | 2 +- src/builders/sparse_vector_params_builder.rs | 1 + src/builders/strict_mode_config_builder.rs | 1 + src/builders/strict_mode_multivector_config_builder.rs | 1 + src/builders/strict_mode_sparse_config_builder.rs | 1 + src/builders/text_index_params_builder.rs | 1 + src/builders/update_batch_points_builder.rs | 1 + src/builders/update_collection_builder.rs | 1 + src/builders/update_collection_cluster_setup_request_builder.rs | 1 + src/builders/update_point_vectors_builder.rs | 1 + src/builders/upsert_points_builder.rs | 1 + src/builders/uuid_index_params_builder.rs | 1 + src/builders/vector_params_builder.rs | 1 + src/builders/vector_params_diff_builder.rs | 1 + src/builders/wal_config_diff_builder.rs | 1 + src/builders/with_lookup_builder.rs | 1 + 80 files changed, 80 insertions(+), 3 deletions(-) diff --git a/src/builders/abort_shard_transfer_builder.rs b/src/builders/abort_shard_transfer_builder.rs index 2ea9e2eb..c508f911 100644 --- a/src/builders/abort_shard_transfer_builder.rs +++ b/src/builders/abort_shard_transfer_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct AbortShardTransferBuilder { /// Local shard id pub(crate) shard_id: Option, diff --git a/src/builders/binary_quantization_builder.rs b/src/builders/binary_quantization_builder.rs index 90d061f2..d9e9e8fd 100644 --- a/src/builders/binary_quantization_builder.rs +++ b/src/builders/binary_quantization_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct BinaryQuantizationBuilder { /// If true - quantized vectors always will be stored in RAM, ignoring the config of main storage pub(crate) always_ram: Option>, diff --git a/src/builders/bool_index_params_builder.rs b/src/builders/bool_index_params_builder.rs index 966320ee..09e7b886 100644 --- a/src/builders/bool_index_params_builder.rs +++ b/src/builders/bool_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct BoolIndexParamsBuilder { /// If true - store index on disk. pub(crate) on_disk: Option>, diff --git a/src/builders/clear_payload_points_builder.rs b/src/builders/clear_payload_points_builder.rs index f2fb2222..bc751d9c 100644 --- a/src/builders/clear_payload_points_builder.rs +++ b/src/builders/clear_payload_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct ClearPayloadPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/collection_params_diff_builder.rs b/src/builders/collection_params_diff_builder.rs index f2003b45..06cbf029 100644 --- a/src/builders/collection_params_diff_builder.rs +++ b/src/builders/collection_params_diff_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct CollectionParamsDiffBuilder { /// Number of replicas of each shard that network tries to maintain pub(crate) replication_factor: Option>, diff --git a/src/builders/context_example_pair_builder.rs b/src/builders/context_example_pair_builder.rs index b58ad962..50ec43b2 100644 --- a/src/builders/context_example_pair_builder.rs +++ b/src/builders/context_example_pair_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ContextExamplePairBuilder { pub(crate) positive: Option>, pub(crate) negative: Option>, diff --git a/src/builders/context_input_builder.rs b/src/builders/context_input_builder.rs index 1952acc2..f3bf5996 100644 --- a/src/builders/context_input_builder.rs +++ b/src/builders/context_input_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ContextInputBuilder { /// Search space will be constrained by these pairs of vectors pub(crate) pairs: Option>, diff --git a/src/builders/context_input_pair_builder.rs b/src/builders/context_input_pair_builder.rs index 78b01331..4e9e5304 100644 --- a/src/builders/context_input_pair_builder.rs +++ b/src/builders/context_input_pair_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ContextInputPairBuilder { /// A positive vector pub(crate) positive: Option>, diff --git a/src/builders/count_points_builder.rs b/src/builders/count_points_builder.rs index cef0296a..5eb0e7bf 100644 --- a/src/builders/count_points_builder.rs +++ b/src/builders/count_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct CountPointsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/create_alias_builder.rs b/src/builders/create_alias_builder.rs index 12d0b78c..0ee75b98 100644 --- a/src/builders/create_alias_builder.rs +++ b/src/builders/create_alias_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct CreateAliasBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/create_collection_builder.rs b/src/builders/create_collection_builder.rs index eb976946..edba1a43 100644 --- a/src/builders/create_collection_builder.rs +++ b/src/builders/create_collection_builder.rs @@ -1,7 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct CreateCollectionBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/create_field_index_collection_builder.rs b/src/builders/create_field_index_collection_builder.rs index 5dc3efca..70048bf1 100644 --- a/src/builders/create_field_index_collection_builder.rs +++ b/src/builders/create_field_index_collection_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct CreateFieldIndexCollectionBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/create_shard_key_builder.rs b/src/builders/create_shard_key_builder.rs index f448223d..24f4553f 100644 --- a/src/builders/create_shard_key_builder.rs +++ b/src/builders/create_shard_key_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct CreateShardKeyBuilder { /// User-defined shard key pub(crate) shard_key: Option>, diff --git a/src/builders/create_shard_key_request_builder.rs b/src/builders/create_shard_key_request_builder.rs index 84a3a378..a6b64d3b 100644 --- a/src/builders/create_shard_key_request_builder.rs +++ b/src/builders/create_shard_key_request_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct CreateShardKeyRequestBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/datetime_index_params_builder.rs b/src/builders/datetime_index_params_builder.rs index 40d48992..dd3eeb9a 100644 --- a/src/builders/datetime_index_params_builder.rs +++ b/src/builders/datetime_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DatetimeIndexParamsBuilder { /// If true - store index on disk. pub(crate) on_disk: Option>, diff --git a/src/builders/decay_params_expression_builder.rs b/src/builders/decay_params_expression_builder.rs index 7132dce4..d5162f97 100644 --- a/src/builders/decay_params_expression_builder.rs +++ b/src/builders/decay_params_expression_builder.rs @@ -4,6 +4,7 @@ use crate::qdrant::*; /// /// Decay functions (exponential, Gaussian, linear) are used in scoring to create a decay effect /// based on distance from a target value. +#[derive(Clone)] pub struct DecayParamsExpressionBuilder { /// The variable to decay pub(crate) x: Expression, diff --git a/src/builders/delete_collection_builder.rs b/src/builders/delete_collection_builder.rs index 053ca356..53dae3c9 100644 --- a/src/builders/delete_collection_builder.rs +++ b/src/builders/delete_collection_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DeleteCollectionBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/delete_field_index_collection_builder.rs b/src/builders/delete_field_index_collection_builder.rs index 9add16ee..bb8a287b 100644 --- a/src/builders/delete_field_index_collection_builder.rs +++ b/src/builders/delete_field_index_collection_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DeleteFieldIndexCollectionBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/delete_payload_points_builder.rs b/src/builders/delete_payload_points_builder.rs index 52301e3c..fc9d1e21 100644 --- a/src/builders/delete_payload_points_builder.rs +++ b/src/builders/delete_payload_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct DeletePayloadPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/delete_point_vectors_builder.rs b/src/builders/delete_point_vectors_builder.rs index 43405b15..deff00a5 100644 --- a/src/builders/delete_point_vectors_builder.rs +++ b/src/builders/delete_point_vectors_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct DeletePointVectorsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/delete_points_builder.rs b/src/builders/delete_points_builder.rs index 89cad477..05775ce9 100644 --- a/src/builders/delete_points_builder.rs +++ b/src/builders/delete_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct DeletePointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/delete_shard_key_request_builder.rs b/src/builders/delete_shard_key_request_builder.rs index b6677099..8bb97411 100644 --- a/src/builders/delete_shard_key_request_builder.rs +++ b/src/builders/delete_shard_key_request_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DeleteShardKeyRequestBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/delete_snapshot_request_builder.rs b/src/builders/delete_snapshot_request_builder.rs index 8c9c3332..e162c8ba 100644 --- a/src/builders/delete_snapshot_request_builder.rs +++ b/src/builders/delete_snapshot_request_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DeleteSnapshotRequestBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/dense_vector_builder.rs b/src/builders/dense_vector_builder.rs index fdf705c2..27c2912a 100644 --- a/src/builders/dense_vector_builder.rs +++ b/src/builders/dense_vector_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DenseVectorBuilder { pub(crate) values: Vec, } diff --git a/src/builders/discover_batch_points_builder.rs b/src/builders/discover_batch_points_builder.rs index 8f533797..1cdd6f2f 100644 --- a/src/builders/discover_batch_points_builder.rs +++ b/src/builders/discover_batch_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct DiscoverBatchPointsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/discover_input_builder.rs b/src/builders/discover_input_builder.rs index 6d87c1f1..0ac89a22 100644 --- a/src/builders/discover_input_builder.rs +++ b/src/builders/discover_input_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct DiscoverInputBuilder { /// Use this as the primary search objective pub(crate) target: Option>, diff --git a/src/builders/discover_points_builder.rs b/src/builders/discover_points_builder.rs index c3bfb79f..eadbd835 100644 --- a/src/builders/discover_points_builder.rs +++ b/src/builders/discover_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct DiscoverPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/facet_counts_builder.rs b/src/builders/facet_counts_builder.rs index 102c7e73..a3b7bf97 100644 --- a/src/builders/facet_counts_builder.rs +++ b/src/builders/facet_counts_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct FacetCountsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/float_index_params_builder.rs b/src/builders/float_index_params_builder.rs index 1c3888ad..51627c62 100644 --- a/src/builders/float_index_params_builder.rs +++ b/src/builders/float_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct FloatIndexParamsBuilder { /// If true - store index on disk. pub(crate) on_disk: Option>, diff --git a/src/builders/formula_builder.rs b/src/builders/formula_builder.rs index b87006c1..287133bb 100644 --- a/src/builders/formula_builder.rs +++ b/src/builders/formula_builder.rs @@ -5,6 +5,7 @@ use crate::qdrant::*; /// Builder for the Formula struct, which represents a scoring formula for points. /// /// The Formula struct is used to define custom scoring expressions and default values. +#[derive(Clone)] pub struct FormulaBuilder { /// The expression that defines how to score points. pub(crate) expression: Expression, diff --git a/src/builders/geo_index_params_builder.rs b/src/builders/geo_index_params_builder.rs index 0be70d02..6269da79 100644 --- a/src/builders/geo_index_params_builder.rs +++ b/src/builders/geo_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct GeoIndexParamsBuilder { /// If true - store index on disk. pub(crate) on_disk: Option>, diff --git a/src/builders/get_points_builder.rs b/src/builders/get_points_builder.rs index 66395f24..4423c417 100644 --- a/src/builders/get_points_builder.rs +++ b/src/builders/get_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct GetPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/hnsw_config_diff_builder.rs b/src/builders/hnsw_config_diff_builder.rs index bbd78ca1..9bb23bbb 100644 --- a/src/builders/hnsw_config_diff_builder.rs +++ b/src/builders/hnsw_config_diff_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct HnswConfigDiffBuilder { /// /// Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. diff --git a/src/builders/integer_index_params_builder.rs b/src/builders/integer_index_params_builder.rs index 72da9b92..c653527a 100644 --- a/src/builders/integer_index_params_builder.rs +++ b/src/builders/integer_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct IntegerIndexParamsBuilder { /// If true - support direct lookups. pub(crate) lookup: Option>, diff --git a/src/builders/keyword_index_params_builder.rs b/src/builders/keyword_index_params_builder.rs index 1e64d7cd..d85037a4 100644 --- a/src/builders/keyword_index_params_builder.rs +++ b/src/builders/keyword_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct KeywordIndexParamsBuilder { /// If true - used for tenant optimization. pub(crate) is_tenant: Option>, diff --git a/src/builders/lookup_location_builder.rs b/src/builders/lookup_location_builder.rs index 4af626b5..5cc56e25 100644 --- a/src/builders/lookup_location_builder.rs +++ b/src/builders/lookup_location_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct LookupLocationBuilder { pub(crate) collection_name: Option, /// Which vector to use for search, if not specified - use default vector diff --git a/src/builders/max_optimization_threads_builder.rs b/src/builders/max_optimization_threads_builder.rs index 2957628f..af8ae21e 100644 --- a/src/builders/max_optimization_threads_builder.rs +++ b/src/builders/max_optimization_threads_builder.rs @@ -5,6 +5,7 @@ use crate::qdrant::*; /// /// - If `auto` - have no limit and choose dynamically to saturate CPU. /// - If `disabled` or `0` - no optimization threads, optimizations will be disabled. +#[derive(Clone)] pub struct MaxOptimizationThreadsBuilder { pub(crate) inner: MaxOptimizationThreads, } diff --git a/src/builders/move_shard_builder.rs b/src/builders/move_shard_builder.rs index 2aa4773f..5cddf226 100644 --- a/src/builders/move_shard_builder.rs +++ b/src/builders/move_shard_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct MoveShardBuilder { /// Local shard id pub(crate) shard_id: Option, diff --git a/src/builders/multi_dense_vector_builder.rs b/src/builders/multi_dense_vector_builder.rs index 59ac8d97..0409727b 100644 --- a/src/builders/multi_dense_vector_builder.rs +++ b/src/builders/multi_dense_vector_builder.rs @@ -1,6 +1,6 @@ use crate::qdrant::*; -#[derive(Default)] +#[derive(Clone, Default)] pub struct MultiDenseVectorBuilder { pub(crate) vectors: Vec, } diff --git a/src/builders/multi_vector_config_builder.rs b/src/builders/multi_vector_config_builder.rs index 07930ada..6b07052c 100644 --- a/src/builders/multi_vector_config_builder.rs +++ b/src/builders/multi_vector_config_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct MultiVectorConfigBuilder { /// Comparator for multi-vector search pub(crate) comparator: Option, diff --git a/src/builders/optimizers_config_diff_builder.rs b/src/builders/optimizers_config_diff_builder.rs index 1f63a1d0..bc909b6b 100644 --- a/src/builders/optimizers_config_diff_builder.rs +++ b/src/builders/optimizers_config_diff_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct OptimizersConfigDiffBuilder { /// /// The minimal fraction of deleted vectors in a segment, required to perform segment optimization diff --git a/src/builders/order_by_builder.rs b/src/builders/order_by_builder.rs index 54e7930a..ae0c0580 100644 --- a/src/builders/order_by_builder.rs +++ b/src/builders/order_by_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct OrderByBuilder { /// Payload key to order by pub(crate) key: Option, diff --git a/src/builders/prefetch_query_builder.rs b/src/builders/prefetch_query_builder.rs index 37b6c65c..2cf2b144 100644 --- a/src/builders/prefetch_query_builder.rs +++ b/src/builders/prefetch_query_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct PrefetchQueryBuilder { /// Sub-requests to perform first. If present, the query will be performed on the results of the prefetches. pub(crate) prefetch: Option>, diff --git a/src/builders/product_quantization_builder.rs b/src/builders/product_quantization_builder.rs index 64769629..4cfdf77f 100644 --- a/src/builders/product_quantization_builder.rs +++ b/src/builders/product_quantization_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ProductQuantizationBuilder { /// Compression ratio pub(crate) compression: Option, diff --git a/src/builders/quantization_search_params_builder.rs b/src/builders/quantization_search_params_builder.rs index f3b4ad28..da1a4933 100644 --- a/src/builders/quantization_search_params_builder.rs +++ b/src/builders/quantization_search_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct QuantizationSearchParamsBuilder { /// /// If set to true, search will ignore quantized vector data diff --git a/src/builders/query_batch_points_builder.rs b/src/builders/query_batch_points_builder.rs index 8a65b23e..8405278a 100644 --- a/src/builders/query_batch_points_builder.rs +++ b/src/builders/query_batch_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct QueryBatchPointsBuilder { pub(crate) collection_name: Option, pub(crate) query_points: Option>, diff --git a/src/builders/query_point_groups_builder.rs b/src/builders/query_point_groups_builder.rs index d4a45d6a..865254b1 100644 --- a/src/builders/query_point_groups_builder.rs +++ b/src/builders/query_point_groups_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct QueryPointGroupsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/query_points_builder.rs b/src/builders/query_points_builder.rs index 19b0f33d..485da0a2 100644 --- a/src/builders/query_points_builder.rs +++ b/src/builders/query_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct QueryPointsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/recommend_batch_points_builder.rs b/src/builders/recommend_batch_points_builder.rs index 4f518264..2f67fa20 100644 --- a/src/builders/recommend_batch_points_builder.rs +++ b/src/builders/recommend_batch_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct RecommendBatchPointsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/recommend_input_builder.rs b/src/builders/recommend_input_builder.rs index d267f711..0f3a8e9a 100644 --- a/src/builders/recommend_input_builder.rs +++ b/src/builders/recommend_input_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct RecommendInputBuilder { /// Look for vectors closest to the vectors from these points pub(crate) positive: Option>, diff --git a/src/builders/recommend_point_groups_builder.rs b/src/builders/recommend_point_groups_builder.rs index 7ddd47d5..c4deb25d 100644 --- a/src/builders/recommend_point_groups_builder.rs +++ b/src/builders/recommend_point_groups_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct RecommendPointGroupsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/recommend_points_builder.rs b/src/builders/recommend_points_builder.rs index 77d7dd20..00b789cf 100644 --- a/src/builders/recommend_points_builder.rs +++ b/src/builders/recommend_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct RecommendPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/rename_alias_builder.rs b/src/builders/rename_alias_builder.rs index 9626ed6e..151e90d3 100644 --- a/src/builders/rename_alias_builder.rs +++ b/src/builders/rename_alias_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct RenameAliasBuilder { /// Name of the alias to rename pub(crate) old_alias_name: Option, diff --git a/src/builders/replica_builder.rs b/src/builders/replica_builder.rs index f7deb395..1e2a8fbf 100644 --- a/src/builders/replica_builder.rs +++ b/src/builders/replica_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ReplicaBuilder { pub(crate) shard_id: Option, pub(crate) peer_id: Option, diff --git a/src/builders/replicate_shard_builder.rs b/src/builders/replicate_shard_builder.rs index 5867cfe7..86737a66 100644 --- a/src/builders/replicate_shard_builder.rs +++ b/src/builders/replicate_shard_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ReplicateShardBuilder { /// Local shard id pub(crate) shard_id: Option, diff --git a/src/builders/scalar_quantization_builder.rs b/src/builders/scalar_quantization_builder.rs index e1cb8112..7fc75db3 100644 --- a/src/builders/scalar_quantization_builder.rs +++ b/src/builders/scalar_quantization_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct ScalarQuantizationBuilder { /// Type of quantization pub(crate) r#type: Option, diff --git a/src/builders/scroll_points_builder.rs b/src/builders/scroll_points_builder.rs index 8e0dd99c..fb348530 100644 --- a/src/builders/scroll_points_builder.rs +++ b/src/builders/scroll_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct ScrollPointsBuilder { pub(crate) collection_name: Option, /// Filter conditions - return only those points that satisfy the specified conditions diff --git a/src/builders/search_batch_points_builder.rs b/src/builders/search_batch_points_builder.rs index 1bcb2560..a1593a63 100644 --- a/src/builders/search_batch_points_builder.rs +++ b/src/builders/search_batch_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct SearchBatchPointsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/search_matrix_points_builder.rs b/src/builders/search_matrix_points_builder.rs index 5be06bda..5868a0e3 100644 --- a/src/builders/search_matrix_points_builder.rs +++ b/src/builders/search_matrix_points_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct SearchMatrixPointsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/search_params_builder.rs b/src/builders/search_params_builder.rs index cc177dda..23afa7c0 100644 --- a/src/builders/search_params_builder.rs +++ b/src/builders/search_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct SearchParamsBuilder { /// /// Params relevant to HNSW index. Size of the beam in a beam-search. diff --git a/src/builders/search_point_groups_builder.rs b/src/builders/search_point_groups_builder.rs index 169fd64e..b192b956 100644 --- a/src/builders/search_point_groups_builder.rs +++ b/src/builders/search_point_groups_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct SearchPointGroupsBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/search_points_builder.rs b/src/builders/search_points_builder.rs index cc870069..ad9ba370 100644 --- a/src/builders/search_points_builder.rs +++ b/src/builders/search_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct SearchPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/set_payload_points_builder.rs b/src/builders/set_payload_points_builder.rs index 6a6414e9..fa9998c8 100644 --- a/src/builders/set_payload_points_builder.rs +++ b/src/builders/set_payload_points_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct SetPayloadPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/sparse_index_config_builder.rs b/src/builders/sparse_index_config_builder.rs index e9c5ef8f..03b57fbd 100644 --- a/src/builders/sparse_index_config_builder.rs +++ b/src/builders/sparse_index_config_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct SparseIndexConfigBuilder { /// /// Prefer a full scan search upto (excluding) this number of vectors. diff --git a/src/builders/sparse_vector_builder.rs b/src/builders/sparse_vector_builder.rs index c225608c..5ae8e141 100644 --- a/src/builders/sparse_vector_builder.rs +++ b/src/builders/sparse_vector_builder.rs @@ -1,6 +1,6 @@ use crate::qdrant::*; -#[derive(Default)] +#[derive(Clone, Default)] pub struct SparseVectorBuilder { pub(crate) indices: Vec, pub(crate) values: Vec, diff --git a/src/builders/sparse_vector_params_builder.rs b/src/builders/sparse_vector_params_builder.rs index 1bf2d628..cc47c136 100644 --- a/src/builders/sparse_vector_params_builder.rs +++ b/src/builders/sparse_vector_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct SparseVectorParamsBuilder { /// Configuration of sparse index pub(crate) index: Option>, diff --git a/src/builders/strict_mode_config_builder.rs b/src/builders/strict_mode_config_builder.rs index eb60febf..69382142 100644 --- a/src/builders/strict_mode_config_builder.rs +++ b/src/builders/strict_mode_config_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct StrictModeConfigBuilder { pub(crate) enabled: Option>, pub(crate) max_query_limit: Option>, diff --git a/src/builders/strict_mode_multivector_config_builder.rs b/src/builders/strict_mode_multivector_config_builder.rs index e0e0c1f3..8ae1ecca 100644 --- a/src/builders/strict_mode_multivector_config_builder.rs +++ b/src/builders/strict_mode_multivector_config_builder.rs @@ -3,6 +3,7 @@ use std::collections::HashMap; use crate::qdrant::{StrictModeMultivector, StrictModeMultivectorConfig}; /// Builder for StrictModeMultivectorConfig, which defines multivector configuration for strict mode. +#[derive(Clone)] pub struct StrictModeMultivectorConfigBuilder { /// The multivector configuration map, where keys are vector names and values are their configurations. pub(crate) multivector_config: HashMap, diff --git a/src/builders/strict_mode_sparse_config_builder.rs b/src/builders/strict_mode_sparse_config_builder.rs index 4122ae52..7f2cc7b7 100644 --- a/src/builders/strict_mode_sparse_config_builder.rs +++ b/src/builders/strict_mode_sparse_config_builder.rs @@ -3,6 +3,7 @@ use std::collections::HashMap; use crate::qdrant::{StrictModeSparse, StrictModeSparseConfig}; /// Builder for StrictModeSparseConfig, which defines sparse vector configuration for strict mode. +#[derive(Clone)] pub struct StrictModeSparseConfigBuilder { /// The sparse vectors configuration map, where keys are vector names and values are their configurations. pub(crate) sparse_config: HashMap, diff --git a/src/builders/text_index_params_builder.rs b/src/builders/text_index_params_builder.rs index ed82fa91..3f3134e4 100644 --- a/src/builders/text_index_params_builder.rs +++ b/src/builders/text_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct TextIndexParamsBuilder { /// Tokenizer type pub(crate) tokenizer: Option, diff --git a/src/builders/update_batch_points_builder.rs b/src/builders/update_batch_points_builder.rs index f2918845..e1fba831 100644 --- a/src/builders/update_batch_points_builder.rs +++ b/src/builders/update_batch_points_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct UpdateBatchPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/update_collection_builder.rs b/src/builders/update_collection_builder.rs index 26c7886e..62000533 100644 --- a/src/builders/update_collection_builder.rs +++ b/src/builders/update_collection_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct UpdateCollectionBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/update_collection_cluster_setup_request_builder.rs b/src/builders/update_collection_cluster_setup_request_builder.rs index c4c9014a..f1f1155e 100644 --- a/src/builders/update_collection_cluster_setup_request_builder.rs +++ b/src/builders/update_collection_cluster_setup_request_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct UpdateCollectionClusterSetupRequestBuilder { /// Name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/update_point_vectors_builder.rs b/src/builders/update_point_vectors_builder.rs index aac19207..161ecc49 100644 --- a/src/builders/update_point_vectors_builder.rs +++ b/src/builders/update_point_vectors_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct UpdatePointVectorsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/upsert_points_builder.rs b/src/builders/upsert_points_builder.rs index 14499c9e..1d8ddb42 100644 --- a/src/builders/upsert_points_builder.rs +++ b/src/builders/upsert_points_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct UpsertPointsBuilder { /// name of the collection pub(crate) collection_name: Option, diff --git a/src/builders/uuid_index_params_builder.rs b/src/builders/uuid_index_params_builder.rs index cea869c2..2bfb46c9 100644 --- a/src/builders/uuid_index_params_builder.rs +++ b/src/builders/uuid_index_params_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct UuidIndexParamsBuilder { /// If true - used for tenant optimization. pub(crate) is_tenant: Option>, diff --git a/src/builders/vector_params_builder.rs b/src/builders/vector_params_builder.rs index 8777eaa3..501a545b 100644 --- a/src/builders/vector_params_builder.rs +++ b/src/builders/vector_params_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct VectorParamsBuilder { /// Size of the vectors pub(crate) size: Option, diff --git a/src/builders/vector_params_diff_builder.rs b/src/builders/vector_params_diff_builder.rs index 4b05a91e..463cf376 100644 --- a/src/builders/vector_params_diff_builder.rs +++ b/src/builders/vector_params_diff_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct VectorParamsDiffBuilder { /// Update params for HNSW index. If empty object - it will be unset pub(crate) hnsw_config: Option>, diff --git a/src/builders/wal_config_diff_builder.rs b/src/builders/wal_config_diff_builder.rs index d69a297e..b42f88ef 100644 --- a/src/builders/wal_config_diff_builder.rs +++ b/src/builders/wal_config_diff_builder.rs @@ -1,5 +1,6 @@ use crate::qdrant::*; +#[derive(Clone)] pub struct WalConfigDiffBuilder { /// Size of a single WAL block file pub(crate) wal_capacity_mb: Option>, diff --git a/src/builders/with_lookup_builder.rs b/src/builders/with_lookup_builder.rs index 5cf86604..c476c09e 100644 --- a/src/builders/with_lookup_builder.rs +++ b/src/builders/with_lookup_builder.rs @@ -1,6 +1,7 @@ use crate::grpc_macros::convert_option; use crate::qdrant::*; +#[derive(Clone)] pub struct WithLookupBuilder { /// Name of the collection to use for points lookup pub(crate) collection: Option, From 0718363405ff9afa3e0a4d96165651224b6391ce Mon Sep 17 00:00:00 2001 From: jojii Date: Fri, 23 May 2025 10:02:39 +0200 Subject: [PATCH 2/2] Make clippy happy --- clippy.toml | 1 + 1 file changed, 1 insertion(+) create mode 100644 clippy.toml diff --git a/clippy.toml b/clippy.toml new file mode 100644 index 00000000..d2fb6fd2 --- /dev/null +++ b/clippy.toml @@ -0,0 +1 @@ +large-error-threshold = 256