Re: CALL optional in PL/pgSQL - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: CALL optional in PL/pgSQL
Date
Msg-id CAFj8pRDdg2rEGWg_gM2raFPdKSE4du5x59G7uE3kQCxbO=Ksqw@mail.gmail.com
Whole thread Raw
In response to CALL optional in PL/pgSQL  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Responses Re: CALL optional in PL/pgSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers


2018-03-01 5:51 GMT+01:00 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>:
This seems to be a popular issue when porting from PL/SQL, so I'll throw
it out here for discussion.  Apparently, in PL/SQL you can call another
procedure without the CALL keyword.  Here is a patch that attempts to
implement that in PL/pgSQL as well.  It's not very pretty.

The CALL is not optional in PL/SQL - I was surprised - it is required in some environments, and it should not be used in other (like PL/SQL)

please, fix me, if I am wrong. 

SQL/PSM requires it.

I agree, so in this case, the CALL can be optional - because procedures are called by different mechanism than functions - and there is not additional overhead. It is not strictly necessary, because tools like ora2pg has not any problem with procedure identification and some transformations.

But - if we allow optional CALL in PL/pgSQL, then we will have inconsistence between PL/pgSQL and other environments, when the CALL will be required. What is not too nice.


I seem to recall that there were past discussions about this, with
respect to the PERFORM command, but I couldn't find them anymore.

Also, I think PL/SQL allows you to call a procedure with no arguments
without parentheses.  I have not implemented that.  I think it could be
done, but it's not very appealing.

I don't like this feature. I don't see any benefit. Different case are functions - then users can implement some pseudovariables like CURRENT_USER, ..


If anyone has more details about the PL/SQL side of this, that would be
useful.  What I could find is that using CALL and not using CALL appear
to be equivalent.

--
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Synchronous replay take III
Next
From: Rajkumar Raghuwanshi
Date:
Subject: Re: server crash in nodeAppend.c