From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | jian he <jian(dot)universality(at)gmail(dot)com> |
Cc: | Thomas Kellerer <shammat(at)gmx(dot)net>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: function signature allow "default" keyword |
Date: | 2023-05-16 04:26:45 |
Message-ID: | CAFj8pRAkj8K-U6LEDsnraSSQL5aS--m0EDSryt6cEQ=tC7NkHg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi
út 16. 5. 2023 v 5:11 odesílatel jian he <jian(dot)universality(at)gmail(dot)com>
napsal:
>
>
> On Mon, May 15, 2023 at 5:00 PM Thomas Kellerer <shammat(at)gmx(dot)net> wrote:
>
>> jian he schrieb am 15.05.2023 um 10:33:
>> >
>> > function idea.
>> > allow function calling using the default keyword for any of the input
>> arguments.
>> >
>> > example: https://dbfiddle.uk/FQwnfdmm
>> > So something like this "SELECT * FROM customer_orders(2579927,
>> 'order_placed_on DESC', default, 2);"
>> > should work.
>>
>>
>> You can use named parameters when calling the function, that will use the
>> default value for those not mentioned:
>>
>> SELECT *
>> FROM customer_orders(_customer_id => 2579927,
>> _sort_field_and_direction => 'order_placed_on DESC',
>> _offset => 2);
>>
>>
>>
>>
>
> select proname
> ,proargtypes
> ,pg_get_expr(pp.proargdefaults,0,true)
> ,pronargdefaults
> from pg_proc pp
> where pp.proname = 'customer_orders';
> ----------return-------------
> proname | customer_orders
> proargtypes | 23 25 23 23 1082 1082
> pg_get_expr | 10, 0, CURRENT_DATE - 30, CURRENT_DATE
> pronargdefaults | 4
>
> table insert works, i guess because pg_attribute has column ordinal number
> (left to right).
> but pg_proc only counts the number of arguments that have a default value.
>
The tables don't support overloading.
I cannot to have tab1(a int, b int), tab1(a int, b int, c int)
but I can have
proc1(int, int), proc1(int, int, int)
Regards
Pavel
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2023-05-16 13:12:19 | Re: function signature allow "default" keyword |
Previous Message | Kirk Wolak | 2023-05-16 03:24:39 | Re: |