summaryrefslogtreecommitdiff
path: root/sql/sql_array.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_array.h')
-rw-r--r--sql/sql_array.h13
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;