Update segment cgo api

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
pull/4973/head^2
bigsheeper 2020-09-08 15:56:03 +08:00 committed by yefu.chen
parent 815a6ca1cf
commit cdf8223558
3 changed files with 34 additions and 87 deletions

View File

@ -11,8 +11,6 @@ NewSegment(CPartition partition, unsigned long segment_id) {
auto segment = milvus::dog_segment::CreateSegment(p->get_schema());
segment->set_segment_id(segment_id);
// TODO: delete print
std::cout << "create segment " << segment_id << std::endl;
return (void*)segment.release();
@ -24,7 +22,7 @@ DeleteSegment(CSegmentBase segment) {
auto s = (milvus::dog_segment::SegmentBase*)segment;
// TODO: delete print
std::cout << "delete segment " << s->get_segment_id() << std::endl;
std::cout << "delete segment " << std::endl;
delete s;
}
@ -32,12 +30,14 @@ DeleteSegment(CSegmentBase segment) {
int
Insert(CSegmentBase c_segment,
signed long int size,
const unsigned long* primary_keys,
const unsigned long* timestamps,
void* raw_data,
int sizeof_per_row,
signed long int count) {
signed long int size,
const long* primary_keys,
const unsigned long* timestamps,
void* raw_data,
int sizeof_per_row,
signed long int count,
unsigned long timestamp_min,
unsigned long timestamp_max) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
milvus::dog_segment::DogDataChunk dataChunk{};
@ -45,19 +45,21 @@ Insert(CSegmentBase c_segment,
dataChunk.sizeof_per_row = sizeof_per_row;
dataChunk.count = count;
auto res = segment->Insert(size, primary_keys, timestamps, dataChunk);
auto res = segment->Insert(size, primary_keys, timestamps, dataChunk, std::make_pair(timestamp_min, timestamp_max));
return res.code();
}
int
Delete(CSegmentBase c_segment,
long size,
const unsigned long* primary_keys,
const unsigned long* timestamps) {
long size,
const long* primary_keys,
const unsigned long* timestamps,
unsigned long timestamp_min,
unsigned long timestamp_max) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
auto res = segment->Delete(size, primary_keys, timestamps);
auto res = segment->Delete(size, primary_keys, timestamps, std::make_pair(timestamp_min, timestamp_max));
return res.code();
}
@ -114,46 +116,3 @@ GetDeletedCount(CSegmentBase c_segment) {
auto deleted_count = segment->get_deleted_count();
return deleted_count;
}
unsigned long
GetTimeBegin(CSegmentBase c_segment) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
auto time_begin = segment->get_time_begin();
return time_begin;
}
void
SetTimeBegin(CSegmentBase c_segment, unsigned long time_begin) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
segment->set_time_begin(time_begin);
}
unsigned long
GetTimeEnd(CSegmentBase c_segment) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
auto time_end = segment->get_time_end();
return time_end;
}
void
SetTimeEnd(CSegmentBase c_segment, unsigned long time_end) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
segment->set_time_end(time_end);
}
unsigned long
GetSegmentId(CSegmentBase c_segment) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
auto segment_id = segment->get_segment_id();
return segment_id;
}
void
SetSegmentId(CSegmentBase c_segment, unsigned long segment_id) {
auto segment = (milvus::dog_segment::SegmentBase*)c_segment;
segment->set_segment_id(segment_id);
}

View File

@ -17,18 +17,22 @@ DeleteSegment(CSegmentBase segment);
int
Insert(CSegmentBase c_segment,
signed long int size,
const unsigned long* primary_keys,
const unsigned long* timestamps,
void* raw_data,
int sizeof_per_row,
signed long int count);
signed long int size,
const long* primary_keys,
const unsigned long* timestamps,
void* raw_data,
int sizeof_per_row,
signed long int count,
unsigned long timestamp_min,
unsigned long timestamp_max);
int
Delete(CSegmentBase c_segment,
long size,
const unsigned long* primary_keys,
const unsigned long* timestamps);
long size,
const long* primary_keys,
const unsigned long* timestamps,
unsigned long timestamp_min,
unsigned long timestamp_max);
int
Search(CSegmentBase c_segment,
@ -53,24 +57,6 @@ GetRowCount(CSegmentBase c_segment);
long int
GetDeletedCount(CSegmentBase c_segment);
unsigned long
GetTimeBegin(CSegmentBase c_segment);
void
SetTimeBegin(CSegmentBase c_segment, unsigned long time_begin);
unsigned long
GetTimeEnd(CSegmentBase c_segment);
void
SetTimeEnd(CSegmentBase c_segment, unsigned long time_end);
unsigned long
GetSegmentId(CSegmentBase c_segment);
void
SetSegmentId(CSegmentBase c_segment, unsigned long segment_id);
#ifdef __cplusplus
}
#endif

View File

@ -86,8 +86,8 @@ func (s *Segment) SegmentInsert(entityIds *[]int64, timestamps *[]uint64, record
void* raw_data,
int sizeof_per_row,
signed long int count,
const unsigned long timestamp_min,
const unsigned long timestamp_max);
unsigned long timestamp_min,
unsigned long timestamp_max);
*/
// Blobs to one big blob
var rowData []byte
@ -127,7 +127,9 @@ func (s *Segment) SegmentDelete(entityIds *[]int64, timestamps *[]uint64, timest
Delete(CSegmentBase c_segment,
long size,
const unsigned long* primary_keys,
const unsigned long* timestamps);
const unsigned long* timestamps,
unsigned long timestamp_min,
unsigned long timestamp_max);
*/
size := len(*entityIds)