This has been discussed on the forums. See http://zeoslib.sourceforge.net/viewtopic.php?f=40&t=83796.
PG 11 introduces a new feature: callable procedures. Procedures can use transaction control whereas functions in PG cannot do that. Both are managed in the same system tables so Zeos currently tries to use them in the same way as functions get used. This results in a syntax error because functions need to be called using an select staement whereas procedures need to be called using call.
As a part of this PGs metadata has changed: pg_proc.proisagg and pg_proc.proiswindow were replaced by pg_proc.prokind. See "E.2.2. Migration to Version 11" in the PG manual.
So essentially we have to do the following:
Diff:
Most probably GetProcedures will already list procedures because it doesn't do any filtering. Currently the PostgreSQL driver will hard code ProcedureReturnsResult in the PROCEDURE_TYPE field.
For Zeos 7.2 I suggest to return procedureNoResult in the PROCEDURE_TYPE field so we can distinguish procedures from functions.
For Zeos 7.3 I suggest to use the approach described in [#349] - "Zeos 7.3 + stored functions in databases".
Opinions?
Related
Feature Requests / Suggestions: #1
Any example to play with?
i've replaced the hard coded PROCEDURE_TYPE by testing the prokind field for SP's(tagged by the 'p' char).
Full 'CALL' syntax supportd added including test.
Patch done R6140 /tesing-7.3
Ticket 349 is another discussion...