| 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: | Whole Thread | Raw Message | 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 |