Thread: Composite Type Argument Construction to a Function

Composite Type Argument Construction to a Function

From
Date:
create type my_type (my_test text, my_int integer);

create function my_function(my_type)
returns timestamp as
'begin
return (current_timestamp);
end;
'
language 'plpgsql';


In 7.3.5, we are trying to get around the 32 argument limit of the
functions WITHOUT re-compiling with a greater func_max_args (due to
operational reasons).

My question is - HOW do I construct the argument to
my_function(my_type) so that the function recognises that I am passing
into it composite data?

NB:  The example function is just "junque" to test passing a composite
type to a function.

TIA

Re: Composite Type Argument Construction to a Function

From
Tom Lane
Date:
<tsarevich@gmail.com> writes:
> My question is - HOW do I construct the argument to
> my_function(my_type) so that the function recognises that I am passing
> into it composite data?

Sorry, don't think you're going to have much joy on that in 7.3.

In 8.0 you could do it with a ROW() constructor, but there's no such
thing in 7.3.  IIRC the only way to pass a row value as a function
argument in 7.3 is to select the row from a table, viz

    select my_function(t.*) from some_table t;

            regards, tom lane