From: | Vladimir Sitnikov <sitnikov(dot)vladimir(at)gmail(dot)com> |
---|---|
To: | Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Shay Rojansky <roji(at)roji(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Stored procedures and out parameters |
Date: | 2018-07-23 19:07:16 |
Message-ID: | CAB=Je-HF34hU6JqnjFT0qBHS9LCkSDOyQSotwrxW6t3D76nDNw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Andrew>does it fail on the latest 11-stable
1) Current "build from Git/master PostgreSQL" produces the data row for
both simple and extended queries.
2) Just a side note: `CALL my_proc()` is not suitable for functions. That
looks weird.
Is the client expected to lookup system catalogs in order to tell if
`my_proc` is procedure or function and use either `call my_proc` or `select
* from my_proc()`?
Issuing `call my_function()` fails with 42883 ERROR: my_func(unknown) is
not a procedure
Note: JDBC defines two options to call a stored procedure:
{?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
{call <procedure-name>[(<arg1>,<arg2>, ...)]}
see
https://docs.oracle.com/javase/9/docs/api/java/sql/CallableStatement.html
There's no notion if the called object is a procedure or function.
Note: PostgreSQL can have a function that `returns void`, and it is hard to
tell if {call test()} refers to a function or procedure.
Can functions and procedures be unified at the backend level?
For instance, support "CALL" for both of them.
Or support "select * ..." for both of them.
Vladimir​
From | Date | Subject | |
---|---|---|---|
Next Message | Nico Williams | 2018-07-23 19:10:17 | Re: How can we submit code patches that implement our (pending) patents? |
Previous Message | Bruce Momjian | 2018-07-23 19:06:13 | Re: How can we submit code patches that implement our (pending) patents? |