Function Reference
Both collection (text-keyed) and icollection (integer-keyed) support the same set of functions. The only difference is the key type: text for collection, bigint for icollection.
collection Functions
| Function | Return Type | Description |
|---|---|---|
add(collection, text, text) |
collection |
Adds a text item to a collection |
add(collection, text, anyelement) |
collection |
Adds an anyelement item to a collection |
count(collection) |
int4 |
Returns the number of items in a collection |
delete(collection, text) |
collection |
Deletes an item from a collection |
delete(collection) |
collection |
Deletes all items from a collection, preserving the value type |
delete(collection, text, text) |
collection |
Deletes all items with keys between lo and hi inclusive |
exist(collection, text) |
bool |
Returns true if a given key exists in the collection |
find(collection, text) |
text |
Returns a text item from a collection if it exists |
find(collection, text, anyelement) |
anyelement |
Returns an anyelement item from a collection if it exists |
first(collection) |
collection |
Sets the collection iterator to the first item |
last(collection) |
collection |
Sets the collection iterator to the last item |
next(collection) |
collection |
Sets the collection iterator to the next item |
prev(collection) |
collection |
Sets the collection iterator to the previous item |
first_key(collection) |
text |
Returns the key of the first item |
last_key(collection) |
text |
Returns the key of the last item |
next_key(collection, text) |
text |
Returns the key of the next item for the given key |
prev_key(collection, text) |
text |
Returns the key of the previous item for the given key |
copy(collection) |
collection |
Returns a copy of a collection without a context switch |
sort(collection) |
collection |
Sorts by keys in collation order and points to the first item |
isnull(collection) |
bool |
Returns true if the iterator has passed the end of the collection |
key(collection) |
text |
Returns the key at the current iterator position |
value(collection) |
text |
Returns the value as text at the current iterator position |
value(collection, anyelement) |
anyelement |
Returns the value as anyelement at the current iterator position |
keys_to_table(collection) |
SETOF text |
Returns all keys as a result set |
values_to_table(collection) |
SETOF text |
Returns all values as text in a result set |
values_to_table(collection, anyelement) |
SETOF anyelement |
Returns all values as anyelement in a result set |
to_table(collection) |
TABLE(text, text) |
Returns all keys and values as text in a result set |
to_table(collection, anyelement) |
TABLE(text, anyelement) |
Returns all keys and values as anyelement in a result set |
value_type(collection) |
regtype |
Returns the data type of the elements within the collection |
icollection Functions
| Function | Return Type | Description |
|---|---|---|
add(icollection, bigint, text) |
icollection |
Adds a text item to an icollection |
add(icollection, bigint, anyelement) |
icollection |
Adds an anyelement item to an icollection |
count(icollection) |
int4 |
Returns the number of items in an icollection |
delete(icollection, bigint) |
icollection |
Deletes an item from an icollection |
delete(icollection) |
icollection |
Deletes all items from an icollection, preserving the value type |
delete(icollection, bigint, bigint) |
icollection |
Deletes all items with keys between lo and hi inclusive |
exist(icollection, bigint) |
bool |
Returns true if a given key exists in the icollection |
find(icollection, bigint) |
text |
Returns a text item from an icollection if it exists |
find(icollection, bigint, anyelement) |
anyelement |
Returns an anyelement item from an icollection if it exists |
first(icollection) |
icollection |
Sets the icollection iterator to the first item |
last(icollection) |
icollection |
Sets the icollection iterator to the last item |
next(icollection) |
icollection |
Sets the icollection iterator to the next item |
prev(icollection) |
icollection |
Sets the icollection iterator to the previous item |
first_key(icollection) |
bigint |
Returns the key of the first item |
last_key(icollection) |
bigint |
Returns the key of the last item |
next_key(icollection, bigint) |
bigint |
Returns the key of the next item for the given key |
prev_key(icollection, bigint) |
bigint |
Returns the key of the previous item for the given key |
copy(icollection) |
icollection |
Returns a copy of an icollection without a context switch |
sort(icollection) |
icollection |
Sorts by keys numerically and points to the first item |
isnull(icollection) |
bool |
Returns true if the iterator has passed the end of the icollection |
key(icollection) |
bigint |
Returns the key at the current iterator position |
value(icollection) |
text |
Returns the value as text at the current iterator position |
value(icollection, anyelement) |
anyelement |
Returns the value as anyelement at the current iterator position |
keys_to_table(icollection) |
SETOF bigint |
Returns all keys as a result set |
values_to_table(icollection) |
SETOF text |
Returns all values as text in a result set |
values_to_table(icollection, anyelement) |
SETOF anyelement |
Returns all values as anyelement in a result set |
to_table(icollection) |
TABLE(bigint, text) |
Returns all keys and values as text in a result set |
to_table(icollection, anyelement) |
TABLE(bigint, anyelement) |
Returns all keys and values as anyelement in a result set |
value_type(icollection) |
regtype |
Returns the data type of the elements within the icollection |
Statistics Functions
| Function / View | Description |
|---|---|
collection_stats (view) |
Session-level operation counters for both collection and icollection |
collection_stats_reset() |
Resets all statistics counters for the current session |
The collection_stats view columns:
| Column | Description |
|---|---|
add |
Number of add/assign operations |
context_switch |
Number of times a collection switched memory contexts |
delete |
Number of delete operations |
find |
Number of find/fetch operations |
sort |
Number of sort operations |
exist |
Number of exist checks |