Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-30 Thread Merlin Moncure

On 11/30/06, John McCawley <[EMAIL PROTECTED]> wrote:

I can't speak for wxPython etc., but regarding using QT from C++, your
speed of development depends on your C++ skills.  I wrote a
full-featured Point of Sale system in Visual Basic that has been in
active use for about 4 years.  The original development effort (screens,
grids, etc.) took about 3 weeks.  I got tired of supporting an app that
I had to lug out my Windows/VB laptop for, so I decided to port it to
C++ so I could develop on my Linux box.  I ported the entire thing over
to C++/QT in about a week.

QT is *extremely* good.  My speed with developing GUI applications in
C++ is now on par with my abilities in VB...And I can't think of a tool
on earth faster than VB for cranking out quick-n-dirty apps :P


having used both, I can tell you that delphi is much better than vb
for developing database applications.  you also can use the quixotic
hybrid in c++ builder which is a curious mixture of rad technology and
c++ power.  however with each release since delphi 5 or so, borland
seems to be unable to do much more than add bugs to the product, and
so the market has moved on.  also the kylix project was a complete
failure.

btw, I agree that qt is where it's at.  great stuff.

merlin

---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
  choose an index scan if your joining column's datatypes do not
  match


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-30 Thread John McCawley
I can't speak for wxPython etc., but regarding using QT from C++, your 
speed of development depends on your C++ skills.  I wrote a 
full-featured Point of Sale system in Visual Basic that has been in 
active use for about 4 years.  The original development effort (screens, 
grids, etc.) took about 3 weeks.  I got tired of supporting an app that 
I had to lug out my Windows/VB laptop for, so I decided to port it to 
C++ so I could develop on my Linux box.  I ported the entire thing over 
to C++/QT in about a week.


QT is *extremely* good.  My speed with developing GUI applications in 
C++ is now on par with my abilities in VB...And I can't think of a tool 
on earth faster than VB for cranking out quick-n-dirty apps :P


The big problem with all the solutions mentioned (besides Delphi, 
SharpDevelop etc) is that they

take a LOT of time to develop complex GUI applications with.

I looked at Python etc, but it would have taken me 10 times (or more) 
longer to create Lightning Admin

using something other than Delphi.



---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
  choose an index scan if your joining column's datatypes do not
  match


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-30 Thread Joshua D. Drake

> The big problem with all the solutions mentioned (besides Delphi, 
> SharpDevelop etc) is that they
> take a LOT of time to develop complex GUI applications with.
> 
> I looked at Python etc, but it would have taken me 10 times (or more) 
> longer to create Lightning Admin
> using something other than Delphi.

Huh? I seriously doubt that is the case if you were to use something
like Py/QT. Sure if you are command lining all the code  but that is
certainly not what has to happen.

Sincerely,

Joshua D. Drake


-- 

  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate




---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-30 Thread Tony Caduto

Ritesh Nadhani wrote:

Hello All

Sorry for the late reply. Been a little busy with my assignments.

I will try to answer all the queries in this mail.

The reason I don't want to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary

Another reason why suggested wxWidgets is because I have worked with
it before and I am comfortable with the system. As somebody suggested,
even wxPython looks good as Python greatly increases the speed of
implementation.

You do know that wxWindows and wxWidgets are the same thing right?

The big problem with all the solutions mentioned (besides Delphi, 
SharpDevelop etc) is that they

take a LOT of time to develop complex GUI applications with.

I looked at Python etc, but it would have taken me 10 times (or more) 
longer to create Lightning Admin

using something other than Delphi.

How long do you think it would take you to create a grid with features 
like this:

http://www.devexpress.com/Products/VCL/ExQuantumGrid/

or even like this freeware one:http://www.scalabium.com/smdbgrid.htm

That is the beauty of Delphi, there are simply thousands and thousands of
3rd party components that make your life so much easier.

Need a free super nice syntax highlighting editor with full support for 
code completion and param hinting?

Check out: http://mh-nexus.de/unisynedit.htm

Need unicode control support? check out:
http://www.tntware.com/delphicontrols/unicode/

Just my opinion on the matter :-)  No flames please.

--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration 



---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-30 Thread Tony Caduto

Ritesh Nadhani wrote:



Also, IDEs like Delphi etc. are out of question as I cant afford to
buy the licenses.


You can get Turbo Delphi Explorer for free and the license
allows commercial development.  It really is sweet.
Check it out here: http://www.turboexplorer.com/

The explorer version come in C#, Delphi.net and native win32.

The C# OR Delphi.net versions can be used to develop Mono 1.2 
applications and work great
with the any .net data provider assembly such as Npgsql  which you can 
get at www.pgfoundry.org.


Later,

--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration 



---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Ritesh Nadhani

pgAdmin III is only for PgSQL. I plan on a multidb one. Thats my idea
from the beginning. Atleast, support Mysql and PgSQL and and then
support other DB as time progresses.

On 11/29/06, Joshua D. Drake <[EMAIL PROTECTED]> wrote:

On Wed, 2006-11-29 at 13:00 -0600, Tony Caduto wrote:
> Ritesh Nadhani wrote:
> > Thanks to all for their suggestions and ideas. I believe that there is
> > indeed a scope for such a tool.
> >
> > My semester ends on 15th December and I get a one month break between
> > next semester. I will write a simple app in wxWidgets (that is what I
> > am comfortable with right now) to show what I am trying to do. From
> > there on, we can take this forward. If the prototype seems
> > interesting, we can take it forward and I am even willing to change
> > the toolkit/language if I find a much better viable alternative.
> >
> I can't remember if you intended for this to be open source, but why
> don't you just work with pgAdmin III
> i.e. enhance it .  It already uses WXwidgets and you wouldn't have to
> start from scratch.
>
> If you are thinking commercial, it's a tough racket with at least 6
> competitors in the market.

At least? Your forgetting many of them :).

Joshua D. Drake


>
> Later,
>
--

  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate






---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Joshua D. Drake
On Wed, 2006-11-29 at 13:00 -0600, Tony Caduto wrote:
> Ritesh Nadhani wrote:
> > Thanks to all for their suggestions and ideas. I believe that there is
> > indeed a scope for such a tool.
> >
> > My semester ends on 15th December and I get a one month break between
> > next semester. I will write a simple app in wxWidgets (that is what I
> > am comfortable with right now) to show what I am trying to do. From
> > there on, we can take this forward. If the prototype seems
> > interesting, we can take it forward and I am even willing to change
> > the toolkit/language if I find a much better viable alternative.
> >
> I can't remember if you intended for this to be open source, but why 
> don't you just work with pgAdmin III
> i.e. enhance it .  It already uses WXwidgets and you wouldn't have to 
> start from scratch.
> 
> If you are thinking commercial, it's a tough racket with at least 6 
> competitors in the market.

At least? Your forgetting many of them :).

Joshua D. Drake


> 
> Later,
> 
-- 

  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate




---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Tony Caduto

Ritesh Nadhani wrote:

Thanks to all for their suggestions and ideas. I believe that there is
indeed a scope for such a tool.

My semester ends on 15th December and I get a one month break between
next semester. I will write a simple app in wxWidgets (that is what I
am comfortable with right now) to show what I am trying to do. From
there on, we can take this forward. If the prototype seems
interesting, we can take it forward and I am even willing to change
the toolkit/language if I find a much better viable alternative.

I can't remember if you intended for this to be open source, but why 
don't you just work with pgAdmin III
i.e. enhance it .  It already uses WXwidgets and you wouldn't have to 
start from scratch.


If you are thinking commercial, it's a tough racket with at least 6 
competitors in the market.


Later,

--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration 



---(end of broadcast)---
TIP 4: Have you searched our list archives?

  http://archives.postgresql.org/


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Ritesh Nadhani

Thanks to all for their suggestions and ideas. I believe that there is
indeed a scope for such a tool.

My semester ends on 15th December and I get a one month break between
next semester. I will write a simple app in wxWidgets (that is what I
am comfortable with right now) to show what I am trying to do. From
there on, we can take this forward. If the prototype seems
interesting, we can take it forward and I am even willing to change
the toolkit/language if I find a much better viable alternative.

