how to determine array size

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?

Responses

Browse pgsql-sql by date

  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