Mini Shell

Direktori : /proc/self/root/proc/self/root/opt/alt/postgresql11/usr/share/man/man3/
Upload File :
Current File : //proc/self/root/proc/self/root/opt/alt/postgresql11/usr/share/man/man3/SPI_execute_with_args.3

'\" t
.\"     Title: SPI_execute_with_args
.\"    Author: The PostgreSQL Global Development Group
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 2017-11-06
.\"    Manual: PostgreSQL 9.2.24 Documentation
.\"    Source: PostgreSQL 9.2.24
.\"  Language: English
.\"
.TH "SPI_EXECUTE_WITH_ARGS" "3" "2017-11-06" "PostgreSQL 9.2.24" "PostgreSQL 9.2.24 Documentation"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
SPI_execute_with_args \- execute a command with out\-of\-line parameters
.\" SPI_execute_with_args
.SH "SYNOPSIS"
.sp
.nf
int SPI_execute_with_args(const char *\fIcommand\fR,
                          int \fInargs\fR, Oid *\fIargtypes\fR,
                          Datum *\fIvalues\fR, const char *\fInulls\fR,
                          bool \fIread_only\fR, long \fIcount\fR)
.fi
.SH "DESCRIPTION"
.PP
\fBSPI_execute_with_args\fR
executes a command that might include references to externally supplied parameters\&. The command text refers to a parameter as
$\fIn\fR, and the call specifies data types and values for each such symbol\&.
\fIread_only\fR
and
\fIcount\fR
have the same interpretation as in
\fBSPI_execute\fR\&.
.PP
The main advantage of this routine compared to
\fBSPI_execute\fR
is that data values can be inserted into the command without tedious quoting/escaping, and thus with much less risk of SQL\-injection attacks\&.
.PP
Similar results can be achieved with
\fBSPI_prepare\fR
followed by
\fBSPI_execute_plan\fR; however, when using this function the query plan is always customized to the specific parameter values provided\&. For one\-time query execution, this function should be preferred\&. If the same command is to be executed with many different parameters, either method might be faster, depending on the cost of re\-planning versus the benefit of custom plans\&.
.SH "ARGUMENTS"
.PP
const char * \fIcommand\fR
.RS 4
command string
.RE
.PP
int \fInargs\fR
.RS 4
number of input parameters ($1,
$2, etc\&.)
.RE
.PP
Oid * \fIargtypes\fR
.RS 4
an array containing the
OIDs of the data types of the parameters
.RE
.PP
Datum * \fIvalues\fR
.RS 4
an array of actual parameter values
.RE
.PP
const char * \fInulls\fR
.RS 4
an array describing which parameters are null
.sp
If
\fInulls\fR
is
NULL
then
\fBSPI_execute_with_args\fR
assumes that no parameters are null\&.
.RE
.PP
bool \fIread_only\fR
.RS 4
true
for read\-only execution
.RE
.PP
long \fIcount\fR
.RS 4
maximum number of rows to return, or
0
for no limit
.RE
.SH "RETURN VALUE"
.PP
The return value is the same as for
\fBSPI_execute\fR\&.
.PP
\fISPI_processed\fR
and
\fISPI_tuptable\fR
are set as in
\fBSPI_execute\fR
if successful\&.

Zerion Mini Shell 1.0