Re: database structure / generic client apps

From: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
To: "Bob Lapique" <lapique(at)ifrance(dot)com>, <pgsql-interfaces(at)postgresql(dot)org>
Subject: Re: database structure / generic client apps
Date: 2002-06-08 19:45:00
Message-ID: D85C66DA59BA044EB96AB9683819CF610150D4@dogbert.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

> -----Original Message-----
> From: Bob Lapique [mailto:lapique(at)ifrance(dot)com]
> Sent: 07 June 2002 17:52
> To: pgsql-interfaces(at)postgresql(dot)org
> Subject: [INTERFACES] database structure / generic client apps
>
>
>
> I am to write an interface to a database with 38 tables and
> will have to write others in the future.
>
> Instead of creating a form manually for each table, I would
> like to create them dynamically (Trolltech's Qt). Same with
> queries. But to do so, I need to know the structure of the
> database at RUN TIME.
>
> The number of fields and their type is given by libpq++. (
> Where is the definition of the Oid number returned ? ) >> OK :)
>
>
> BUT I could not find out how to know if a table has a FOREIGN
> KEY constraint on some other table. And what is its PRIMARY KEY. Yet,
> PgAdmin manages to do that. Why not me ? ;)

I spent 5 years working with PostgreSQL to figure out things like that!
Take a look at the code in
http://cvs.pgadmin.org/cgi-bin/viewcvs.cgi/pgschema/ - in particular,
pgForeignKey.cls, ForeignKeys.cls, pgIndex.cls & Indexes.cls to see how
it's done. The basic SQL queries that are used are in basGlobal.bas.

Foreign Keys & Triggers are the hardest to figure out. The primary key
is figured out by finding out which columns are included in the index
with pg_index.indisprimary on the table in question.

Regards, Dave.

Browse pgsql-interfaces by date

  From Date Subject
Next Message Sandro Dentella 2002-06-08 22:28:43 libpgtcl and encoding
Previous Message Franco 2002-06-08 18:37:29 error reporting