Identify primary key in simple/updatable view

From: Lionel Elie Mamane <lionel(at)mamane(dot)lu>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Identify primary key in simple/updatable view
Date: 2013-08-02 15:18:11
Message-ID: 20130802151811.GD6816@capsaicin.mamane.lu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Now that PostgreSQL has updatable views, users (of LibreOffice /
native PostgreSQL drivers) want to use them... LibreOffice needs a
primary key to "locate" updates (that is, construct the WHERE clause
of an UPDATE or DELETE).

How can the driver automatically identify the view columns that
correspond to the primary key of the underlying table (and more
generally the same for keys and indexes)? For "simple" views. Without
parsing the SQL that defines the view (unless libpq will serve me a
parse tree? Didn't think so.).

For tables, it does that by reading from pg_constraint, but to use
that for views, I'd need to parse the SQL, track renamed columns,
etc.

Thanks in advance for your precious help,

--
Lionel

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kevin Grittner 2013-08-02 15:25:12 Re: Fastest Index/Algorithm to find similar sentences
Previous Message Tom Lane 2013-08-02 14:58:39 Re: Add a NOT NULL column with default only during add