Regarding point 3, the table space pollution
problem wouldn't be nearly as bad if the tables were prefixed with pg_pgadmin so
that most of the time they dissapear.� This could have a 'Use TEMP tables'
option to enable self creanup for production DBs.
�
However, an alternative to this is to allow the
user to specifically specify a database to store the shared structures in -- not
necessarily the one they're working on.
�
Anyway, to allow shared editing of SQL queries
simply make a new table with a couple of columns (code and query).� Cut and
paste may be a pain in the ass, but technically to allow inline editing one
would need to block on the row anytime someone opened it so synchronous access
would be limited anyway.� That or a diff would need to be done against the
original to ensure no change before any write.
�
--Rod Taylor
�
This message represents the official view of the
voices in my head
<BLOCKQUOTE dir=ltr
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000
2px solid; MARGIN-RIGHT: 0px">
----- Original Message -----
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black">From:
Dave
Page
To: <A [EMAIL PROTECTED]
href="mailto:[EMAIL PROTECTED]">'Mark A. Taff' ; <A
[EMAIL PROTECTED]
href="mailto:[EMAIL PROTECTED]">pgadmin-hackers
Sent: Thursday, February 14, 2002 2:58
PM
Subject: Re: [pgadmin-hackers]
Introduction
�
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid;
MARGIN-RIGHT: 0px">
<FONT
face=Tahoma size=2>-----Original Message-----From: Mark A. Taff
[mailto:[EMAIL PROTECTED]] Sent: 14 February 2002
17:28To: pgadmin-hackersSubject: [pgadmin-hackers]
Introduction
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">Howdy!
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">�
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">I am
interested in helping to develop
pgAdmin.
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">�
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">By
way of e-introduction, my name is Mark Taff.<SPAN
style="mso-spacerun: yes">� I am a web and database developer
living near Seattle, Washington, USA.
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">
<SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt"><SPAN
class=925133519-14022002><FONT
color=#0000ff>�
<SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt"><SPAN
class=925133519-14022002>Hi, I'm Dave!! :-) (guess you already know that
though...).
<BLOCKQUOTE dir=ltr
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid;
MARGIN-RIGHT: 0px">
<SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt"><SPAN
class=925133519-14022002>�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. <SPAN
style="mso-spacerun: yes">�I don't want to be working at
cross-purposes with the other developers.<SPAN
style="mso-spacerun: yes">� So, in no particular
order...
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">�
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">�
<LI class=MsoNormal
style="COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"><SPAN
class=EmailStyle15><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">The
treeview should automatically show newly created objects if other objects
of the same type are currently displayed.<SPAN
style="mso-spacerun: yes">� 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.�<SPAN
class=925133519-14022002><FONT face=Arial color=#0000ff
size=2>�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.�
<LI class=MsoNormal
style="COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"><SPAN
class=EmailStyle15><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">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. <SPAN
style="mso-spacerun: yes">�This would open up the possibility
of easily `copying` objects from one server to
another.�<SPAN
class=925133519-14022002><FONT face=Arial color=#0000ff
size=2>�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.
<LI class=MsoNormal
style="COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"><SPAN
class=EmailStyle15><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">The
re-engineered SQL code is nice, but it has limited usefulness.<SPAN
style="mso-spacerun: yes">� 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.<SPAN
style="mso-spacerun: yes">� This is most important for
functions (and function-like objects).<SPAN
style="mso-spacerun: yes">� 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.<SPAN
style="mso-spacerun: yes">� 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.<SPAN
style="mso-spacerun: yes">� I am keenly interested in making
this a reality.�<SPAN
class=925133519-14022002><FONT face=Arial color=#0000ff
size=2>�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.��
<LI class=MsoNormal
style="COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"><SPAN
class=EmailStyle15><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">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.<SPAN
style="mso-spacerun: yes">� 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.�<SPAN
class=925133519-14022002><FONT face=Arial color=#0000ff
size=2>�Sounds good.�
<LI class=MsoNormal
style="COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"><SPAN
class=EmailStyle15><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size:
12.0pt">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.<SPAN
style="mso-spacerun: yes">� I realize that PostgreSQL doesn't
track such dependencies, but that doesn't mean we can't.<SPAN
style="mso-spacerun: yes">� 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.<SPAN
style="mso-spacerun: yes">� 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).<SPAN
style="mso-spacerun: yes">� 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.�<SPAN
class=925133519-14022002><FONT face=Arial color=#0000ff
size=2>�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.
<LI class=MsoNormal
style="COLOR: black; mso-list: l0 level1 lfo1; tab-stops: list .5in"><SPAN
class=EmailStyle15><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">The
log window needs to have a close button to allow it to be closed. <SPAN
style="mso-spacerun: yes">�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.<SPAN
style="mso-spacerun: yes">� I have to call myself silly, then
use task manager to forcibly kill pgAdmin, then edit the registry to
change the log window options.�<SPAN
class=925133519-14022002><FONT face=Arial color=#0000ff
size=2>�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.
<FONT face=Arial color=black
size=2><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">�
<SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt">�<SPAN
class=925133519-14022002>Happy
hacking!
<SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt"><SPAN
class=925133519-14022002>�
<SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-bidi-font-size: 12.0pt"><SPAN
class=925133519-14022002>Regards, Dave.