SPI_EXECUTE_WITH_ARGS(3) PostgreSQL 18.6 Documentation SPI_EXECUTE_WITH_ARGS(3) NAME SPI_execute_with_args - execute a command with out-of-line parameters SYNOPSIS int SPI_execute_with_args(const char *command, int nargs, Oid *argtypes, Datum *values, const char *nulls, bool read_only, long count) DESCRIPTION SPI_execute_with_args executes a command that might include references to externally supplied parameters. The command text refers to a parameter as $n, and the call specifies data types and values for each such symbol. read_only and count have the same interpretation as in SPI_execute. The main advantage of this routine compared to SPI_execute is that data values can be inserted into the command without tedious quoting/escaping, and thus with much less risk of SQL-injection attacks. Similar results can be achieved with SPI_prepare followed by SPI_exe- cute_plan; however, when using this function the query plan is always cus- tomized to the specific parameter values provided. For one-time query exe- cution, this function should be preferred. If the same command is to be ex- ecuted with many different parameters, either method might be faster, de- pending on the cost of re-planning versus the benefit of custom plans. ARGUMENTS const char * command command string int nargs number of input parameters ($1, $2, etc.) Oid * argtypes an array of length nargs, containing the OIDs of the data types of the parameters Datum * values an array of length nargs, containing the actual parameter values const char * nulls an array of length nargs, describing which parameters are null If nulls is NULL then SPI_execute_with_args assumes that no parameters are null. Otherwise, each entry of the nulls array should be ' ' if the corresponding parameter value is non-null, or 'n' if the corresponding parameter value is null. (In the latter case, the actual value in the corresponding values entry doesn't matter.) Note that nulls is not a text string, just an array: it does not need a '\0' terminator. bool read_only true for read-only execution long count maximum number of rows to return, or 0 for no limit RETURN VALUE The return value is the same as for SPI_execute. SPI_processed and SPI_tuptable are set as in SPI_execute if successful. PostgreSQL 18.6 2026 SPI_EXECUTE_WITH_ARGS(3)
NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | RETURN VALUE
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SPI_execute_with_args&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
