"David E. Wheeler" <david@kineticode.com> writes:
> I think that some sort of variadic pairs would be useful for this. But since there is no core "ordered pair" data
type,I don't think you're going to get too far.
It's not immediately clear to me what an ordered-pair type would get you
that you don't get with 2-element arrays.
A couple of quick experiments suggest that 2-D arrays might be the thing
to use. They're easy to construct:
regression=# select array[[1,2],[3,4]]; array
---------------{{1,2},{3,4}}
(1 row)
and you can build them dynamically at need:
regression=# select array[[1,2],[3,4]] || array[5,6]; ?column?
---------------------{{1,2},{3,4},{5,6}}
(1 row)
This is not exactly without precedent, either: our built-in xpath()
function appears to use precisely this approach for its namespace-list
argument.
regards, tom lane