From PostgreSQL 11 onwards, there is support for stored PROCEDURE, prior versions of PostgreSQL supports only the stored FUNCTION. Hence, a new connection property called "escapeSyntaxCallMode" has been introduced by PostgreSQL for users to configure. This property specifies how the driver transforms JDBC escape call syntax into underlying SQL, for invoking procedures or functions. In escapeSyntaxCallMode=select (the PostgreSQL default) mode , the driver always uses a SELECT statement (allowing function invocation only). In escapeSyntaxCallMode=callIfNoReturn mode, the driver uses a CALL statement (allowing procedure invocation) if there is no return parameter specified. Otherwise the driver uses a SELECT statement. In escapeSyntaxCallMode=call mode, the driver always uses a CALL statement (allowing procedure invocation only)
In case you are using Callable Statements with PostgreSQL, you can configure the “escapeSyntaxCallMode” connection property in the Database Profile. However, If this property is not configured in the Database Profile, it will be using the default escapeSyntaxCallMode=select. If you're utilizing Callable Statements with PostgreSQL, you have the option to set the "escapeSyntaxCallMode" property either within the Connection String parameters or within the Properties tab of the Database Profile. Should you choose to configure this property in both locations, priority will be given to the setting within the Connection String. |