On 11/29/06, Joshua D. Drake <[EMAIL PROTECTED]> wrote:

On Wed, 2006-11-29 at 08:42 -0800, Richard Troy wrote:
> On Wed, 29 Nov 2006, Ritesh Nadhani wrote:
> >
> > Hello
> >
> > I have been working with wxWidgets and I didnt face a problem. What
> > specific thing were broken in wxWidgets for Windows?
> >
> > Ritesh
>
> PLEASE take this offline - it's not even close to Postgres related.

You are absolutely correct, that is why this is a PostgreSQL mailing
list. ;)

The discussion of development toolkits for Open Source databases *is*
PostgreSQL (there is no Postgres here) related.

Sincerely,

Joshua D. Drake


--

  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate






---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Joshua D. Drake
On Wed, 2006-11-29 at 08:42 -0800, Richard Troy wrote:
> On Wed, 29 Nov 2006, Ritesh Nadhani wrote:
> >
> > Hello
> >
> > I have been working with wxWidgets and I didnt face a problem. What
> > specific thing were broken in wxWidgets for Windows?
> >
> > Ritesh
> 
> PLEASE take this offline - it's not even close to Postgres related.

You are absolutely correct, that is why this is a PostgreSQL mailing
list. ;)

The discussion of development toolkits for Open Source databases *is*
PostgreSQL (there is no Postgres here) related.

Sincerely,

Joshua D. Drake


-- 

  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
Providing the most comprehensive  PostgreSQL solutions since 1997
 http://www.commandprompt.com/

Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate




---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread John McCawley
Well, to be fair, I was using fairly low-level functionality.  If you 
look at the screenshot from my app, I am just using the raw window class 
and handling all of the dragging etc. manually.  In addition, my foreign 
key drawing is handled by directly painting on the background, and my 
own click and drag handling, so it is pretty sensitive to nuanced 
differences in behaviors in the platforms.  It is worth noting, however, 
that the QT4 version, which is implemented very similarly, works fine 
(although I am allowing QT to handle window dragging and resizing).


In wxWidgets, all of my dragging, window placement, foreign key drawing, 
etc. were so hopelessly broken in windows that the app was completely 
unusable...It was even difficult to tell what was supposed to be going 
on.  I dug around in the code quite a bit, but the low-level behaviors I 
was getting in Windows were so different than in wxGTK that I just 
decided that my approach was flawed.


Even in QT4 I am having to revise my approach.  I am currently using an 
MDI window interface for everything, and doing my foreign key drawing 
low-level as I was before.  I plan on moving to the (brand new) QT4 
canvas widget, which is intended for user-created window behaviors like 
this.  Sometimes I think that I would have been better off rendering the 
whole UI in OpenGL or something :P


Ritesh Nadhani wrote:


Hello

I have been working with wxWidgets and I didnt face a problem. What
specific thing were broken in wxWidgets for Windows?

Ritesh





---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Richard Troy

On Wed, 29 Nov 2006, Ritesh Nadhani wrote:
>
> Hello
>
> I have been working with wxWidgets and I didnt face a problem. What
> specific thing were broken in wxWidgets for Windows?
>
> Ritesh

PLEASE take this offline - it's not even close to Postgres related.

Richard

-- 
Richard Troy, Chief Scientist
Science Tools Corporation
510-924-1363 or 202-747-1263
[EMAIL PROTECTED], http://ScienceTools.com/


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread Ritesh Nadhani

Hello

I have been working with wxWidgets and I didnt face a problem. What
specific thing were broken in wxWidgets for Windows?

Ritesh

On 11/29/06, John McCawley <[EMAIL PROTECTED]> wrote:

I have been struggling with this problem for a few years.  I have
written a basic relational database design tool:

http://www.hardgeus.com/pgdesigner/

I have completely rewritten this program 3 times.  I initially
implemented it in Fltk, but ran into a bunch of limitations in the API.
I rewrote it in WxGTK and was pretty happy with the results -- until I
ported to Windows.  My program was so abysmally broken in Windows that I
threw the code away and vowed never again to use WxWidgets.  I recently
ported the entire codebase over to QT4 and have been VERY happy with it.

Unfortunately, my love for QT4 has put my project into a bit of a
limbo...Most versions of Linux don't "play nice" with multiple versions
of the same API on the machine, and most Linux distros use QT3 since
that's the underlying API of KDE.I already get a ton of mail from
people trying to compile the old versions of PGDesigner, I'd hate to
think what would happen if I tried to release my QT4 version now...My
build setup is pretty nuts, to say the least:

http://www.hardgeus.com/index.php?ndailyupdateid=685

It sucks, because I use pgDesigner almost every day to visualize my
Postgres databases, but QT4 just isn't "there" enough for me to support it.

Anyway, you didn't ask for a novel...I would recommend QT3 for your
project.  I am not entirely certain how much I am using is QT4 specific,
but I have been very happy with the signal/slot architecture, clean
database handling, and very robust variant-like variable handling (i.e.
I don't have to have giant bloated type-checking when copying data out
of my database into a local variable).


Ritesh Nadhani wrote:

> Hey
>
> Sorry for the critical mistake. Pressed the SEND button too early. In
> the first para I meant:
>
> The reason I *want* to develop the project in wxWindows or a C/C++
> based toolkit is that in the end I would be able to compile a binary
> which will have least dependency and can be bundled for downloaded in
> a single binary. With my experience while developing and selling
> SQLyog, I came across many customers who were working on a slow dial
> up connection for whom downloaded a 10MB package was also a pain. I
> have had customers who just had plain vanilla Win98 machines and
> SQLyog used to run great on it.
>
> instead of:
>
> The reason I *don't want* to develop the project in wxWindows or a C/C++
> based toolkit is that in the end I would be able to compile a binary
> which will have least dependency and can be bundled for downloaded in
> a single binary. With my experience while developing and selling
> SQLyog, I came across many customers who were working on a slow dial
> up connection for whom downloaded a 10MB package was also a pain. I
> have had customers who just had plain vanilla Win98 machines and
> SQLyog used to run great on it.
>
> Ritesh
>
> On 11/28/06, Ritesh Nadhani <[EMAIL PROTECTED]> wrote:
>
>> Hello All
>>
>> Sorry for the late reply. Been a little busy with my assignments.
>>
>> I will try to answer all the queries in this mail.
>>
>> The reason I don't want to develop the project in wxWindows or a C/C++
>> based toolkit is that in the end I would be able to compile a binary
>> which will have least dependency and can be bundled for downloaded in
>> a single binary. With my experience while developing and selling
>> SQLyog, I came across many customers who were working on a slow dial
>> up connection for whom downloaded a 10MB package was also a pain. I
>> have had customers who just had plain vanilla Win98 machines and
>> SQLyog used to run great on it.
>>
>> Another reason why suggested wxWidgets is because I have worked with
>> it before and I am comfortable with the system. As somebody suggested,
>> even wxPython looks good as Python greatly increases the speed of
>> implementation.
>>
>> Also, IDEs like Delphi etc. are out of question as I cant afford to
>> buy the licenses.
>>
>> I have no experience with XUL but it looks good. I am not sure, how
>> easy is to design GUI with lots of forms etc, with XUL. Writing an
>> initial prototype in XUL will make things more clear.
>>
>> Even though I am not related to Webyog (developer of SQLyog) anymore,
>> I had started a project up there called SQLyog Max (which didn't work
>> due to time constraints rather then technological constraints) and we
>> even released one BETA release that had support for both MySQL and
>> PostgreSQL.
>>
>> I believe developing an actual prototype would help our cause more
>> then just deciding upon which tool kit to use. My semester gets over
>> on 15th December. I plan to sit with it after that. Right now I am
>> thinking of an architecture which can support something like this.
>>
>> If you have any idea how something like should be designed or
>> architectured, please provide 

Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-29 Thread John McCawley
I have been struggling with this problem for a few years.  I have 
written a basic relational database design tool:


http://www.hardgeus.com/pgdesigner/

I have completely rewritten this program 3 times.  I initially 
implemented it in Fltk, but ran into a bunch of limitations in the API.  
I rewrote it in WxGTK and was pretty happy with the results -- until I 
ported to Windows.  My program was so abysmally broken in Windows that I 
threw the code away and vowed never again to use WxWidgets.  I recently 
ported the entire codebase over to QT4 and have been VERY happy with it.


Unfortunately, my love for QT4 has put my project into a bit of a 
limbo...Most versions of Linux don't "play nice" with multiple versions 
of the same API on the machine, and most Linux distros use QT3 since 
that's the underlying API of KDE.I already get a ton of mail from 
people trying to compile the old versions of PGDesigner, I'd hate to 
think what would happen if I tried to release my QT4 version now...My 
build setup is pretty nuts, to say the least:


http://www.hardgeus.com/index.php?ndailyupdateid=685

It sucks, because I use pgDesigner almost every day to visualize my 
Postgres databases, but QT4 just isn't "there" enough for me to support it.


Anyway, you didn't ask for a novel...I would recommend QT3 for your 
project.  I am not entirely certain how much I am using is QT4 specific, 
but I have been very happy with the signal/slot architecture, clean 
database handling, and very robust variant-like variable handling (i.e. 
I don't have to have giant bloated type-checking when copying data out 
of my database into a local variable).



Ritesh Nadhani wrote:


Hey

Sorry for the critical mistake. Pressed the SEND button too early. In
the first para I meant:

The reason I *want* to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

instead of:

The reason I *don't want* to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

Ritesh

On 11/28/06, Ritesh Nadhani <[EMAIL PROTECTED]> wrote:


Hello All

Sorry for the late reply. Been a little busy with my assignments.

I will try to answer all the queries in this mail.

The reason I don't want to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

Another reason why suggested wxWidgets is because I have worked with
it before and I am comfortable with the system. As somebody suggested,
even wxPython looks good as Python greatly increases the speed of
implementation.

Also, IDEs like Delphi etc. are out of question as I cant afford to
buy the licenses.

I have no experience with XUL but it looks good. I am not sure, how
easy is to design GUI with lots of forms etc, with XUL. Writing an
initial prototype in XUL will make things more clear.

Even though I am not related to Webyog (developer of SQLyog) anymore,
I had started a project up there called SQLyog Max (which didn't work
due to time constraints rather then technological constraints) and we
even released one BETA release that had support for both MySQL and
PostgreSQL.

I believe developing an actual prototype would help our cause more
then just deciding upon which tool kit to use. My semester gets over
on 15th December. I plan to sit with it after that. Right now I am
thinking of an architecture which can support something like this.

If you have any idea how something like should be designed or
architectured, please provide me with your invaluable suggestions.

In other related question, my primary desktop of usage is Mac OS X but
I will be buying a Ubuntu box soon so expect decent development
parallely in Mac and Linux. I am not sure about Windows but if we
write correct wxWidgets/wxPython code, it should be a 0 issue to get
it compiled in Window

Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Ritesh Nadhani

Hey

Sorry for the critical mistake. Pressed the SEND button too early. In
the first para I meant:

The reason I *want* to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

instead of:

The reason I *don't want* to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

Ritesh

On 11/28/06, Ritesh Nadhani <[EMAIL PROTECTED]> wrote:

Hello All

Sorry for the late reply. Been a little busy with my assignments.

I will try to answer all the queries in this mail.

The reason I don't want to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

Another reason why suggested wxWidgets is because I have worked with
it before and I am comfortable with the system. As somebody suggested,
even wxPython looks good as Python greatly increases the speed of
implementation.

Also, IDEs like Delphi etc. are out of question as I cant afford to
buy the licenses.

I have no experience with XUL but it looks good. I am not sure, how
easy is to design GUI with lots of forms etc, with XUL. Writing an
initial prototype in XUL will make things more clear.

Even though I am not related to Webyog (developer of SQLyog) anymore,
I had started a project up there called SQLyog Max (which didn't work
due to time constraints rather then technological constraints) and we
even released one BETA release that had support for both MySQL and
PostgreSQL.

I believe developing an actual prototype would help our cause more
then just deciding upon which tool kit to use. My semester gets over
on 15th December. I plan to sit with it after that. Right now I am
thinking of an architecture which can support something like this.

If you have any idea how something like should be designed or
architectured, please provide me with your invaluable suggestions.

In other related question, my primary desktop of usage is Mac OS X but
I will be buying a Ubuntu box soon so expect decent development
parallely in Mac and Linux. I am not sure about Windows but if we
write correct wxWidgets/wxPython code, it should be a 0 issue to get
it compiled in Windows.

Ritesh

On 11/28/06, Rich Shepard <[EMAIL PROTECTED]> wrote:
> On Tue, 28 Nov 2006, Merlin Moncure wrote:
>
> > For a general purpose language, lately I've been taking a really good look
> > at 'D', which looks to be an amazing language.  Has anybody tried to hook
> > up postgresql to D?
>
>No, I haven't. But, if you want a cross-platform language and GUI toolkit,
> consider Python and wxPython.
>
> --
> Richard B. Shepard, Ph.D.   |The Environmental Permitting
> Applied Ecosystem Services, Inc.(TM)|Accelerator
>  Voice: 503-667-4517  Fax: 503-667-8863
>
> ---(end of broadcast)---
> TIP 3: Have you checked our extensive FAQ?
>
>http://www.postgresql.org/docs/faq
>



---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Ritesh Nadhani

Hello All

Sorry for the late reply. Been a little busy with my assignments.

I will try to answer all the queries in this mail.

The reason I don't want to develop the project in wxWindows or a C/C++
based toolkit is that in the end I would be able to compile a binary
which will have least dependency and can be bundled for downloaded in
a single binary. With my experience while developing and selling
SQLyog, I came across many customers who were working on a slow dial
up connection for whom downloaded a 10MB package was also a pain. I
have had customers who just had plain vanilla Win98 machines and
SQLyog used to run great on it.

Another reason why suggested wxWidgets is because I have worked with
it before and I am comfortable with the system. As somebody suggested,
even wxPython looks good as Python greatly increases the speed of
implementation.

Also, IDEs like Delphi etc. are out of question as I cant afford to
buy the licenses.

I have no experience with XUL but it looks good. I am not sure, how
easy is to design GUI with lots of forms etc, with XUL. Writing an
initial prototype in XUL will make things more clear.

Even though I am not related to Webyog (developer of SQLyog) anymore,
I had started a project up there called SQLyog Max (which didn't work
due to time constraints rather then technological constraints) and we
even released one BETA release that had support for both MySQL and
PostgreSQL.

I believe developing an actual prototype would help our cause more
then just deciding upon which tool kit to use. My semester gets over
on 15th December. I plan to sit with it after that. Right now I am
thinking of an architecture which can support something like this.

If you have any idea how something like should be designed or
architectured, please provide me with your invaluable suggestions.

In other related question, my primary desktop of usage is Mac OS X but
I will be buying a Ubuntu box soon so expect decent development
parallely in Mac and Linux. I am not sure about Windows but if we
write correct wxWidgets/wxPython code, it should be a 0 issue to get
it compiled in Windows.

Ritesh

On 11/28/06, Rich Shepard <[EMAIL PROTECTED]> wrote:

On Tue, 28 Nov 2006, Merlin Moncure wrote:

> For a general purpose language, lately I've been taking a really good look
> at 'D', which looks to be an amazing language.  Has anybody tried to hook
> up postgresql to D?

   No, I haven't. But, if you want a cross-platform language and GUI toolkit,
consider Python and wxPython.

--
Richard B. Shepard, Ph.D.   |The Environmental Permitting
Applied Ecosystem Services, Inc.(TM)|Accelerator
 Voice: 503-667-4517  Fax: 503-667-8863

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq



---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Rich Shepard

On Tue, 28 Nov 2006, Merlin Moncure wrote:


For a general purpose language, lately I've been taking a really good look
at 'D', which looks to be an amazing language.  Has anybody tried to hook
up postgresql to D?


  No, I haven't. But, if you want a cross-platform language and GUI toolkit,
consider Python and wxPython.

--
Richard B. Shepard, Ph.D.   |The Environmental Permitting
Applied Ecosystem Services, Inc.(TM)|Accelerator
 Voice: 503-667-4517  Fax: 503-667-8863

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Merlin Moncure

On 11/28/06, Olexandr Melnyk <[EMAIL PROTECTED]> wrote:

2006/11/28, Tony Caduto <[EMAIL PROTECTED]>:
> Mono 1.2 only fully supports .net 1.1 (for winforms)

Yes. But it already supports most of the .NET 2.0 features (not talking of
WinForms here) including the ones metioned above and has a C# 2.0 compiler.

> What kind of problems have you seen with the VCL as a project matures?

As I've already mentioned, it's not layout-based. Anchors only partially
solve the task, so problems can still appear when adding extra languages




interfaces to the application. Also, VCL is quite incomplete. Say, how much
sense does it make for button not to have color property, while other
components, like edit, label and check box have it? There are similar
situations with other objects, when it seems odd, why it doesn't have a
certain feature/property.


there are many components that solve this.  I was quite astounded when
windows.forms came out that it did not have a functional grid
component.  While mono/c# is nice, I greatly prefer the TDataset
interface to ado.net middleware.  There are some VCL based database
middlewares, like zeos, which completely outclass odbc.

For a general purpose language, lately I've been taking a really good
look at 'D', which looks to be an amazing language.  Has anybody tried
to hook up postgresql to D?

merlin

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Olexandr Melnyk

2006/11/28, Tony Caduto <[EMAIL PROTECTED]>:

Mono 1.2 only fully supports .net 1.1 (for winforms)


Yes. But it already supports most of the .NET 2.0 features (not talking of
WinForms here) including the ones metioned above and has a C# 2.0 compiler.


What kind of problems have you seen with the VCL as a project matures?


As I've already mentioned, it's not layout-based. Anchors only partially
solve the task, so problems can still appear when adding extra languages
interfaces to the application. Also, VCL is quite incomplete. Say, how much
sense does it make for button not to have color property, while other
components, like edit, label and check box have it? There are similar
situations with other objects, when it seems odd, why it doesn't have a
certain feature/property.


Olexandr Melnyk,
http://omelnyk.net/


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Tony Caduto

Olexandr Melnyk wrote:



Mono/.NET is definately worth the consideration. However, I'd advice 
you not to go with Turbo C#, as it only supports .NET 1.*, so you 
won't be able to use such goodies as: generics and nullable types, 
which are quite handy, especially for the database-oriented applications.




Initial development phase is really short with Delphi/VCL, I agree. 
But when project evolves, many problems appear, which show how odd VCL 
is in this or that place. The same, but to a lesser extent, applies to 
Windows.Forms.



Mono 1.2 only fully supports .net 1.1 (for winforms)  so the Turbo C# 
would be a good choice as would Delphi.net. 
You would have to stick to the standard winforms controls, but you can 
create a very rich application with just the stock controls.


What kind of problems have you seen with the VCL as a project matures?   
I have never run into any issues and have several mature/large projects.


Later,

--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration 



---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Tony Caduto

Thomas Kellerer wrote:

On 27.11.2006 17:36 Tony Caduto wrote:
The closest to Delphi in a cross platform system is NetBeans and even 
with their form designer it's still tedious working with databases 
compared to Delphi.  
What about Lazarus? It claims to be cross-platform, but I don't know 
how it compares with regards to the data-aware controls.


Thomas


---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Yes,
Lazarus is not bad and very very similar to Delphi.  It does have issues 
though.
It could be a good choice if you don't mind working around it's bugs. It 
is getting better all the time.


--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration 



---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-28 Thread Olexandr Melnyk

2006/11/27, Tony Caduto <[EMAIL PROTECTED]>:

One could also use Mono 1.2 and any .net 1.1 IDE such as Borland
Turbo C# or Delphi.net (with npgsql .net data provider) both of which
you can get for free here:
http://www.turboexplorer.com
or SharpDevelop which you can get here: http://www.icsharpcode.com


Mono/.NET is definately worth the consideration. However, I'd advice you not
to go with Turbo C#, as it only supports .NET 1.*, so you won't be able to
use such goodies as: generics and nullable types, which are quite handy,
especially for the database-oriented applications.

But I'm not sure about .NET 2.0 support of the full-featured Delphi.NET.


Sure you could use Wxwidgets with Python or whatever, but you
development time is going to be more than twice as long as compared to > a

application built with Delphi.


I have also tried MonoDevelop, but it has a way to go before being
really useful.


Initial development phase is really short with Delphi/VCL, I agree. But when
project evolves, many problems appear, which show how odd VCL is in this or
that place. The same, but to a lesser extent, applies to Windows.Forms.

I suggest going with some mature GUI platform, such as Gtk. It has bindings
for .NET and is included in standard Mono download. With it you will get all
benefits of layout-based GUI toolkit, like: you won't have to write extra
code for rendering forms correctly when they are internationalised.

So my advice goes towards Mono/Gtk#. There is a bunch of programming
languages for Mono/.NET to choose from, so choosing one of them mostly
depends on your taste.

-
Olexandr Melnyk,
http://omelnyk.net/


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-27 Thread Thomas Kellerer

On 27.11.2006 17:36 Tony Caduto wrote:
The closest to Delphi in a cross platform system is 
NetBeans and even with their form designer it's still tedious working 
with databases compared to Delphi.  
What about Lazarus? It claims to be cross-platform, but I don't know how 
it compares with regards to the data-aware controls.


Thomas


---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-27 Thread Tony Caduto

Merlin Moncure wrote:


I think you should look for inspiration in the EMS suite, which while
windows-only and closed source is a pretty feature packed and cross
(db) platform.  You are on very well traveled ground here.




Not to mention Lightning Admin for Postgresql  and MySQL:-) 


(http://www.amsoftwaredesign.com)

Which does run great with WINE, so while not native cross platform it 
does run well any where newer versions of

WINE do.

The EMS stuff is nice, but I found them to be to a little bloated and 
cumbersome to work with during my research of competing products.


One could also use Mono 1.2 and any .net 1.1 IDE such as Borland Turbo 
C# or Delphi.net (with npgsql .net data provider)  both of which you can 
get for free here:

http://www.turboexplorer.com
or SharpDevelop which you can get here:  http://www.icsharpcode.com

You can take the exes these IDEs create and simply run them as is on 
Linux or where ever Mono 1.2 does. 
It really does work well. Much nicer than Java.  You do have to stick to 
fully managed code when you develop your apps on win32 as any win32 API 
pinvoke commands will not work in Mono.


Currently there is no IDE available on Linux or other Unix systems that 
has the productivity of the tools mentioned above. (except for the 
unfortunate Kylix IDE)


Sure you could use Wxwidgets with Python or whatever, but you 
development time is going to be more than twice as long as compared to a 
application built
with Delphi.  The closest to Delphi in a cross platform system is 
NetBeans and even with their form designer it's still tedious working 
with databases compared to

Delphi.  If you want to speak to the Oracle, you have to go to Delphi :-)

I have also tried MonoDevelop, but it has a way to go before being 
really useful.


--
Tony Caduto
AM Software Design
http://www.amsoftwaredesign.com
Home of PG Lightning Admin for Postgresql
Your best bet for Postgresql Administration 



---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-27 Thread Ritesh Nadhani

Hello Herald

Somebody mailed me earlier also regarding dabodev but its not what I
am talking about.

I took a look at dabo and it definitely serves one part of application
that I have in mind but more specifically I was thinking of starting
with a admin/developer tool like TOAD, MS Query Analyzer, MySQL GUI
tools rather then those form building but yes, in the long run - it
will be part of the tool or in form of another specific tool. Maybe we
can just integrate it with our tool line up later on.

All others, I will reply to you in could of days. I have two
assignments due in next 2 days so things are little crazy. Will reply
to each and every point.

On 11/27/06, Harald Armin Massa <[EMAIL PROTECTED]> wrote:

Ritesh,

what you are trying to do sound very similiar to dabo:

http://dabodev.com/

Maybe have a look at it first?

best wishes

Harald



--
GHUM Harald Massa
persuadere et programmare
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607
-
Python: the only language with more web frameworks than keywords.


---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-27 Thread Harald Armin Massa

Ritesh,

what you are trying to do sound very similiar to dabo:

http://dabodev.com/

Maybe have a look at it first?

best wishes

Harald



--
GHUM Harald Massa
persuadere et programmare
Harald Armin Massa
Reinsburgstraße 202b
70197 Stuttgart
0173/9409607
-
Python: the only language with more web frameworks than keywords.


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-27 Thread Merlin Moncure

On 11/25/06, Ritesh Nadhani <[EMAIL PROTECTED]> wrote:

 Hello all

Let me introduce myself first. I am the ex-lead developer of SQLyog
(one  of the most popular GUI for MySQL which is Windows only and runs
on  Linux through WINE, more info at http://www.webyog.com).

===
New Project: wxWidgets based cross-platform GUI for Open Source databases
===

===
Motivation
===

I have recently shifted to US to study for MS (and hopefully PhD in Univ
of Iowa). I have also shifted to Mac OS X as my primary usage machine
(after lifetime of Windows devotion).

As part of my coursework, I work with MySQL and PostgreSQL
extensively. I searched but couldnt find any GUI which has similar
power like SQLyog by any means. I have tried (and have tried before
also) various GUIs for respective databases but somehow the features
in them are restrictive and are not powerful enough for developers
like me who writes lots of SQL queries and needs to get things done
fast.


I think you should look for inspiration in the EMS suite, which while
windows-only and closed source is a pretty feature packed and cross
(db) platform.  You are on very well traveled ground here.

IMO, I think the 'enterprise manager' style tool market is pretty well
saturated for most databases.  I also think dropping standard drivers
(jdbc) from your project is a mistake unless you think you can do
better.  Also now you are writing two projects.  I'm not trying to
discourage you...it's just a lot of work...ask Dave Page :-)  This is
coming from someone who implemented a driver of sorts from the ground
up for PostgreSQL, namely ISAM support.  Your efforts might be better
spent improving the standard driver you most feel comfortable with.

Another thing is that the current crop of gui admin tools focus on
wizards and dialogs and not so much on classic code management.  What
I personally would really want to see is a souped up text editor with
very smart code completion tools (auto completing tables, columns,
etc) sort of like ctags but optimized for sql.  I would avoid emphasis
of dialog based sql property editing which I consider orthogonal to
good sql development practices.

If these comments seem a bit generic, take a good look at Source
Insight (windows only, sigh) as a tool more geared towards code
management.  It's really quite amazing.

merlin

---(end of broadcast)---
TIP 4: Have you searched our list archives?

  http://archives.postgresql.org/


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-26 Thread Guy Rouillier
Richard Troy wrote:
> Let me put it this way; Right now I have to support (at least) five
> RDBMSes: Postgres, Informix, Sybase, DB2, Oracle - and we're
> considering ANTS. The idea of a cross-dbms admin tool sounds great
> but is USELESS - not worth my time - if it doesn't address these
> every-day-in-production needs because, lets face it, I'll _still_
> have to use those platform specific mechanisms - and if I have to
> access them _anyway,_ why bother with yet another tool that doesn't
> do the job?  

I missed the beginning of this thread, but I agree with Richard.  Not to
be a wet rag, but I think a cross-DBMS admin tool is doomed, other than
at a level that Aqua Data Studio already provides.  To provide the deep
functionality that work-a-day DB admins require, you'll have to provide
DBMS-specific functionality.  You've thought about that already - allow
plugins.  But do some graphical design that considers how all this will
fit together.  At a minimum, you'll need a general section or page *per
object type* that contains things that are consistent across DBMSs, then
you'll need a corresponding section or page *per object type* that
handle DBMS-specific extensions.   Once you start laying all that out,
you'll see why DBMS-specific admin tools exist.

As for language, I don't agree that Java is too restrictive.  "Millions
of rows" typically occur in the application space, not in the admin
space.  The only time admins encounter that type of volume is backups,
recoveries, copies, etc., which will likely be in the DBMS-specific
realm.

-- 
Guy Rouillier


---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-26 Thread Richard Troy

On Sun, 26 Nov 2006, Ritesh Nadhani wrote:
>
> Well, sorry if my words were confusing. I was thinking of an MS SQL
> Query Analyzer, SQLyog, PGAdmin kind of tool to start with which will
> provide a basic admin tool initially. And based upon that
> layer/architecture we will provide more advanced tools like query
> builder etc.
>
> I think I jumped the boat far too quickly, I also meant a development
> environment to be provided by this tool later on but come to think of
> it, it is already provided by OpenOffice so we wont probably need to
> think on that line.

There's room for something other than what OpenOffice provides, but a
morphed DB Admin tool certainly isn't it because they have very different
goals. I, for example, would like a toolset that helps take the drudgery
out of making a db-connected application and convert it into both/either a
more traditional client/application-server and/or a web application. I'm
sure there are a lot of people who'd like to see this, too, but these
application-perspective based needs are _dramatically_ different from
database admin needs. Combining them is bound to be more trouble than it's
worth as they have virtually nothing in common.

> So I guess, the tool that I have in mind is a database management
> interface - something like Toad for Oracle (which probably everybody
> knows).

Toad? No, everybody doesn't know. But the idea of going for a
cross-datrabase-platform db-admin tool is a fine one.

Also, repeating for emphasis my brief and incomplete "differences list:"

> > A few thoughts here; each db engine has its own;
> >
> > - sql dialect, dispite the best efforts of SQL92 et al.
> >
> > - sql query plan output mechanism and format
> >
> > - naming restrictions (some know from context what table/attribute names
> > are while others absolutely demand reserved-words remain reserved, even
> > when they'll never be found in a particular context) - presuming you want
> > to provide, "works here but not there" advice.
> >
> > - system catalogs
> >
> > - index structures
> >
> > - transaction log semantics
> >
> > - lock management - presuming you wish to include a "which transaction has
> > the lock" functionality
> >
> > - activity/error/security log systems - presuming you wish to provide
> > error resolution assistance
> >
> > - maintenance tools suite, like Postgres' vacuum
> >
> > - backup and recovery suite
> >
>
> Yes I know that. So we can make our architecture to be modular where
> each db interface use its own most efficient way rather then a generic
> way which would make things slow. And if a feature is not provided by
> a DB, that option would be just turned off for that DB.
>
> My motivation for the idea comes from the plauggable engine support
> that MySQL provides.

OK, "pluggable," but please read my words carefully and get the hint: If
you do _not_ provide features like accessing the query plans, finding lock
holders to sort out deadlocks, and these other database-specific items
listed above - and others I didn't list - you will NOT be providing
functionality that's worth the time.

Let me put it this way; Right now I have to support (at least) five
RDBMSes: Postgres, Informix, Sybase, DB2, Oracle - and we're considering
ANTS. The idea of a cross-dbms admin tool sounds great but is USELESS -
not worth my time - if it doesn't address these every-day-in-production
needs because, lets face it, I'll _still_ have to use those platform
specific mechanisms - and if I have to access them _anyway,_ why bother
with yet another tool that doesn't do the job?

The answer is, it won't have the user base you're looking for.

Seems to me, you need to get back to square one: What problem(s) are you
trying to solve? And an answer that says, "Oh, all this DBMS admin stuff
and - eventually! - an app builder too!" is not an answer I can believe as
it's too ambitious, and not focused on any core user group.

Good luck,
Richard

-- 
Richard Troy, Chief Scientist
Science Tools Corporation
510-924-1363 or 202-747-1263
[EMAIL PROTECTED], http://ScienceTools.com/


---(end of broadcast)---
TIP 4: Have you searched our list archives?

   http://archives.postgresql.org/


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-26 Thread Ritesh Nadhani

Hello

On 11/26/06, Thomas Kellerer <[EMAIL PROTECTED]> wrote:

Hi,

>> I am maintaining such an application and it is neither bulky nor slow.
>> It's all
>> a matter of implementation.
>>
> Can I have a link to the application or more info on that? I would be
> interested to take a look into it.

Sure: http://www.sql-workbench.net



Thanks. If I ever start a project like I am thinking, your application
would be definitely of lot of help.  I have added the website in my
bookmark.


> I have nothing against JDBC or JAVA (did my words sounded petulant
> towards it?) but 90% of the databases do provide lowest level APIs in
> C. Having an app in C helps us to use very very less memory (this I
> say from my experience where I could get million record from a remote
> server to my client at much faster rates then a another app).

That might be true, but then how often do you really *need* millions of records
on the client especially in a DB GUI where the primary task (at least that's how
I see it) is to run ad-hoc queries or check other results.



Even I thought so but a newbie who works on couple of earlier project
do execute such queries and in the end it becomes a good marketing
paradigm also where you can show off that it can handle X million row
result also without any problem. Agreed, such people would be less
then 5% of the total userbase but it does gives us good
differentiating option then other GUIs.


Which leads me to the (most important?) question: what do "we" understand under
the term "GUI for DB" is that a full featured data-entry where a normal end-user
can update data? Is that an admin tool for the DBA, which is intended to run
daily DBA taks? Or maybe even some kind of ETL tool?



That is a very legitimate question. The project will start off as a
data entry app where a user can see all the DB objects like tables,
columns, indexes etc. Exceute queries, create db objects like table,
columns, etc. As the project becomes more mature, we add more features
for a DBA like backup, restore db, user management, log management
etc. And finally a good and state of the art query builder & designer
and if technology permits, a two-way query builder is what I intend to
target.


 > Lot of
> times it has happened that the C API (atleast with MySQL and PGSQL C
> API)  provides some extra information which when smartly used can make
> things lot efficient.
That is true, but then a tool supporting multiple DBMS will (most probably) have
to comprise now and then. Otherwise you'll wind up writing one tool for each
DBMS and simply combining them under a common GUI.



Yes. That is exactly what I am thinking of. It definitely looks
daunting but with community support, I think it i possible. The first
and foremost thing that needs to be done is coming up with a very
flexible and pluggable architecture where I define a common set of
interface for all DBs and then what remains is to just fill in the gap
for individual databases.

This would be best done if inidividual DB expert takes up an interface
to code for their respective DB. This way we would be able to extract
the maximum juice from each DB.


> Also, why I started a thread with wxWidgets was because C/C++ is what
> I have been using all my life and from my experience of developing
> couple of cross platform simple GUI, I fount wxWidgets to most mature
> and easy to use.

As I already mentioned, I'm a Java developer and naturally I find Swing most
mature and easy to use ;)
Actually if I look at tools that are written with wxWidgets (not that often) I
tend to find they look less like native Windows apps as a well written Swing
application using a recent JDK (1.5 or 1.6)


Fair enough. Maybe, there is a way where we could integrate wxWidgets
and JAVA Swing but I am not sure if its possible. Maybe, somebody can
put more pointer on this one.



But that is largely a matter of taste I'd say, and everybody tends to prefer the
environment that he/she is familiar with

Thomas



Ritesh





---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster



---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
  choose an index scan if your joining column's datatypes do not
  match


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-26 Thread Thomas Kellerer

Hi,

I am maintaining such an application and it is neither bulky nor slow. 
It's all

a matter of implementation.


Can I have a link to the application or more info on that? I would be
interested to take a look into it.


Sure: http://www.sql-workbench.net


I have nothing against JDBC or JAVA (did my words sounded petulant
towards it?) but 90% of the databases do provide lowest level APIs in
C. Having an app in C helps us to use very very less memory (this I
say from my experience where I could get million record from a remote
server to my client at much faster rates then a another app).  


That might be true, but then how often do you really *need* millions of records 
on the client especially in a DB GUI where the primary task (at least that's how 
I see it) is to run ad-hoc queries or check other results.


Which leads me to the (most important?) question: what do "we" understand under 
the term "GUI for DB" is that a full featured data-entry where a normal end-user 
can update data? Is that an admin tool for the DBA, which is intended to run 
daily DBA taks? Or maybe even some kind of ETL tool?


> Lot of

times it has happened that the C API (atleast with MySQL and PGSQL C
API)  provides some extra information which when smartly used can make
things lot efficient.
That is true, but then a tool supporting multiple DBMS will (most probably) have 
to comprise now and then. Otherwise you'll wind up writing one tool for each 
DBMS and simply combining them under a common GUI.



Also, why I started a thread with wxWidgets was because C/C++ is what
I have been using all my life and from my experience of developing
couple of cross platform simple GUI, I fount wxWidgets to most mature
and easy to use.


As I already mentioned, I'm a Java developer and naturally I find Swing most 
mature and easy to use ;)
Actually if I look at tools that are written with wxWidgets (not that often) I 
tend to find they look less like native Windows apps as a well written Swing 
application using a recent JDK (1.5 or 1.6)


But that is largely a matter of taste I'd say, and everybody tends to prefer the 
environment that he/she is familiar with


Thomas




---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Ritesh Nadhani

Thanks for the info. I will take a look at it soon.

On 11/25/06, John DeSoi <[EMAIL PROTECTED]> wrote:

> New Project: wxWidgets based cross-platform GUI for Open Source
> databases


You might also want to investigate XUL (http://en.wikipedia.org/wiki/
XUL). In addition to having low level C/C++, you can provide the
ability to create interfaces with XML and JavaScript. Applications
can run stand alone (XUL Runner) and perhaps interesting XUL browser
plugins would be possible.





John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL




---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Ritesh Nadhani

Hello

On 11/25/06, Richard Troy <[EMAIL PROTECTED]> wrote:


Hi Ritesh,

I'm in support of Tomi's comments (especially those about consulting), and
have a few more thoughts to add. To wit:

First, as an aside, as I didn't know anything about SQLyog, I read your
post first, then went to the URL cited. Throughout your post, it wasn't
clear what the subject was exactly as it seemed you were talking in some
places about a database management interface and in other places some kind
of development environment for people to create cross-platform GUIs in. As
you expand your search for volunteers, you might consider making this more
clear - I'm sure I'm not the only one who doesn't/didn't know what SQLyog
is...



Well, sorry if my words were confusing. I was thinking of an MS SQL
Query Analyzer, SQLyog, PGAdmin kind of tool to start with which will
provide a basic admin tool initially. And based upon that
layer/architecture we will provide more advanced tools like query
builder etc.

I think I jumped the boat far too quickly, I also meant a development
environment to be provided by this tool later on but come to think of
it, it is already provided by OpenOffice so we wont probably need to
think on that line.

So I guess, the tool that I have in mind is a database management
interface - something like Toad for Oracle (which probably everybody
knows).


On Sat, 25 Nov 2006, Ritesh Nadhani wrote:
>
>  Hello all
>
> Let me introduce myself first. I am the ex-lead developer of SQLyog
> (one  of the most popular GUI for MySQL which is Windows only and runs
> on  Linux through WINE, more info at http://www.webyog.com).
>
> ===
> New Project: wxWidgets based cross-platform GUI for Open Source databases
> ===
>
> ===
> Motivation
> ===
>
> I have recently shifted to US to study for MS (and hopefully PhD in Univ
> of Iowa). I have also shifted to Mac OS X as my primary usage machine
> (after lifetime of Windows devotion).
>
> As part of my coursework, I work with MySQL and PostgreSQL
> extensively. I searched but couldnt find any GUI which has similar
> power like SQLyog by any means. I have tried (and have tried before
> also) various GUIs for respective databases but somehow the features
> in them are restrictive and are not powerful enough for developers
> like me who writes lots of SQL queries and needs to get things done
> fast.
>
> We can say that we already have enough GUIs for all open source
> databases (open source as well as commercial) available in the market
> but are they powerful enough to suffice the needs of an experienced
> SQL developer as well as newbies. The top three problems with existing
> GUI managers are:
>
> - Most of the usable/powerful GUIs are not open source which is one of
> the most powerful motivation for us to look for an alternate solutions.
>
> - 90% of such GUIs are DB specific. It becomes very hard for developers
> who work with multiple DBs as part of their work. It forces them to
> learn different user interface/softwares to work with the respective
> databases.

A few thoughts here; each db engine has its own;

- sql dialect, dispite the best efforts of SQL92 et al.

- sql query plan output mechanism and format

- naming restrictions (some know from context what table/attribute names
are while others absolutely demand reserved-words remain reserved, even
when they'll never be found in a particular context) - presuming you want
to provide, "works here but not there" advice.

- system catalogs

- index structures

- transaction log semantics

- lock management - presuming you wish to include a "which transaction has
the lock" functionality

- activity/error/security log systems - presuming you wish to provide
error resolution assistance

- maintenance tools suite, like Postgres' vacuum

- backup and recovery suite



Yes I know that. So we can make our architecture to be modular where
each db interface use its own most efficient way rather then a generic
way which would make things slow. And if a feature is not provided by
a DB, that option would be just turned off for that DB.

My motivation for the idea comes from the plauggable engine support
that MySQL provides.


>
> - Of the few multiple-db GUIs, 99% (or probably 100%) use JDBC/ODBC
> layer to connect and work with the databases and JAVA or some other kind
> of high level toolkit/language to develop the GUI. This results in
> applications being bulky and slow and never able to provide the speed
> that a low level C/C++ client API provide and are supported by all of
> the standard databases.

The reason - a reason - JDBC (and I presume ODBC) is so popular for these
purposes is that it helps resolve a handful - a large handful - of the
challenges of writing cross-database-platform.



As I replied in my previous two mails, my motivation for using
wxWidgets/C/C++ remains same.


>
> A simple to use GUI for all databases
> ===
>
> The basic idea behind such a GUI is to develop a small footprint,
> extremely fast, multilingual, cro

Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Ritesh Nadhani

Hello

On 11/25/06, Thomas Kellerer <[EMAIL PROTECTED]> wrote:

> - Of the few multiple-db GUIs, 99% (or probably 100%) use JDBC/ODBC
> layer to connect and work with the databases and JAVA or some other kind
> of high level toolkit/language to develop the GUI. This results in
> applications being bulky and slow and never able to provide the speed
> that a low level C/C++ client API provide and are supported by all of
> the standard databases.

I am maintaining such an application and it is neither bulky nor slow. It's all
a matter of implementation.



Can I have a link to the application or more info on that? I would be
interested to take a look into it.


Just an example: with the enhanced batching in Oracle's current JDBC driver
(yes, I know this is an Oracle list) I can even achieve the same import speed as
SQL*Loader when importing flat files.



I have nothing against JDBC or JAVA (did my words sounded petulant
towards it?) but 90% of the databases do provide lowest level APIs in
C. Having an app in C helps us to use very very less memory (this I
say from my experience where I could get million record from a remote
server to my client at much faster rates then a another app).  Lot of
times it has happened that the C API (atleast with MySQL and PGSQL C
API)  provides some extra information which when smartly used can make
things lot efficient.

Also, why I started a thread with wxWidgets was because C/C++ is what
I have been using all my life and from my experience of developing
couple of cross platform simple GUI, I fount wxWidgets to most mature
and easy to use.

But somebody in one of his replies suggested XUL. I will read about it tomorrow.


Btw: coming from a Java world, I do consider HSQLDB and Derby belonging to the
list of "standard databases"



I am sure there would be ways to provide for support for them too but
I am not sure as of now.


Thomas



Ritesh



---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq



---(end of broadcast)---
TIP 9: In versions below 8.0, the planner will ignore your desire to
  choose an index scan if your joining column's datatypes do not
  match


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread John DeSoi
New Project: wxWidgets based cross-platform GUI for Open Source  
databases



You might also want to investigate XUL (http://en.wikipedia.org/wiki/ 
XUL). In addition to having low level C/C++, you can provide the  
ability to create interfaces with XML and JavaScript. Applications  
can run stand alone (XUL Runner) and perhaps interesting XUL browser  
plugins would be possible.






John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


---(end of broadcast)---
TIP 4: Have you searched our list archives?

  http://archives.postgresql.org/


Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Richard Troy

Hi Ritesh,

I'm in support of Tomi's comments (especially those about consulting), and
have a few more thoughts to add. To wit:

First, as an aside, as I didn't know anything about SQLyog, I read your
post first, then went to the URL cited. Throughout your post, it wasn't
clear what the subject was exactly as it seemed you were talking in some
places about a database management interface and in other places some kind
of development environment for people to create cross-platform GUIs in. As
you expand your search for volunteers, you might consider making this more
clear - I'm sure I'm not the only one who doesn't/didn't know what SQLyog
is...

On Sat, 25 Nov 2006, Ritesh Nadhani wrote:
>
>  Hello all
>
> Let me introduce myself first. I am the ex-lead developer of SQLyog
> (one  of the most popular GUI for MySQL which is Windows only and runs
> on  Linux through WINE, more info at http://www.webyog.com).
>
> ===
> New Project: wxWidgets based cross-platform GUI for Open Source databases
> ===
>
> ===
> Motivation
> ===
>
> I have recently shifted to US to study for MS (and hopefully PhD in Univ
> of Iowa). I have also shifted to Mac OS X as my primary usage machine
> (after lifetime of Windows devotion).
>
> As part of my coursework, I work with MySQL and PostgreSQL
> extensively. I searched but couldnt find any GUI which has similar
> power like SQLyog by any means. I have tried (and have tried before
> also) various GUIs for respective databases but somehow the features
> in them are restrictive and are not powerful enough for developers
> like me who writes lots of SQL queries and needs to get things done
> fast.
>
> We can say that we already have enough GUIs for all open source
> databases (open source as well as commercial) available in the market
> but are they powerful enough to suffice the needs of an experienced
> SQL developer as well as newbies. The top three problems with existing
> GUI managers are:
>
> - Most of the usable/powerful GUIs are not open source which is one of
> the most powerful motivation for us to look for an alternate solutions.
>
> - 90% of such GUIs are DB specific. It becomes very hard for developers
> who work with multiple DBs as part of their work. It forces them to
> learn different user interface/softwares to work with the respective
> databases.

A few thoughts here; each db engine has its own;

- sql dialect, dispite the best efforts of SQL92 et al.

- sql query plan output mechanism and format

- naming restrictions (some know from context what table/attribute names
are while others absolutely demand reserved-words remain reserved, even
when they'll never be found in a particular context) - presuming you want
to provide, "works here but not there" advice.

- system catalogs

- index structures

- transaction log semantics

- lock management - presuming you wish to include a "which transaction has
the lock" functionality

- activity/error/security log systems - presuming you wish to provide
error resolution assistance

- maintenance tools suite, like Postgres' vacuum

- backup and recovery suite

>
> - Of the few multiple-db GUIs, 99% (or probably 100%) use JDBC/ODBC
> layer to connect and work with the databases and JAVA or some other kind
> of high level toolkit/language to develop the GUI. This results in
> applications being bulky and slow and never able to provide the speed
> that a low level C/C++ client API provide and are supported by all of
> the standard databases.

The reason - a reason - JDBC (and I presume ODBC) is so popular for these
purposes is that it helps resolve a handful - a large handful - of the
challenges of writing cross-database-platform.

>
> A simple to use GUI for all databases
> ===
>
> The basic idea behind such a GUI is to develop a small footprint,
> extremely fast, multilingual, cross platform administrator/development
> tool for databases. One of the basic requirements thats this GUI will
> fulfill is to allow a developer to efficiently execute/plan queries and
> allow an administrator to quickly do jobs like backups/restores etc.
> with fewest mouse clicks and across different databases.
>
> Once the basic architecture has been set, I plan to extend it to support
> advanced features like MS Access like form development, query builder,
> scheduled backups, data synchronization, configuration management,
> replication manager, user manager etc.

...This is where your stated goals become confusing; What does MS Access
have anything to do with this subject? When you say data synchronization,
do you mean replication - then why mention it separately? (rhetorical
questions)

>
> wxWidgets
> ===
>
> Since last couple of years, wxWidgets (formerly wxWindows) has
> transformed itself into a highly powerful cross-platform GUI library
> which when compiled gives the native look and feel of the host operating
> system. This is something which other libraries like Qt, JAVA lack.
>
> More info about wxwidgets can be found at: http://www

Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Tomi NA

2006/11/25, Ritesh Nadhani <[EMAIL PROTECTED]>:

 Hello all

Let me introduce myself first. I am the ex-lead developer of SQLyog
(one  of the most popular GUI for MySQL which is Windows only and runs
on  Linux through WINE, more info at http://www.webyog.com).

===
New Project: wxWidgets based cross-platform GUI for Open Source databases
===

===
Motivation
===

I have recently shifted to US to study for MS (and hopefully PhD in Univ
of Iowa). I have also shifted to Mac OS X as my primary usage machine
(after lifetime of Windows devotion).

As part of my coursework, I work with MySQL and PostgreSQL
extensively. I searched but couldnt find any GUI which has similar
power like SQLyog by any means. I have tried (and have tried before
also) various GUIs for respective databases but somehow the features
in them are restrictive and are not powerful enough for developers
like me who writes lots of SQL queries and needs to get things done
fast.

We can say that we already have enough GUIs for all open source
databases (open source as well as commercial) available in the market
but are they powerful enough to suffice the needs of an experienced
SQL developer as well as newbies. The top three problems with existing
GUI managers are:

- Most of the usable/powerful GUIs are not open source which is one of
the most powerful motivation for us to look for an alternate solutions.

- 90% of such GUIs are DB specific. It becomes very hard for developers
who work with multiple DBs as part of their work. It forces them to
learn different user interface/softwares to work with the respective
databases.

- Of the few multiple-db GUIs, 99% (or probably 100%) use JDBC/ODBC
layer to connect and work with the databases and JAVA or some other kind
of high level toolkit/language to develop the GUI. This results in
applications being bulky and slow and never able to provide the speed
that a low level C/C++ client API provide and are supported by all of
the standard databases.

A simple to use GUI for all databases
===

The basic idea behind such a GUI is to develop a small footprint,
extremely fast, multilingual, cross platform administrator/development
tool for databases. One of the basic requirements thats this GUI will
fulfill is to allow a developer to efficiently execute/plan queries and
allow an administrator to quickly do jobs like backups/restores etc.
with fewest mouse clicks and across different databases.

Once the basic architecture has been set, I plan to extend it to support
advanced features like MS Access like form development, query builder,
scheduled backups, data synchronization, configuration management,
replication manager, user manager etc.

wxWidgets
===

Since last couple of years, wxWidgets (formerly wxWindows) has
transformed itself into a highly powerful cross-platform GUI library
which when compiled gives the native look and feel of the host operating
system. This is something which other libraries like Qt, JAVA lack.

More info about wxwidgets can be found at: http://www.wxwidgets.org.


Yet unnamed DB management environment
===

I dont have the time nor the resources to do everything by myself. As I
see, there are too many things which are best distributed among
people/developers who are good at those specific things. E.g. I will
require good graphics designer to develop the icons for the tool, web
developer to keep the website updated, db specific veterans to best code
individual db management code etc.

Also, it would be a great way to learn some programming and show it as
part of your undergraduate/graduate project development requirement  :)

Is it viable?
===

I am not too big a fan of reinventing the wheel or work on a project
which will go bust in couple of years? So what I want is from you people
a little initial idea and discussion about such a tool. Is it viable? Is
it OK to develop such a tool? Will people use it?

I am cross posting this to various db mailing lists as well as relevant
newsgroups to get maximum idea about it. You can also contact me
directly at [EMAIL PROTECTED] if you would be interested.

Waiting for your comments.

-- Ritesh

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq



The generalities of the project make sense to me: there really isn't a
very good tool that is cross-platform, cross-database and has a lot of
advanced options.
The feature list of sqlyog is rather comprehensive, although I think
that the missing relationship diagram editor leaves an obvious gap in
the company of the other advanced features.
Do I have time to contribute to the project? Depends. I don't have
time to hack the source, but do have a lot of advice to offer (what
people call consulting and usually charge a hefty sum for :)).
I don't think you'll like/agree with the bulk of my advice, though.

First of all, I'm sure that wxWidgets and also Qt and GTK+ are all
very nice 

Re: [GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Thomas Kellerer

- Of the few multiple-db GUIs, 99% (or probably 100%) use JDBC/ODBC
layer to connect and work with the databases and JAVA or some other kind
of high level toolkit/language to develop the GUI. This results in
applications being bulky and slow and never able to provide the speed
that a low level C/C++ client API provide and are supported by all of
the standard databases.


I am maintaining such an application and it is neither bulky nor slow. It's all 
a matter of implementation.


Just an example: with the enhanced batching in Oracle's current JDBC driver 
(yes, I know this is an Oracle list) I can even achieve the same import speed as 
SQL*Loader when importing flat files.


Btw: coming from a Java world, I do consider HSQLDB and Derby belonging to the 
list of "standard databases"


Thomas


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq


[GENERAL] Development of cross-platform GUI for Open Source DBs

2006-11-25 Thread Ritesh Nadhani

Hello all

Let me introduce myself first. I am the ex-lead developer of SQLyog
(one  of the most popular GUI for MySQL which is Windows only and runs
on  Linux through WINE, more info at http://www.webyog.com).

===
New Project: wxWidgets based cross-platform GUI for Open Source databases
===

===
Motivation
===

I have recently shifted to US to study for MS (and hopefully PhD in Univ
of Iowa). I have also shifted to Mac OS X as my primary usage machine
(after lifetime of Windows devotion).

As part of my coursework, I work with MySQL and PostgreSQL
extensively. I searched but couldnt find any GUI which has similar
power like SQLyog by any means. I have tried (and have tried before
also) various GUIs for respective databases but somehow the features
in them are restrictive and are not powerful enough for developers
like me who writes lots of SQL queries and needs to get things done
fast.

We can say that we already have enough GUIs for all open source
databases (open source as well as commercial) available in the market
but are they powerful enough to suffice the needs of an experienced
SQL developer as well as newbies. The top three problems with existing
GUI managers are:

- Most of the usable/powerful GUIs are not open source which is one of
the most powerful motivation for us to look for an alternate solutions.

- 90% of such GUIs are DB specific. It becomes very hard for developers
who work with multiple DBs as part of their work. It forces them to
learn different user interface/softwares to work with the respective
databases.

- Of the few multiple-db GUIs, 99% (or probably 100%) use JDBC/ODBC
layer to connect and work with the databases and JAVA or some other kind
of high level toolkit/language to develop the GUI. This results in
applications being bulky and slow and never able to provide the speed
that a low level C/C++ client API provide and are supported by all of
the standard databases.

A simple to use GUI for all databases
===

The basic idea behind such a GUI is to develop a small footprint,
extremely fast, multilingual, cross platform administrator/development
tool for databases. One of the basic requirements thats this GUI will
fulfill is to allow a developer to efficiently execute/plan queries and
allow an administrator to quickly do jobs like backups/restores etc.
with fewest mouse clicks and across different databases.

Once the basic architecture has been set, I plan to extend it to support
advanced features like MS Access like form development, query builder,
scheduled backups, data synchronization, configuration management,
replication manager, user manager etc.

wxWidgets
===

Since last couple of years, wxWidgets (formerly wxWindows) has
transformed itself into a highly powerful cross-platform GUI library
which when compiled gives the native look and feel of the host operating
system. This is something which other libraries like Qt, JAVA lack.

More info about wxwidgets can be found at: http://www.wxwidgets.org.


Yet unnamed DB management environment
===

I dont have the time nor the resources to do everything by myself. As I
see, there are too many things which are best distributed among
people/developers who are good at those specific things. E.g. I will
require good graphics designer to develop the icons for the tool, web
developer to keep the website updated, db specific veterans to best code
individual db management code etc.

Also, it would be a great way to learn some programming and show it as
part of your undergraduate/graduate project development requirement  :)

Is it viable?
===

I am not too big a fan of reinventing the wheel or work on a project
which will go bust in couple of years? So what I want is from you people
a little initial idea and discussion about such a tool. Is it viable? Is
it OK to develop such a tool? Will people use it?

I am cross posting this to various db mailing lists as well as relevant
newsgroups to get maximum idea about it. You can also contact me
directly at [EMAIL PROTECTED] if you would be interested.

Waiting for your comments.

-- Ritesh

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq