-<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.258 2008/06/01 16:23:08 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.259 2008/06/23 21:10:49 momjian Exp $ -->
<chapter id="libpq">
<title><application>libpq</application> - C Library</title>
If the array pointer is null then all parameters are presumed
to be text strings.
</para>
+ <para>
+ Values passed in binary format require knowlege of
+ the internal representation expected by the backend.
+ For example, integers must be passed in network byte
+ order. Passing <type>numeric</> values requires
+ knowledge of the server storage format, as implemented
+ in <filename>src/backend/utils/adt/numeric.c</>.
+ </para>
</listitem>
</varlistentry>
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.195 2008/05/29 22:02:44 tgl Exp $
+ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.196 2008/06/23 21:10:49 momjian Exp $
*
*-------------------------------------------------------------------------
*/
goto sendFailed;
}
- /* construct the Bind message */
+ /* Construct the Bind message */
if (pqPutMsgStart('B', false, conn) < 0 ||
pqPuts("", conn) < 0 ||
pqPuts(stmtName, conn) < 0)
goto sendFailed;
+ /* Send parameter formats */
if (nParams > 0 && paramFormats)
{
if (pqPutInt(nParams, 2, conn) < 0)
if (pqPutInt(nParams, 2, conn) < 0)
goto sendFailed;
+ /* Send parameters */
for (i = 0; i < nParams; i++)
{
if (paramValues && paramValues[i])