On 16/08/2018 19:54, Shay Rojansky wrote: > I don't think there's anything really Microsoft-specific about any of > this (except maybe in the history) - just like JDBC and psycopg, there's > simply a single standard way in the database API for invoking > server-side things, and not two ways.
Have you looked what those standard interfaces do in other SQL implementations (e.g., Oracle, DB2, Derby, MySQL)? AFAICT in no case does it involve allowing functions to be called as procedures or vice versa.
That is all well and good except PostgreSQL took its sweet time implementing procedures and so effectively encouraged its community to dual-purpose functions. Now the community is simply asking core to recognize that history and dual-purpose the "CALL" command.
What others have done doesn't change the situation that has arisen for PostgreSQL due to its implementation history.