Merge pull request #19686 from taosdata/fix/nodisk
fix(query): add qsort for alpine.
This commit is contained in:
commit
a4f4eb84f4
|
@ -32,7 +32,18 @@ void swapStr(char* j, char* J, int width) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// todo refactor: 1) move away; 2) use merge sort instead; 3) qsort is not a stable sort actually.
|
int qsortHelper(const void* p1, const void* p2, const void* param) {
|
||||||
void taosSort(void* arr, int64_t sz, int64_t width, __compar_fn_t compar) {
|
__compar_fn_t comparFn = param;
|
||||||
qsort(arr, sz, width, compar);
|
return comparFn(p1, p2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo refactor: 1) move away; 2) use merge sort instead; 3) qsort is not a stable sort actually.
|
||||||
|
void taosSort(void* base, int64_t sz, int64_t width, __compar_fn_t compar) {
|
||||||
|
#ifdef _ALPINE
|
||||||
|
void* param = compar;
|
||||||
|
taosqsort(base, width, sz, param, qsortHelper);
|
||||||
|
#else
|
||||||
|
qsort(base, sz, width, compar);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,12 +41,6 @@ static void median(void *src, int64_t size, int64_t s, int64_t e, const void *pa
|
||||||
|
|
||||||
ASSERT(comparFn(elePtrAt(src, size, mid), elePtrAt(src, size, s), param) <= 0 &&
|
ASSERT(comparFn(elePtrAt(src, size, mid), elePtrAt(src, size, s), param) <= 0 &&
|
||||||
comparFn(elePtrAt(src, size, s), elePtrAt(src, size, e), param) <= 0);
|
comparFn(elePtrAt(src, size, s), elePtrAt(src, size, e), param) <= 0);
|
||||||
|
|
||||||
#ifdef _DEBUG_VIEW
|
|
||||||
// tTagsPrints(src[s], pOrderDesc->pColumnModel, &pOrderDesc->orderIdx);
|
|
||||||
// tTagsPrints(src[mid], pOrderDesc->pColumnModel, &pOrderDesc->orderIdx);
|
|
||||||
// tTagsPrints(src[e], pOrderDesc->pColumnModel, &pOrderDesc->orderIdx);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tInsertSort(void *src, int64_t size, int32_t s, int32_t e, const void *param, __ext_compar_fn_t comparFn,
|
static void tInsertSort(void *src, int64_t size, int32_t s, int32_t e, const void *param, __ext_compar_fn_t comparFn,
|
||||||
|
@ -278,14 +272,4 @@ void taosheapsort(void *base, int32_t size, int32_t len, const void *parcompar,
|
||||||
}
|
}
|
||||||
|
|
||||||
taosMemoryFree(buf);
|
taosMemoryFree(buf);
|
||||||
/*
|
|
||||||
char *buf = taosMemoryCalloc(1, size);
|
|
||||||
|
|
||||||
for (i = len - 1; i > 0; i--) {
|
|
||||||
doswap(elePtrAt(base, size, 0), elePtrAt(base, size, i));
|
|
||||||
taosheapadjust(base, size, 0, i - 1, parcompar, compar, parswap, swap, maxroot);
|
|
||||||
}
|
|
||||||
|
|
||||||
taosMemoryFreeClear(buf);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue