Commit 5f27ac6b authored by Tom Lane's avatar Tom Lane

Minor documentation improvements and markup fixes.

parent 71a5da47
...@@ -208,8 +208,8 @@ If the file you specify is ...@@ -208,8 +208,8 @@ If the file you specify is
very simple, since the commands to do it are just: very simple, since the commands to do it are just:
<ProgramListing> <ProgramListing>
# simple HP-UX example # simple HP-UX example
&percnt; cc +z +u -c foo.c % cc +z +u -c foo.c
&percnt; ld -b -o foo.sl foo.o % ld -b -o foo.sl foo.o
</ProgramListing> </ProgramListing>
</Para> </Para>
...@@ -221,21 +221,21 @@ If the file you specify is ...@@ -221,21 +221,21 @@ If the file you specify is
Under SunOS 4.x, the commands look like: Under SunOS 4.x, the commands look like:
<ProgramListing> <ProgramListing>
# simple SunOS 4.x example # simple SunOS 4.x example
&percnt; cc -PIC -c foo.c % cc -PIC -c foo.c
&percnt; ld -dc -dp -Bdynamic -o foo.so foo.o % ld -dc -dp -Bdynamic -o foo.so foo.o
</ProgramListing> </ProgramListing>
and the equivalent lines under Solaris 2.x are: and the equivalent lines under Solaris 2.x are:
<ProgramListing> <ProgramListing>
# simple Solaris 2.x example # simple Solaris 2.x example
&percnt; cc -K PIC -c foo.c % cc -K PIC -c foo.c
&percnt; ld -G -Bdynamic -o foo.so foo.o % ld -G -Bdynamic -o foo.so foo.o
</ProgramListing> </ProgramListing>
or or
<ProgramListing> <ProgramListing>
# simple Solaris 2.x example # simple Solaris 2.x example
&percnt; gcc -fPIC -c foo.c % gcc -fPIC -c foo.c
&percnt; ld -G -Bdynamic -o foo.so foo.o % ld -G -Bdynamic -o foo.so foo.o
</ProgramListing> </ProgramListing>
</Para> </Para>
......
...@@ -47,7 +47,7 @@ This package was originally written by Jolly Chen. ...@@ -47,7 +47,7 @@ This package was originally written by Jolly Chen.
</ROW> </ROW>
<ROW> <ROW>
<ENTRY>pg_select</ENTRY> <ENTRY>pg_select</ENTRY>
<ENTRY>loop over the result of a select statement</ENTRY> <ENTRY>loop over the result of a SELECT statement</ENTRY>
</ROW> </ROW>
<ROW> <ROW>
<ENTRY>pg_listen</ENTRY> <ENTRY>pg_listen</ENTRY>
...@@ -76,7 +76,7 @@ This package was originally written by Jolly Chen. ...@@ -76,7 +76,7 @@ This package was originally written by Jolly Chen.
</ROW> </ROW>
<ROW> <ROW>
<ENTRY>pg_lo_lseek</ENTRY> <ENTRY>pg_lo_lseek</ENTRY>
<ENTRY>seek to a position on a large object</ENTRY> <ENTRY>seek to a position in a large object</ENTRY>
</ROW> </ROW>
<ROW> <ROW>
<ENTRY>pg_lo_tell</ENTRY> <ENTRY>pg_lo_tell</ENTRY>
...@@ -168,14 +168,33 @@ proc getDBs { {host "localhost"} {port "5432"} } { ...@@ -168,14 +168,33 @@ proc getDBs { {host "localhost"} {port "5432"} } {
pg_connect -conninfo <REPLACEABLE CLASS="PARAMETER">connectOptions</REPLACEABLE> pg_connect -conninfo <REPLACEABLE CLASS="PARAMETER">connectOptions</REPLACEABLE>
pg_connect <REPLACEABLE CLASS="PARAMETER">dbName</REPLACEABLE> <OPTIONAL>-host <REPLACEABLE CLASS="PARAMETER">hostName</REPLACEABLE></OPTIONAL> pg_connect <REPLACEABLE CLASS="PARAMETER">dbName</REPLACEABLE> <OPTIONAL>-host <REPLACEABLE CLASS="PARAMETER">hostName</REPLACEABLE></OPTIONAL>
<OPTIONAL>-port <REPLACEABLE <OPTIONAL>-port <REPLACEABLE
CLASS="PARAMETER">portNumber</REPLACEABLE></OPTIONAL> <OPTIONAL>-tty CLASS="PARAMETER">portNumber</REPLACEABLE></OPTIONAL> <OPTIONAL>-tty <REPLACEABLE
<REPLACEABLE CLASS="PARAMETER">pqtty</REPLACEABLE></OPTIONAL> CLASS="PARAMETER">pqtty</REPLACEABLE></OPTIONAL>
<OPTIONAL>-options <REPLACEABLE <OPTIONAL>-options <REPLACEABLE
CLASS="PARAMETER">optionalBackendArgs</REPLACEABLE></OPTIONAL> CLASS="PARAMETER">optionalBackendArgs</REPLACEABLE></OPTIONAL>
</SYNOPSIS> </SYNOPSIS>
<REFSECT2 ID="R2-PGTCL-PGCONNECT-1"> <REFSECT2 ID="R2-PGTCL-PGCONNECT-1">
<REFSECT2INFO> <REFSECT2INFO>
<DATE>1998-10-07</DATE>
</REFSECT2INFO>
<TITLE>Inputs (new style)
</TITLE>
<VARIABLELIST>
<VARLISTENTRY>
<TERM>
<REPLACEABLE CLASS="PARAMETER">connectOptions</REPLACEABLE>
</TERM>
<LISTITEM>
<PARA>A string of connection options, each written in the form keyword = value.
</PARA>
</LISTITEM>
</VARLISTENTRY>
</VARIABLELIST>
</REFSECT2>
<REFSECT2 ID="R2-PGTCL-PGCONNECT-2">
<REFSECT2INFO>
<DATE>1997-12-24</DATE> <DATE>1997-12-24</DATE>
</REFSECT2INFO> </REFSECT2INFO>
<TITLE>Inputs (old style) <TITLE>Inputs (old style)
...@@ -213,7 +232,7 @@ pg_connect <REPLACEABLE CLASS="PARAMETER">dbName</REPLACEABLE> <OPTIONAL>-host < ...@@ -213,7 +232,7 @@ pg_connect <REPLACEABLE CLASS="PARAMETER">dbName</REPLACEABLE> <OPTIONAL>-host <
<OPTIONAL>-tty <REPLACEABLE CLASS="PARAMETER">pqtty</REPLACEABLE></OPTIONAL> <OPTIONAL>-tty <REPLACEABLE CLASS="PARAMETER">pqtty</REPLACEABLE></OPTIONAL>
</TERM> </TERM>
<LISTITEM> <LISTITEM>
<PARA>(need information thomas 1997-12-24) <PARA>Specifies file or tty for optional debug output from backend.
</PARA> </PARA>
</LISTITEM> </LISTITEM>
</VARLISTENTRY> </VARLISTENTRY>
...@@ -229,25 +248,6 @@ pg_connect <REPLACEABLE CLASS="PARAMETER">dbName</REPLACEABLE> <OPTIONAL>-host < ...@@ -229,25 +248,6 @@ pg_connect <REPLACEABLE CLASS="PARAMETER">dbName</REPLACEABLE> <OPTIONAL>-host <
</VARIABLELIST> </VARIABLELIST>
</REFSECT2> </REFSECT2>
<REFSECT2 ID="R2-PGTCL-PGCONNECT-2">
<REFSECT2INFO>
<DATE>1998-10-07</DATE>
</REFSECT2INFO>
<TITLE>Inputs (new style)
</TITLE>
<VARIABLELIST>
<VARLISTENTRY>
<TERM>
<REPLACEABLE CLASS="PARAMETER">connectOptions</REPLACEABLE>
</TERM>
<LISTITEM>
<PARA>A string of connection options, each written in the form keyword = value.
</PARA>
</LISTITEM>
</VARLISTENTRY>
</VARIABLELIST>
</REFSECT2>
<REFSECT2 ID="R2-PGTCL-PGCONNECT-3"> <REFSECT2 ID="R2-PGTCL-PGCONNECT-3">
<REFSECT2INFO> <REFSECT2INFO>
<DATE>1997-12-24</DATE> <DATE>1997-12-24</DATE>
...@@ -423,7 +423,8 @@ Each entry in the list is a sublist of the format: ...@@ -423,7 +423,8 @@ Each entry in the list is a sublist of the format:
<para> <para>
{optname label dispchar dispsize value} {optname label dispchar dispsize value}
<Para> <Para>
where the optname is usable as an option in pg_connect -conninfo. where the optname is usable as an option in
<FUNCTION>pg_connect -conninfo</FUNCTION>.
</PARA> </PARA>
</LISTITEM> </LISTITEM>
</VARLISTENTRY> </VARLISTENTRY>
...@@ -785,7 +786,7 @@ created too many query result objects. ...@@ -785,7 +786,7 @@ created too many query result objects.
<REFNAME>pg_select <REFNAME>pg_select
</REFNAME> </REFNAME>
<REFPURPOSE> <REFPURPOSE>
loop over the result of a select statement loop over the result of a SELECT statement
</REFPURPOSE> </REFPURPOSE>
<INDEXTERM ID="IX-PGTCL-PGSELECT-1"><PRIMARY>pgtcl</PRIMARY><SECONDARY>connecting</SECONDARY></INDEXTERM> <INDEXTERM ID="IX-PGTCL-PGSELECT-1"><PRIMARY>pgtcl</PRIMARY><SECONDARY>connecting</SECONDARY></INDEXTERM>
<INDEXTERM ID="IX-PGTCL-PGSELECT-2"><PRIMARY>pg_connect</PRIMARY></INDEXTERM> <INDEXTERM ID="IX-PGTCL-PGSELECT-2"><PRIMARY>pg_connect</PRIMARY></INDEXTERM>
...@@ -1500,7 +1501,7 @@ the actual string to write, not a variable name. ...@@ -1500,7 +1501,7 @@ the actual string to write, not a variable name.
<REFNAMEDIV> <REFNAMEDIV>
<REFNAME>pg_lo_lseek <REFNAME>pg_lo_lseek
</REFNAME> </REFNAME>
<REFPURPOSE>seek to a position on a large object <REFPURPOSE>seek to a position in a large object
</REFPURPOSE> </REFPURPOSE>
<INDEXTERM ID="IX-PGTCL-PGLOLSEEK-1"><PRIMARY>pgtcl</PRIMARY><SECONDARY>positioning</SECONDARY></INDEXTERM> <INDEXTERM ID="IX-PGTCL-PGLOLSEEK-1"><PRIMARY>pgtcl</PRIMARY><SECONDARY>positioning</SECONDARY></INDEXTERM>
<INDEXTERM ID="IX-PGTCL-PGLOLSEEK-2"><PRIMARY>pg_lo_lseek</PRIMARY></INDEXTERM> <INDEXTERM ID="IX-PGTCL-PGLOLSEEK-2"><PRIMARY>pg_lo_lseek</PRIMARY></INDEXTERM>
......
This diff is collapsed.
...@@ -284,7 +284,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -284,7 +284,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
*/ */
fd = open(filename, O_RDONLY, 0666); fd = open(filename, O_RDONLY, 0666);
if (fd &lt; 0) { /* error */ if (fd &lt; 0) { /* error */
fprintf(stderr, "can't open unix file fprintf(stderr, "can't open unix file %s\n", filename);
} }
/* /*
...@@ -292,7 +292,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -292,7 +292,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
*/ */
lobjId = lo_creat(conn, INV_READ|INV_WRITE); lobjId = lo_creat(conn, INV_READ|INV_WRITE);
if (lobjId == 0) { if (lobjId == 0) {
fprintf(stderr, "can't create large object"); fprintf(stderr, "can't create large object\n");
} }
lobj_fd = lo_open(conn, lobjId, INV_WRITE); lobj_fd = lo_open(conn, lobjId, INV_WRITE);
...@@ -302,7 +302,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -302,7 +302,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
while ((nbytes = read(fd, buf, BUFSIZE)) &gt; 0) { while ((nbytes = read(fd, buf, BUFSIZE)) &gt; 0) {
tmp = lo_write(conn, lobj_fd, buf, nbytes); tmp = lo_write(conn, lobj_fd, buf, nbytes);
if (tmp &lt; nbytes) { if (tmp &lt; nbytes) {
fprintf(stderr, "error while reading fprintf(stderr, "error while reading large object\n");
} }
} }
...@@ -321,7 +321,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -321,7 +321,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd &lt; 0) { if (lobj_fd &lt; 0) {
fprintf(stderr,"can't open large object %d", fprintf(stderr,"can't open large object %d\n",
lobjId); lobjId);
} }
...@@ -335,7 +335,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -335,7 +335,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
fprintf(stderr,"&gt;&gt;&gt; %s", buf); fprintf(stderr,"&gt;&gt;&gt; %s", buf);
nread += nbytes; nread += nbytes;
} }
fprintf(stderr,"0); fprintf(stderr,"\n");
lo_close(conn, lobj_fd); lo_close(conn, lobj_fd);
} }
...@@ -349,7 +349,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -349,7 +349,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd &lt; 0) { if (lobj_fd &lt; 0) {
fprintf(stderr,"can't open large object %d", fprintf(stderr,"can't open large object %d\n",
lobjId); lobjId);
} }
...@@ -365,7 +365,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -365,7 +365,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
nbytes = lo_write(conn, lobj_fd, buf + nwritten, len - nwritten); nbytes = lo_write(conn, lobj_fd, buf + nwritten, len - nwritten);
nwritten += nbytes; nwritten += nbytes;
} }
fprintf(stderr,"0); fprintf(stderr,"\n");
lo_close(conn, lobj_fd); lo_close(conn, lobj_fd);
} }
...@@ -385,7 +385,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -385,7 +385,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
*/ */
lobj_fd = lo_open(conn, lobjId, INV_READ); lobj_fd = lo_open(conn, lobjId, INV_READ);
if (lobj_fd &lt; 0) { if (lobj_fd &lt; 0) {
fprintf(stderr,"can't open large object %d", fprintf(stderr,"can't open large object %d\n",
lobjId); lobjId);
} }
...@@ -394,7 +394,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -394,7 +394,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
*/ */
fd = open(filename, O_CREAT|O_WRONLY, 0666); fd = open(filename, O_CREAT|O_WRONLY, 0666);
if (fd &lt; 0) { /* error */ if (fd &lt; 0) { /* error */
fprintf(stderr, "can't open unix file fprintf(stderr, "can't open unix file %s\n",
filename); filename);
} }
...@@ -404,7 +404,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -404,7 +404,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) &gt; 0) { while ((nbytes = lo_read(conn, lobj_fd, buf, BUFSIZE)) &gt; 0) {
tmp = write(fd, buf, nbytes); tmp = write(fd, buf, nbytes);
if (tmp &lt; nbytes) { if (tmp &lt; nbytes) {
fprintf(stderr,"error while writing fprintf(stderr,"error while writing %s\n",
filename); filename);
} }
} }
...@@ -432,7 +432,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -432,7 +432,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
PGresult *res; PGresult *res;
if (argc != 4) { if (argc != 4) {
fprintf(stderr, "Usage: %s database_name in_filename out_filename0, fprintf(stderr, "Usage: %s database_name in_filename out_filename\n",
argv[0]); argv[0]);
exit(1); exit(1);
} }
...@@ -448,7 +448,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -448,7 +448,7 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
/* check to see that the backend connection was successfully made */ /* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD) { if (PQstatus(conn) == CONNECTION_BAD) {
fprintf(stderr,"Connection to database '%s' failed.0, database); fprintf(stderr,"Connection to database '%s' failed.\n", database);
fprintf(stderr,"%s",PQerrorMessage(conn)); fprintf(stderr,"%s",PQerrorMessage(conn));
exit_nicely(conn); exit_nicely(conn);
} }
...@@ -456,20 +456,20 @@ SELECT lo_export(image.raster, "/tmp/motd") from image ...@@ -456,20 +456,20 @@ SELECT lo_export(image.raster, "/tmp/motd") from image
res = PQexec(conn, "begin"); res = PQexec(conn, "begin");
PQclear(res); PQclear(res);
printf("importing file printf("importing file %s\n", in_filename);
/* lobjOid = importFile(conn, in_filename); */ /* lobjOid = importFile(conn, in_filename); */
lobjOid = lo_import(conn, in_filename); lobjOid = lo_import(conn, in_filename);
/* /*
printf("as large object %d.0, lobjOid); printf("as large object %d.\n", lobjOid);
printf("picking out bytes 1000-2000 of the large object0); printf("picking out bytes 1000-2000 of the large object\n");
pickout(conn, lobjOid, 1000, 1000); pickout(conn, lobjOid, 1000, 1000);
printf("overwriting bytes 1000-2000 of the large object with X's0); printf("overwriting bytes 1000-2000 of the large object with X's\n");
overwrite(conn, lobjOid, 1000, 1000); overwrite(conn, lobjOid, 1000, 1000);
*/ */
printf("exporting large object to file printf("exporting large object to file %s\n", out_filename);
/* exportFile(conn, lobjOid, out_filename); */ /* exportFile(conn, lobjOid, out_filename); */
lo_export(conn, lobjOid,out_filename); lo_export(conn, lobjOid,out_filename);
......
...@@ -691,13 +691,14 @@ AsciiRow (B) ...@@ -691,13 +691,14 @@ AsciiRow (B)
</Term> </Term>
<ListItem> <ListItem>
<Para> <Para>
A bit map with one bit for each field in the row. The 1st A bit map with one bit for each field in the row. The 1st
field corresponds to bit 7 of the 1st byte, the 2nd field field corresponds to bit 7 (MSB) of the 1st byte, the 2nd
corresponds to bit 6 of the 1st byte, the 8th field corresponds field corresponds to bit 6 of the 1st byte, the 8th field
to bit 0 of the 1st byte, the 9th field corresponds to bit 8 of corresponds to bit 0 (LSB) of the 1st byte, the 9th field
the 2nd byte, and so on. The bit is set if the value of the corresponds to bit 7 of the 2nd byte, and so on. Each bit
corresponding field is not NULL. is set if the value of the corresponding field is not NULL.
If the number of fields is not a multiple of 8, the remainder
of the last byte in the bit map is wasted.
</Para> </Para>
<Para> <Para>
Then, for each field with a non-NULL value, there is the following: Then, for each field with a non-NULL value, there is the following:
...@@ -720,7 +721,10 @@ AsciiRow (B) ...@@ -720,7 +721,10 @@ AsciiRow (B)
<ListItem> <ListItem>
<Para> <Para>
Specifies the value of the field itself in <Acronym>ASCII</Acronym> Specifies the value of the field itself in <Acronym>ASCII</Acronym>
characters. <Replaceable>n</Replaceable> is the above size minus 4. characters. <Replaceable>n</Replaceable> is the above
size minus 4.
There is no trailing '\0' in the field data; the front
end must add one if it wants one.
</Para> </Para>
</ListItem> </ListItem>
</VarListEntry> </VarListEntry>
...@@ -985,11 +989,13 @@ BinaryRow (B) ...@@ -985,11 +989,13 @@ BinaryRow (B)
<ListItem> <ListItem>
<Para> <Para>
A bit map with one bit for each field in the row. The 1st A bit map with one bit for each field in the row. The 1st
field corresponds to bit 7 of the 1st byte, the 2nd field field corresponds to bit 7 (MSB) of the 1st byte, the 2nd
corresponds to bit 6 of the 1st byte, the 8th field corresponds field corresponds to bit 6 of the 1st byte, the 8th field
to bit 0 of the 1st byte, the 9th field corresponds to bit 8 of corresponds to bit 0 (LSB) of the 1st byte, the 9th field
the 2nd byte, and so on. The bit is set if the value of the corresponds to bit 7 of the 2nd byte, and so on. Each bit
corresponding field is not NULL. is set if the value of the corresponding field is not NULL.
If the number of fields is not a multiple of 8, the remainder
of the last byte in the bit map is wasted.
</Para> </Para>
<Para> <Para>
Then, for each field with a non-NULL value, there is the following: Then, for each field with a non-NULL value, there is the following:
...@@ -1561,7 +1567,7 @@ NotificationResponse (B) ...@@ -1561,7 +1567,7 @@ NotificationResponse (B)
</Term> </Term>
<ListItem> <ListItem>
<Para> <Para>
The process ID of the backend process. The process ID of the notifying backend process.
</Para> </Para>
</ListItem> </ListItem>
</VarListEntry> </VarListEntry>
...@@ -1571,7 +1577,7 @@ NotificationResponse (B) ...@@ -1571,7 +1577,7 @@ NotificationResponse (B)
</Term> </Term>
<ListItem> <ListItem>
<Para> <Para>
The name of the relation that the notify has been raised on. The name of the condition that the notify has been raised on.
</Para> </Para>
</ListItem> </ListItem>
</VarListEntry> </VarListEntry>
...@@ -1664,7 +1670,7 @@ RowDescription (B) ...@@ -1664,7 +1670,7 @@ RowDescription (B)
</Term> </Term>
<ListItem> <ListItem>
<Para> <Para>
Specifies the number of fields in a row (and may be zero). Specifies the number of fields in a row (may be zero).
</Para> </Para>
<Para> <Para>
Then, for each field, there is the following: Then, for each field, there is the following:
...@@ -1756,7 +1762,7 @@ StartupPacket (F) ...@@ -1756,7 +1762,7 @@ StartupPacket (F)
</Term> </Term>
<ListItem> <ListItem>
<Para> <Para>
The database name, defaults to the user name if omitted. The database name, defaults to the user name if empty.
</Para> </Para>
</ListItem> </ListItem>
</VarListEntry> </VarListEntry>
......
...@@ -73,6 +73,9 @@ Acknowledgement that notify command has executed. ...@@ -73,6 +73,9 @@ Acknowledgement that notify command has executed.
</PARA> </PARA>
</LISTITEM> </LISTITEM>
</VARLISTENTRY> </VARLISTENTRY>
</variablelist>
</LISTITEM>
</VARLISTENTRY>
<VARLISTENTRY> <VARLISTENTRY>
<TERM> <TERM>
Notify events Notify events
...@@ -84,9 +87,6 @@ application reacts depends on its programming. ...@@ -84,9 +87,6 @@ application reacts depends on its programming.
</PARA> </PARA>
</LISTITEM> </LISTITEM>
</VARLISTENTRY> </VARLISTENTRY>
</variablelist>
</LISTITEM>
</VARLISTENTRY>
</VARIABLELIST> </VARIABLELIST>
</REFSECT2> </REFSECT2>
</REFSYNOPSISDIV> </REFSYNOPSISDIV>
......
...@@ -104,7 +104,7 @@ The backend does not complain if you UNLISTEN something you were not ...@@ -104,7 +104,7 @@ The backend does not complain if you UNLISTEN something you were not
listening for. listening for.
<para> <para>
Each backend will automatically execute <command>UNLISTEN "*"</command> when Each backend will automatically execute <command>UNLISTEN *</command> when
exiting. exiting.
<para> <para>
......
...@@ -27,7 +27,7 @@ to this guide when the installation is complete. ...@@ -27,7 +27,7 @@ to this guide when the installation is complete.
<Para> <Para>
Throughout this manual, any examples that begin with Throughout this manual, any examples that begin with
the character <Quote>&percnt</Quote> are commands that should be typed the character <Quote>%</Quote> are commands that should be typed
at the UNIX shell prompt. Examples that begin with the at the UNIX shell prompt. Examples that begin with the
character <Quote>*</Quote> are commands in the Postgres query character <Quote>*</Quote> are commands in the Postgres query
language, Postgres <Acronym>SQL</Acronym>. language, Postgres <Acronym>SQL</Acronym>.
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
{ {
double x, y; double x, y;
Complex *result; Complex *result;
if (sscanf(str, " ( &percnt;lf , &percnt;lf )", &amp;x, &amp;y) != 2) { if (sscanf(str, " ( %lf , %lf )", &amp;x, &amp;y) != 2) {
elog(WARN, "complex_in: error in parsing elog(WARN, "complex_in: error in parsing
return NULL; return NULL;
} }
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
if (complex == NULL) if (complex == NULL)
return(NULL); return(NULL);
result = (char *) palloc(60); result = (char *) palloc(60);
sprintf(result, "(&percnt;g,&percnt;g)", complex-&gt;x, complex-&gt;y); sprintf(result, "(%g,%g)", complex-&gt;x, complex-&gt;y);
return(result); return(result);
} }
</ProgramListing> </ProgramListing>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment