Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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.

pgsql-interfaces by date

Next:From: Sandro DentellaDate: 2002-06-08 22:28:43
Subject: libpgtcl and encoding
Previous:From: FrancoDate: 2002-06-08 18:37:29
Subject: error reporting

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group