Re: [HACKERS] TCL_ARRAYS code in libpgtcl is pretty seriously broken

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu>
Cc: pgsql-hackers(at)postgreSQL(dot)org, pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [HACKERS] TCL_ARRAYS code in libpgtcl is pretty seriously broken
Date: 1998-10-05 14:11:51
Message-ID: 22734.907596711@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-interfaces

"Thomas G. Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu> writes:
> This isn't a definitive answer and there may be another way to discover
> array-ness but it's where I would look. Not sure if you'd be happy
> having to do a select on pg_type for every query unless you're doing it
> already...

I think that won't fly for performance reasons. I know I wouldn't want
my Tcl applications paying an additional frontend-to-backend round trip
for every SELECT result...

I was actually a tad surprised to realize that the column-type info sent
by the backend couldn't answer such a basic question as "is this an
array?". Something to fix if we ever rev the FE/BE protocol again.
Don't think I'd propose a protocol rev just for this, though.

In the meantime, I'm inclined to take the fallback approach I suggested
yesterday: provide the array-to-list reformatting function as a separate
Tcl statement that the application programmer can decide to invoke.
The app writer is likely to know perfectly well where he needs that
feature anyway.

regards, tom lane

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 1998-10-05 14:18:47 man-page install (was Re: pg_dump new -n flag)
Previous Message Tom Lane 1998-10-05 14:01:28 Re: [HACKERS] Re: pg_dump new -n flag

Browse pgsql-interfaces by date

  From Date Subject
Next Message Thomas G. Lockhart 1998-10-05 14:15:30 Re: [INTERFACES] Re: Just some unfinished stuff.
Previous Message Thomas G. Lockhart 1998-10-05 06:05:16 Re: [INTERFACES] Re: Just some unfinished stuff.