MCPcopy Create free account
hub / github.com/cosdata/cosdata / create_node

Function create_node

src/vector_store.rs:943–973  ·  view source on GitHub ↗
(
    version: VersionNumber,
    file_id: IndexFileId,
    hnsw_level: HNSWLevel,
    prop_value: Arc<NodePropValue>,
    prop_metadata: Option<Arc<NodePropMetadata>>,
    parent: SharedLatestNode,
 

Source from the content-addressed store, hash-verified

941
942#[allow(clippy::too_many_arguments)]
943fn create_node(
944 version: VersionNumber,
945 file_id: IndexFileId,
946 hnsw_level: HNSWLevel,
947 prop_value: Arc<NodePropValue>,
948 prop_metadata: Option<Arc<NodePropMetadata>>,
949 parent: SharedLatestNode,
950 child: SharedLatestNode,
951 neighbors_count: usize,
952 offset_counter: &HNSWIndexFileOffsetCounter,
953 distance_metric: DistanceMetric,
954) -> SharedLatestNode {
955 let offset = if hnsw_level.0 == 0 {
956 offset_counter.next_level_0_offset()
957 } else {
958 offset_counter.next_offset()
959 };
960 let node = ProbNode::new(
961 hnsw_level,
962 version,
963 prop_value,
964 prop_metadata,
965 parent,
966 child,
967 neighbors_count,
968 distance_metric,
969 );
970
971 let lazy_item = LazyItem::new(node, file_id, offset);
972 LatestNode::new(lazy_item, offset_counter.next_latest_version_link_offset())
973}
974
975#[allow(clippy::too_many_arguments)]
976fn create_node_edges(

Callers 1

index_embeddingFunction · 0.85

Calls 3

next_level_0_offsetMethod · 0.80
next_offsetMethod · 0.80

Tested by

no test coverage detected