本文整理汇总了C++中Extent::getFirstRecord方法的典型用法代码示例。如果您正苦于以下问题:C++ Extent::getFirstRecord方法的具体用法?C++ Extent::getFirstRecord怎么用?C++ Extent::getFirstRecord使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Extent
的用法示例。
在下文中一共展示了Extent::getFirstRecord方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getNextBatch
char* Namespace::getNextBatch(int &count)
{
if (_DEBUG)
LOGI("get next batch");
int batchSize = 0;
int sizes[count];
int jsonSize = 0;
char *records[count]; //= (char**)malloc(count*sizeof(char*));
int lastRetrievedRecord = -1, recordSize, skip = 0;
int i = 0;
Extent *extent = getFirstExtent();
while (extent != NULL)
{
lastRetrievedRecord = -1;
Record *record = extent->getFirstRecord();
while (record != NULL && i < count)
{
recordSize = 0;
int bsonSize = 0;
bson_little_endian32( &bsonSize, record->data);
//FORCE_LOG_INT("bsonSize: ", bsonSize);
char *val = (char*) malloc((bsonSize + 100) * sizeof(char));
int cur = 0;
val = bson_to_json(val, record->data, 0, true, bsonSize, recordSize,
cur);
records[i] = val;
batchSize += recordSize;
sizes[i] = recordSize;
jsonSize += recordSize;
record = extent->getRecord(record->nextRecLoc);
i++;
}
extent = db->getExtent(extent->nextExtent);
}
count = i;
FORCE_LOG_INT("count: ", i);
return serializeJSON(records, jsonSize, count, sizes);
}