int makeTreeSegment(void *dbid, int nid, void *dataDsc, void *startDsc, void *endDsc, void *dimDsc, int rowsFilled, int isCached, int cachePolicy) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; struct descriptor_xd *startXd = (struct descriptor_xd *)startDsc; struct descriptor_xd *endXd = (struct descriptor_xd *)endDsc; struct descriptor_xd *dimXd = (struct descriptor_xd *)dimDsc; int status, nRows; if(isCached) { status = _RTreeBeginSegment(dbid, nid, startXd->pointer, endXd->pointer, dimXd->pointer, (struct descriptor_a *)dataXd->pointer, -1, cachePolicy); // if(status & 1) status = _RTreePutSegment(dbid, nid, -1, (struct descriptor_a *)dataXd->pointer, cachePolicy); } else status = _TreeMakeSegment(dbid, nid, startXd->pointer, endXd->pointer, dimXd->pointer, (struct descriptor_a *)dataXd->pointer, -1, rowsFilled); freeDsc(dataXd); freeDsc(startXd); freeDsc(endXd); freeDsc(dimXd); return status; }
int setTreeTimeContext(void *startDsc, void *endDsc, void *deltaDsc) { int status; status = TreeSetTimeContext((struct descriptor *)startDsc, (struct descriptor *)endDsc, (struct descriptor *)deltaDsc); if(startDsc) freeDsc(startDsc); if(endDsc) freeDsc(endDsc); if(deltaDsc) freeDsc(deltaDsc); return status; }
extern int makeTreeTimestampedSegment(void *dbid, int nid, void *dataDsc, int64_t *times, int rowsFilled) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; status = _TreeMakeTimestampedSegment(dbid, nid, times, (struct descriptor_a *)dataXd->pointer, -1, rowsFilled); freeDsc(dataXd); return status; }
extern int putTreeTimestampedSegment(void *dbid, int nid, void *dataDsc, int64_t *times) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; status = _TreePutTimestampedSegment(dbid, nid, times, (struct descriptor_a *)dataXd->pointer); freeDsc(dataXd); return status; }
int beginTreeTimestampedSegment(void *dbid, int nid, void *dataDsc) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; status = _TreeBeginTimestampedSegment(dbid, nid, (struct descriptor_a *)dataXd->pointer, -1); freeDsc(dataXd); return status; }
int putTreeSegment(void *dbid, int nid, void *dataDsc, int ofs) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; status = _TreePutSegment(dbid, nid, ofs, (struct descriptor_a *)dataXd->pointer); freeDsc(dataXd); return status; }
int putTreeRow(void *dbid, int nid, void *dataDsc, int64_t *time, int size) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; status = _TreePutRow(dbid, nid, size, time, (struct descriptor_a *)dataXd->pointer); freeDsc(dataXd); return status; }
int putTreeData(void *dbid, int nid, void *data) { struct descriptor_xd *xdPtr; int status; xdPtr = (struct descriptor_xd *)convertDataToDsc(data); status = _TreePutRecord(dbid, nid, (struct descriptor *)xdPtr, 0); freeDsc(xdPtr); return status; }
int makeTreeSegment(void *dbid, int nid, void *dataDsc, void *startDsc, void *endDsc, void *dimDsc, int rowsFilled) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; struct descriptor_xd *startXd = (struct descriptor_xd *)startDsc; struct descriptor_xd *endXd = (struct descriptor_xd *)endDsc; struct descriptor_xd *dimXd = (struct descriptor_xd *)dimDsc; int status; status = _TreeMakeSegment(dbid, nid, startXd->pointer, endXd->pointer, dimXd->pointer, (struct descriptor_a *)dataXd->pointer, -1, rowsFilled); freeDsc(dataXd); freeDsc(startXd); freeDsc(endXd); freeDsc(dimXd); return status; }
int beginTreeSegment(void *dbid, int nid, void *dataDsc, void *startDsc, void *endDsc, void *dimDsc) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; struct descriptor_xd *startXd = (struct descriptor_xd *)startDsc; struct descriptor_xd *endXd = (struct descriptor_xd *)endDsc; struct descriptor_xd *dimXd = (struct descriptor_xd *)dimDsc; int status; status = _TreeBeginSegment(dbid, nid, startXd->pointer, endXd->pointer, dimXd->pointer, (struct descriptor_a *)dataXd->pointer, -1); freeDsc(dataXd); freeDsc(startXd); freeDsc(endXd); freeDsc(dimXd); return status; }
extern int putTreeTimestampedSegment(void *dbid, int nid, void *dataDsc, _int64 *times, int isCached, int cachePolicy) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; if(isCached) status = _RTreePutTimestampedSegment(dbid, nid, times, (struct descriptor_a *)dataXd->pointer, cachePolicy); else status = _TreePutTimestampedSegment(dbid, nid, times, (struct descriptor_a *)dataXd->pointer); freeDsc(dataXd); return status; }
int beginTreeTimestampedSegment(void *dbid, int nid, void *dataDsc, int isCached, int cachePolicy) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; if(isCached) status = _RTreeBeginTimestampedSegment(dbid, nid, (struct descriptor_a *)dataXd->pointer, -1, cachePolicy); else status = _TreeBeginTimestampedSegment(dbid, nid, (struct descriptor_a *)dataXd->pointer, -1); freeDsc(dataXd); return status; }
int updateTreeSegment(void *dbid, int nid, void *startDsc, void *endDsc, void *timeDsc, int isCached, int cachePolicy) { struct descriptor_xd *startXd = (struct descriptor_xd *)startDsc; struct descriptor_xd *endXd = (struct descriptor_xd *)endDsc; struct descriptor_xd *timeXd = (struct descriptor_xd *)timeDsc; int status; if(isCached) { status = _RTreeUpdateSegment(dbid, nid, (struct descriptor *)startXd->pointer, (struct descriptor *)endXd->pointer, (struct descriptor *)timeXd->pointer, -1, cachePolicy); } else status = _TreeUpdateSegment(dbid, nid, (struct descriptor *)startXd->pointer, (struct descriptor *)endXd->pointer, (struct descriptor *)timeXd->pointer, -1); freeDsc(startXd); freeDsc(endXd); freeDsc(timeXd); return status; }
int putTreeData(void *dbid, int nid, void *data, int isCached) { struct descriptor_xd *xdPtr; int status; xdPtr = (struct descriptor_xd *)convertDataToDsc(data); if(isCached) status = _RTreePutRecord(dbid, nid, (struct descriptor *)xdPtr, MDS_WRITE_BACK); else status = _TreePutRecord(dbid, nid, (struct descriptor *)xdPtr, 0); freeDsc(xdPtr); return status; }
int putTreeSegment(void *dbid, int nid, void *dataDsc, int ofs, int isCached, int cachePolicy) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; if(isCached) { status = _RTreePutSegment(dbid, nid, ofs, (struct descriptor_a *)dataXd->pointer, cachePolicy); } else status = _TreePutSegment(dbid, nid, ofs, (struct descriptor_a *)dataXd->pointer); freeDsc(dataXd); return status; }
extern int makeTreeTimestampedSegment(void *dbid, int nid, void *dataDsc, _int64 *times, int rowsFilled, int isCached, int cachePolicy) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; if(isCached) { status = _RTreeBeginTimestampedSegment(dbid, nid, (struct descriptor_a *)dataXd->pointer, -1, cachePolicy); if(status & 1) status = _RTreePutTimestampedSegment(dbid, nid, times, (struct descriptor_a *)dataXd->pointer, cachePolicy); } else status = _TreeMakeTimestampedSegment(dbid, nid, times, (struct descriptor_a *)dataXd->pointer, -1, rowsFilled); freeDsc(dataXd); return status; }
int updateTreeSegment(void *dbid, int nid, int segIdx, void *startDsc, void *endDsc, void *timeDsc) { struct descriptor_xd *startXd = (struct descriptor_xd *)startDsc; struct descriptor_xd *endXd = (struct descriptor_xd *)endDsc; struct descriptor_xd *timeXd = (struct descriptor_xd *)timeDsc; int status, numSegments, segmentIdx; if(segIdx == -1) { status = _TreeGetNumSegments(dbid, nid, &numSegments); if(!(status & 1)) return status; segmentIdx = numSegments - 1; } else segmentIdx = segIdx; status = _TreeUpdateSegment(dbid, nid, (struct descriptor *)startXd->pointer, (struct descriptor *)endXd->pointer, (struct descriptor *)timeXd->pointer, segmentIdx); freeDsc(startXd); freeDsc(endXd); freeDsc(timeXd); return status; }
int putTreeRow(void *dbid, int nid, void *dataDsc, _int64 *time, int size, int isCached, int isLast, int cachePolicy) { struct descriptor_xd *dataXd = (struct descriptor_xd *)dataDsc; int status; if(isCached) { if(cachePolicy == MDS_WRITE_BUFFER) status = _RTreePutRow(dbid, nid, size, time, (struct descriptor_a *)dataXd->pointer, (isLast)?MDS_WRITE_LAST:MDS_WRITE_BUFFER); else status = _RTreePutRow(dbid, nid, size, time, (struct descriptor_a *)dataXd->pointer, cachePolicy); } else status = _TreePutRow(dbid, nid, size, time, (struct descriptor_a *)dataXd->pointer); freeDsc(dataXd); return status; }