Re: Transform pgSchema into a Multi-database wr

From: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
To: "'Jean-Michel POURE'" <jm(dot)poure(at)freesurf(dot)fr>, pgadmin-hackers(at)postgresql(dot)org
Subject: Re: Transform pgSchema into a Multi-database wr
Date: 2001-09-23 14:53:58
Message-ID: AA30E7BCCA5C1D4E88A231900F8325C00AFF@dogbert.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

> -----Original Message-----
> From: Jean-Michel POURE [mailto:jm(dot)poure(at)freesurf(dot)fr]
> Sent: 23 September 2001 10:28
> To: pgadmin-hackers(at)postgresql(dot)org
> Subject: [pgadmin-hackers] Transform pgSchema into a
> Multi-database wrapper
>
>
> Hello all,
>
> Is it technically possible to transform pgSchema into a
> multi-database wrapper?
>
> 1) Usually database wrappers are built using inheritance.
> 2) As inheritance does not exist in VB, we need to use other
> solutions
> which are :
> - i) duplicate pgSchema, i.e. create a mysqlSchema object,
> - ii) add an XML/XSLT description layer to pgSchema.
>
> XML layer + XSLT should help use describe:
> - Abstract Schema and Datatype mappings.
> - Available objects (i.e MySQL does not have functions,
> triggers and views),
> - SQL queries used to retrieve information.
>
> This would not change the calling API of pgSchema but the
> internal structure. Is this a dream (unfortunately, I guess
> yes)? Any suggestions welcome.

The easy way to do it would be to create an 'Abstract' dll that specifies
the dll interface. You would then make pgSchema or mySchema 'Implement' this
interface. The login code in pgAdmin would have to load the correct dll for
the remote db. Look at the exporters or plugins to see how 'Implements'
works.

I would point out here and now, that whilst it would be nice to provide the
level of functionality for other DBs as we do for PostgreSQL, I will not be
undertaking such a project myself. The amount of work I did (and will
continue doing with future versions of PostgreSQL) on pgSchema is tremendous
and I don't want to do it again for another db that I have no interest in
using (there is now 24,990 lines of [fairly well] debugged and tested code
in pgAdmin II - not including dll test code!).

However, if you want to implement something and can do it with compromising
the PostgreSQL functionality then feel free - I'll be happy to add it to the
project.

--
Dave Page (dpage(at)postgresql(dot)org)
pgAdmin Project Leader
http://pgadmin.postgresql.org/

Browse pgadmin-hackers by date

  From Date Subject
Next Message Jean-Michel POURE 2001-09-23 15:32:57 Re: Transform pgSchema into a Multi-database
Previous Message Jean-Michel POURE 2001-09-23 09:28:13 Transform pgSchema into a Multi-database wrapper