mirror of https://github.com/milvus-io/milvus.git
57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
package querynode
|
|
|
|
/*
|
|
|
|
#cgo CFLAGS: -I${SRCDIR}/../core/output/include
|
|
|
|
#cgo LDFLAGS: -L${SRCDIR}/../core/output/lib -lmilvus_segcore -Wl,-rpath=${SRCDIR}/../core/output/lib
|
|
|
|
#include "segcore/collection_c.h"
|
|
#include "segcore/segment_c.h"
|
|
|
|
*/
|
|
import "C"
|
|
import (
|
|
"github.com/zilliztech/milvus-distributed/internal/proto/etcdpb"
|
|
)
|
|
|
|
type Collection struct {
|
|
collectionPtr C.CCollection
|
|
meta *etcdpb.CollectionMeta
|
|
partitions []*Partition
|
|
}
|
|
|
|
func (c *Collection) Name() string {
|
|
return (*c.meta).Schema.Name
|
|
}
|
|
|
|
func (c *Collection) ID() UniqueID {
|
|
return (*c.meta).ID
|
|
}
|
|
|
|
func (c *Collection) Partitions() *[]*Partition {
|
|
return &c.partitions
|
|
}
|
|
|
|
func newCollection(collMeta *etcdpb.CollectionMeta, collMetaBlob string) *Collection {
|
|
/*
|
|
CCollection
|
|
newCollection(const char* schema_conf);
|
|
*/
|
|
cCollMetaBlob := C.CString(collMetaBlob)
|
|
collection := C.NewCollection(cCollMetaBlob)
|
|
|
|
var newCollection = &Collection{collectionPtr: collection, meta: collMeta}
|
|
|
|
return newCollection
|
|
}
|
|
|
|
func deleteCollection(collection *Collection) {
|
|
/*
|
|
void
|
|
deleteCollection(CCollection collection);
|
|
*/
|
|
cPtr := collection.collectionPtr
|
|
C.DeleteCollection(cPtr)
|
|
}
|