On Thu, Sep 20, 2012 at 06:17:15PM +0200, Alan B wrote: > Hi list, > Hope this is the right place to suggest that change in the docs, otherwise is > there a ticket management system for this stuff somewhere? > > Paying attention to the documentation at http://www.postgresql.org/docs/8.4/ > static/ecpg-connect.html and subsequent versions of the page (I am using 8.4), > there is the option to specify "user-name" in various ways. However this may > be > confused as a single parameter to the connect string while it is a combination > of 1 or 2 parameters that cannot go into a single string. > > To avoid confusion I suggest providing a complete example in "Here are some > examples of CONNECT statements:" as follows: > > > EXEC SQL CONNECT TO m...@sql.mydomain.com; > > EXEC SQL CONNECT TO unix:postgresql://sql.mydomain.com/mydb AS myconnection > USER john; > > EXEC SQL BEGIN DECLARE SECTION; > const char *target = "m...@sql.mydomain.com"; > const char *user = "john"; > const char *passwd = "secret"; > EXEC SQL END DECLARE SECTION; > ... > > EXEC SQL CONNECT TO :target USER :user USING :passwd; > or > EXEC SQL CONNECT TO :target USER :user/:passwd; > > To make the distinction of parameters and string variables evident.
I had a look at this just now, and you are right that it is very confusing. I couldn't even figure out how to explain it in text, and agree that your example is the best solution. Attached patch applied to git head and 9.2. Thanks. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml new file mode 100644 index 63aaf89..bf01857 *** a/doc/src/sgml/ecpg.sgml --- b/doc/src/sgml/ecpg.sgml *************** EXEC SQL CONNECT TO unix:postgresql://sq *** 194,202 **** EXEC SQL BEGIN DECLARE SECTION; const char *target = "m...@sql.mydomain.com"; const char *user = "john"; EXEC SQL END DECLARE SECTION; ... ! EXEC SQL CONNECT TO :target USER :user; </programlisting> The last form makes use of the variant referred to above as character variable reference. You will see in later sections how C --- 194,205 ---- EXEC SQL BEGIN DECLARE SECTION; const char *target = "m...@sql.mydomain.com"; const char *user = "john"; + const char *passwd = "secret"; EXEC SQL END DECLARE SECTION; ... ! EXEC SQL CONNECT TO :target USER :user USING :passwd; ! ! EXEC SQL CONNECT TO :target USER :user/:passwd; </programlisting> The last form makes use of the variant referred to above as character variable reference. You will see in later sections how C
-- Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs