diff --git a/sql/sql_array.h b/sql/sql_array.h index 18f1fbd9f2f..245cfe954f8 100644 --- a/sql/sql_array.h +++ b/sql/sql_array.h @@ -130,6 +130,16 @@ public: return (insert_dynamic(&array, (uchar*)&el)); } + bool push(Elem &el) + { + return append(el); + } + + Elem *pop() + { + return (Elem*)pop_dynamic(&array); + } + size_t elements() { return array.elements; @@ -168,6 +178,12 @@ public: { my_qsort(array.buffer, array.elements, sizeof(Elem), (qsort_cmp)cmp_func); } + + typedef int (*CMP_FUNC2)(const Elem *el1, const Elem *el2, void *); + void sort(CMP_FUNC2 cmp_func, void *data) + { + my_qsort2(array.buffer, array.elements, sizeof(Elem), (qsort2_cmp)cmp_func, data); + } }; /*