Re: Introduction

From: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
To: "'Mark A(dot) Taff'" <mark(at)libertycreek(dot)net>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Introduction
Date: 2002-02-14 19:58:27
Message-ID: FED2B709E3270E4B903EB0175A49BCB1047597@dogbert.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers


-----Original Message-----
From: Mark A. Taff [mailto:mark(at)libertycreek(dot)net]
Sent: 14 February 2002 17:28
To: pgadmin-hackers
Subject: [pgadmin-hackers] Introduction

Howdy!

I am interested in helping to develop pgAdmin.

By way of e-introduction, my name is Mark Taff. I am a web and database
developer living near Seattle, Washington, USA.


Hi, I'm Dave!! :-) (guess you already know that though...).
There are a number of features/improvements to pgAdmin I would like to see
(and am willing to work on!), but I don't want to waste my time, so I
thought it best to run them by you guys and get your feedback before I do
anything. I don't want to be working at cross-purposes with the other
developers. So, in no particular order...


1. The treeview should automatically show newly created objects if
other objects of the same type are currently displayed. The user should
never have to `refresh below selection` unless they are in a multi-author
environment, and even then it may make sense to periodically (during low cpu
use) check the server for objects we aren't aware of.

When an object is created or dropped through IDE, the treeview *is* updated,
however, if you execute SQL manually, or another developer creates something
it will not be. I'm not convinced that you will find a good way to solve
this problem. Of course, with software like SQL Server, the management
console is much more tightly integrated with the server. pgAdmin users are
running ODBC connections, often over slow connections so this level of
integration is not possible.

2. I would like to see the treeview root item be `servers`, which would
have sub nodes for different servers. I work in a multi-server environment,
and it would be nice to be able to work with objects on multiple servers at
the same time. This would open up the possibility of easily `copying`
objects from one server to another.

Agreed. This will require significant reworking of the higher levels of
pgSchema. I did look at it a month or so back and left it when I realised
how much work was involved.

3. The re-engineered SQL code is nice, but it has limited usefulness.
I do most of my work using the execute sql window because in good coding
tradition, I like to leave lots of comments about just what the heck is
going on. This is most important for functions (and function-like objects).
I also like to save the SQL for each object as both an individual .sql file
and as part of a global class and object-type class files. This modular
approach allows me to pick and choose objects to quickly build a new
database. To implement such a creature, I would suggest an SQL IDE so to
speak, much like the VBA editor used in Office applications. Part of this
is also the desired ability to right-click an object in the tree and to be
able to edit _my_ sql code (with comments) rather than re-engineered SQL
code. I am keenly interested in making this a reality.

The re-engineered SQL is essential to the Revision Control features. The
downside with the approach you suggest is that it requires centralised
storage of all the SQL - one of the things people often complained about
with pgAdmin I was the tables it created in each database. The other side of
this, is that most people probably use pgAdmin so they don't have to worry
about authoring the SQL themselves, so such a feature would probably be of
limited interest.

4. I would like to see a query designer with features like the one in
MS SQL Server 2000. This requires the graphical relationship plugin to be
finished first, as it would have to be an optional pane. The actual
interface isn't really important. What I find important is having
relationships, objects and their properties, an sql pane, and a results pane
all in one place. Probably the only way to make that happen is with a
full-size form in addition to the main form.

Sounds good.

5. Dependencies, dependencies, dependencies! On of my favorite
features of SQL Server is that it tells me when I am trying to delete an
object that other objects depend on. I realize that PostgreSQL doesn't
track such dependencies, but that doesn't mean we can't. We could create a
series of PostgreSQL triggers/rules that would create/update a dependencies
table on object creation/deletion. We would then query this relation prior
to dropping an object. This is probably the cleanest approach. This
shouldn't be too hard to implement, as PostgreSQL is kind enough to store
object information in selectable tables (hence triggerable, I think). As
this would be making some serious system changes to the server, we should
get user permission before creating these rules and triggers on the server,
IMO.

The last code we worked on for pgAdmin I tracked dependencies. It was very
complex, and there were many issues we could not resolve satisfactorily. For
example, it's very difficult to figure out what objects a PL function
written in language X is dependant on.

We are not currently re-implementing this code, for that reason, and because
there has been talk of PostgreSQL having a pg_dependencies table soon
anyway.

6. The log window needs to have a close button to allow it to be
closed. If you are silly, as I am sometimes, you set the log window to
always on top positioned in the center of the screen space. The next time
you open pgAdmin, you can't do anything because the tips form is modal and
hidden beneath the log window. I have to call myself silly, then use task
manager to forcibly kill pgAdmin, then edit the registry to change the log
window options.

The 'Show Log Window' option on the 'View' menu is your friend!! Feel free
to add a close button, but please make sure it works with that menu option
appropriately.

Happy hacking!

Regards, Dave.

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Rod Taylor 2002-02-14 20:56:03 Re: Introduction
Previous Message Mark A. Taff 2002-02-14 17:27:53 Introduction