From: | Forest Wilkinson <lyris-pg(at)tibit(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | how to determine array size |
Date: | 2003-06-09 20:23:35 |
Message-ID: | nqh9ev007tlivjj1nnakco0ci541jucse5@4ax.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
I need to enumerate the constraints on any given column in a table, so
I'm examining pg_constraint to get the relevant information. The
conkey array contains a list of constrained columns, and although I am
able to check conkey[1] for constraints on a single column, I would
like to properly handle multi-column constraints.
How do I determine the size of the conkey array? I haven't found any
field that looks like it contains the number of values in conkey. Do
I have to check each element of the array sequentially, until I get a
NULL value from one of them? (Section 5.12 of the User's Guide seems
to forbid this: "A limitation of the present array implementation is
that individual elements of an array cannot be SQL null values.")
Moreover, that method doesn't give me a nice way of selecting all
constraints on a specific column, as I would have to write clauses
like this:
... WHERE conkey[1] = blah OR conkey[2] = blah OR conkey[3] = blah OR
conkey[4] = blah ...
Can somone offer a better way?
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2003-06-10 07:20:44 | Re: Retype |
Previous Message | Michael A Nachbaur | 2003-06-09 20:08:48 | Re: "Join" on delimeter aggregate query |