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 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; }