diff options
Diffstat (limited to 'sql/sql_array.h')
-rw-r--r-- | sql/sql_array.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sql/sql_array.h b/sql/sql_array.h index 71377b91ef9..697819787f2 100644 --- a/sql/sql_array.h +++ b/sql/sql_array.h @@ -115,12 +115,12 @@ public: @note Though formally this could be declared "const" it would be misleading at it returns a non-const pointer to array's data. */ - Elem& at(int idx) + Elem& at(size_t idx) { return *(((Elem*)array.buffer) + idx); } /// Const variant of at(), which cannot change data - const Elem& at(int idx) const + const Elem& at(size_t idx) const { return *(((Elem*)array.buffer) + idx); } @@ -162,6 +162,11 @@ public: return insert_dynamic(&array, &el); } + bool append_val(Elem el) + { + return (insert_dynamic(&array, (uchar*)&el)); + } + /// Pops the last element. Does nothing if array is empty. Elem& pop() { @@ -173,12 +178,12 @@ public: delete_dynamic_element(&array, idx); } - int elements() const + size_t elements() const { return array.elements; } - void elements(uint num_elements) + void elements(size_t num_elements) { DBUG_ASSERT(num_elements <= array.max_element); array.elements= num_elements; |