From: | Ken Johanson <pg-user(at)kensystem(dot)com> |
---|---|
To: | "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Query to get column-names in table via PG tables? |
Date: | 2008-01-10 07:21:34 |
Message-ID: | 4785C77E.4000101@kensystem.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
>> I am looking for expertise on how to program the equivalent to this
>> query, but using the pg_catalog tables, which I understand have fewer
>> security restrictions than information_schema in some cases:
>>
>> SELECT column_name
>> FROM information_schema.columns
>> WHERE table_catalog=? AND table_schema=? AND table_name=?
>> ORDER BY ordinal_position
>>
>> I need this to lookup the column names and their ordinal position for
>> a given table (implementing a driver call).
>
> Just curious... but why is ordinal position important here?
>
>
Because the API spec (JDBC) for the driver supports an argument of
column indexes (int array) which are the table's natural position. This
is to specify which columns' auto-generated keys to return.
So in this case I must pre-fetch the column names from the indexes, and
append a RETURNING clause. Inefficient but the only strategy I know of.
I wont argue if this API is somewhat dubious in ordinary applications,
but the interface requires it be implemented anyway.
Ken
From | Date | Subject | |
---|---|---|---|
Next Message | dfx | 2008-01-10 08:12:27 | Increase the number of concurrent connection |
Previous Message | Sim Zacks | 2008-01-10 07:06:50 | Re: count(*) and bad design was: Experiences with extensibility |