Re: [HACKERS] dblink versus long connection strings

2010-11-29 Thread queej

I have views that use the dblink(connStr text, sql text) call.  They cannot
use a two-step process.  So postgres 9.0 has broken all of those views.  Is
there a straightforward solution to this?
-- 
View this message in context: 
http://postgresql.1045698.n5.nabble.com/dblink-versus-long-connection-strings-tp3275575p3284620.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-29 Thread Itagaki Takahiro
On Tue, Nov 30, 2010 at 01:01, queej d...@authentrics.com wrote:
 I have views that use the dblink(connStr text, sql text) call.  They cannot
 use a two-step process.  So postgres 9.0 has broken all of those views.  Is
 there a straightforward solution to this?

Could you explain your views?  I cannot get any warnings from
dblink(connStr text, sql text) with long connStr.

Also, I wonder two things:
* dblink(connStr text, sql text) never raises warning logs even without
  the recent fix, because they don't register connection names.
* Connection names could be truncated, but connection strings are never
  truncated. I'm not sure why connection strings are logged in your log.

-- 
Itagaki Takahiro

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-25 Thread Itagaki Takahiro
On Tue, Nov 23, 2010 at 02:21, Tom Lane t...@sss.pgh.pa.us wrote:
 In any case I don't see an argument why warning on connection creation
 isn't sufficient.

I'll check all versions of dblink.  truncate_identifier() will be called
with warn=false in all cases except dblink_coneect() - createNewConnection().

-- 
Itagaki Takahiro

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] dblink versus long connection strings

2010-11-22 Thread Tom Lane
This bug report:
http://archives.postgresql.org/pgsql-bugs/2010-11/msg00139.php
shows that this patch was ill-considered:
http://archives.postgresql.org/pgsql-committers/2010-06/msg00013.php
and this later attempt didn't fix it, because it still misbehaves in
HEAD:
http://archives.postgresql.org/pgsql-committers/2010-06/msg00070.php
not to mention that that second patch didn't even touch pre-8.4
branches.

I'm inclined to think that we should just change all the
truncate_identifier calls to warn=false, and forget about providing
identifier-truncated warnings here.  It's too difficult to tell whether
a string is really meant as an identifier.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Itagaki Takahiro
On Tue, Nov 23, 2010 at 01:27, Tom Lane t...@sss.pgh.pa.us wrote:
 This bug report:
 http://archives.postgresql.org/pgsql-bugs/2010-11/msg00139.php
 shows that this patch was ill-considered:
 http://archives.postgresql.org/pgsql-committers/2010-06/msg00013.php
 and this later attempt didn't fix it, because it still misbehaves in
 HEAD:
 http://archives.postgresql.org/pgsql-committers/2010-06/msg00070.php
 not to mention that that second patch didn't even touch pre-8.4
 branches.

 I'm inclined to think that we should just change all the
 truncate_identifier calls to warn=false, and forget about providing
 identifier-truncated warnings here.  It's too difficult to tell whether
 a string is really meant as an identifier.

It is not a truncated identifier, but I think the truncation is still
worth warning because we cannot distinguish two connections that
differ only 63 bytes.

Do we need another logic to name non-named connections?
For example, md5 hash of the connection string.

-- 
Itagaki Takahiro

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Tom Lane
Itagaki Takahiro itagaki.takah...@gmail.com writes:
 On Tue, Nov 23, 2010 at 01:27, Tom Lane t...@sss.pgh.pa.us wrote:
 I'm inclined to think that we should just change all the
 truncate_identifier calls to warn=false, and forget about providing
 identifier-truncated warnings here.  It's too difficult to tell whether
 a string is really meant as an identifier.

 It is not a truncated identifier, but I think the truncation is still
 worth warning because we cannot distinguish two connections that
 differ only 63 bytes.

The problem is to not give a warning when the string isn't meant as a
connection name at all, but as a libpq conninfo string (which can
perfectly reasonably run to more than 63 characters).  Most if not all
of the dblink functions will accept either.

Perhaps a reasonable compromise is to issue the truncation warnings when
an overlength name is being *entered* into the connection table, but not
for simple lookups.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Andrew Dunstan



On 11/22/2010 11:51 AM, Tom Lane wrote:

Itagaki Takahiroitagaki.takah...@gmail.com  writes:

On Tue, Nov 23, 2010 at 01:27, Tom Lanet...@sss.pgh.pa.us  wrote:

I'm inclined to think that we should just change all the
truncate_identifier calls to warn=false, and forget about providing
identifier-truncated warnings here. Â It's too difficult to tell whether
a string is really meant as an identifier.

It is not a truncated identifier, but I think the truncation is still
worth warning because we cannot distinguish two connections that
differ only63 bytes.

The problem is to not give a warning when the string isn't meant as a
connection name at all, but as a libpq conninfo string (which can
perfectly reasonably run to more than 63 characters).  Most if not all
of the dblink functions will accept either.

Perhaps a reasonable compromise is to issue the truncation warnings when
an overlength name is being *entered* into the connection table, but not
for simple lookups.


Can't we distinguish a name from a conninfo string by the presence of an 
= sign?


cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Tom Lane
Andrew Dunstan and...@dunslane.net writes:
 On 11/22/2010 11:51 AM, Tom Lane wrote:
 Perhaps a reasonable compromise is to issue the truncation warnings when
 an overlength name is being *entered* into the connection table, but not
 for simple lookups.

 Can't we distinguish a name from a conninfo string by the presence of an 
 = sign?

No, because = isn't disallowed in names ...

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Andrew Dunstan



On 11/22/2010 12:08 PM, Tom Lane wrote:

Andrew Dunstanand...@dunslane.net  writes:

On 11/22/2010 11:51 AM, Tom Lane wrote:

Perhaps a reasonable compromise is to issue the truncation warnings when
an overlength name is being *entered* into the connection table, but not
for simple lookups.

Can't we distinguish a name from a conninfo string by the presence of an
= sign?

No, because = isn't disallowed in names ...


Ok, true, but it still might not be a bad heuristic to use for issuing a 
warning on lookup.


cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Tom Lane
Andrew Dunstan and...@dunslane.net writes:
 On 11/22/2010 12:08 PM, Tom Lane wrote:
 No, because = isn't disallowed in names ...

 Ok, true, but it still might not be a bad heuristic to use for issuing a 
 warning on lookup.

The fine manual says that using = in a connection name might be unwise
because of the risk of confusion.  It doesn't say that you should expect
to get a NOTICE every single time you use the name.  People have
complained of postmaster log bloat for lots less reason than this.

In any case I don't see an argument why warning on connection creation
isn't sufficient.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] dblink versus long connection strings

2010-11-22 Thread Andrew Dunstan



On 11/22/2010 12:21 PM, Tom Lane wrote:

Andrew Dunstanand...@dunslane.net  writes:

On 11/22/2010 12:08 PM, Tom Lane wrote:

No, because = isn't disallowed in names ...

Ok, true, but it still might not be a bad heuristic to use for issuing a
warning on lookup.

The fine manual says that using = in a connection name might be unwise
because of the risk of confusion.  It doesn't say that you should expect
to get a NOTICE every single time you use the name.  People have
complained of postmaster log bloat for lots less reason than this.

In any case I don't see an argument why warning on connection creation
isn't sufficient.


OK.

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers