Re: [pgadmin-hackers] hello

2004-05-11 Thread Merlin Moncure
> >Questions about wx toolkit:
> >Does wxString have fast repeated concatenation for large strings
(like
> >STL string)?
> >
> >
> >
> Somehow, don't know if it's enough for your purpose.

Would any code using STL containers be accepted into the project?

Merlin

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


Re: [pgadmin-hackers] hello

2004-05-11 Thread Andreas Pflug
Merlin Moncure wrote:

That's an awful lot of questions on wx specific stuff, you'd better go 
to wxdev for such things.

Yes, copy/paste of rows from view data (and query tool as well) would
   

be
 

helpful and is one of the most often requested features.
   

Questions about wx toolkit:
Does wxString have fast repeated concatenation for large strings (like
STL string)?
 

Somehow, don't know if it's enough for your purpose.


Does wxGrid have the capability to demand load row contents from an
externally managed source?
 

pgadmin3 does so in view data, overload wxGridTable

What format?  Usually in these situations I tend to use tab delimited
for easy pasting into exc--er, open office :)
 

For the start, use the export options (I personally never use tabs but | 
or ;).

I took a quick look at the code and it seems very straightforward.
 

I did my best.

Maybe I'll have a crack at this...
 


WRT the query tool, I mostly use it like Andreas does.  But I also agree
that there is not one universal data browser that can meet all the
various requirements.  What has me concerned is that pgAdmin lacks the
capability to provide editing on large tables, because of memory issues
with the editor 

Definitely not!

and the lack of editing in the query tool.  I think this
is a solvable problem :)
No, this is how pgadmin2 worked, and it's a mess. Use view data with 
filter, it's much cleaner.

with the ability to provide editing over
infinite sets I think pgAdmin will become a first class data manager (or
more so than it already is) :).
 

:-)

Regards,
Andreas


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


Re: [pgadmin-hackers] hello

2004-05-11 Thread Andreas Pflug
Merlin Moncure wrote:

Questions about wx toolkit:
Does wxString have fast repeated concatenation for large strings
 

(like
 

STL string)?



 

Somehow, don't know if it's enough for your purpose.
   

Would any code using STL containers be accepted into the project?
 

What should this be good for? This probably affects portability, so you 
must have a *very* good reason to do so.

Regards,
Andreas


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [pgadmin-hackers] hello

2004-05-11 Thread Dave Page
 

> -Original Message-
> From: Merlin Moncure [mailto:[EMAIL PROTECTED] 
> Sent: 10 May 2004 18:33
> To: [EMAIL PROTECTED]
> Subject: [pgadmin-hackers] hello
> 
> Hello,
> 
> I just joined the pgAdmin mailing list.  I would like to say 
> that I am generally very impressed with the latest version of 
> this project.  The UI is much tighter than version two and 
> the whole thing feels much more usable.
> 
> One thing that I have noticed is that the 'view data' tool 
> has problems with large (> 50k) result sets.  I am very 
> familiar with this problem and have dealt with it myself in 
> various projects.  IIRC a cursor based solution was marked 
> 'controversial' in the TODO list...is this still the case?  
> (I'm grabbing the latest sources right now).  I've been 
> wanting to learn the wxWindows toolkit for a while now and 
> this seems a good place to start. :)

Hi Merlin, good to have you aboard :-)

Yes, the cursor based *query tool* is marked as controversial. Andreas &
I have always had a differing of opinion over what it's true purpose is
(and I don't think either of us are actually wrong if you know what I
mean). Iirc, Andreas' main objection to using cursors is that he likes
to use the query tool to refine queries, and if it's using cursors he
can't properly assess the speed gains of one query over another.

That argument doesn't apply to the view data tool though - I see no
reason why that cannot be made cursor based. If you're working on it
anyway, the ability to copy/paste 1 or more rows both back into the
table and into external spreadsheets etc. would be nice!! 

Regards, Dave.

---(end of broadcast)---
TIP 3: 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


[pgadmin-hackers] CVS Commit by dpage: Generate function SQL correctly when the return

2004-05-11 Thread cvs
Log Message:
---
Generate function SQL correctly when the return type needs a schema specification

Modified Files:
--
pgadmin3:
CHANGELOG.txt (r1.98 -> r1.99)
pgadmin3/pkg/win32:
pgadmin3.wsi (r1.14 -> r1.15)
pgadmin3/src/include:
frmQuery.h (r1.20 -> r1.21)
pgadmin3/src/schema:
pgFunction.cpp (r1.33 -> r1.34)
pgadmin3/src/ui:
frmQuery.cpp (r1.65 -> r1.66)

Index: CHANGELOG.txt
===
RCS file: /projects/pgadmin3/CHANGELOG.txt,v
retrieving revision 1.98
retrieving revision 1.99
diff -LCHANGELOG.txt -LCHANGELOG.txt -u -w -r1.98 -r1.99
--- CHANGELOG.txt
+++ CHANGELOG.txt
@@ -16,6 +16,7 @@
 
 
 
+2004-05-10 DPGenerate function SQL correctly when the return type 
needs a schema specification
 2004-05-04 DPPrevent duplication of functional indexes
 2004-03-30 AP   ***  no initial language selection (using system default)
 2004-03-25 AP   ***  Allow initial selection of language "Default"
Index: frmQuery.h
===
RCS file: /projects/pgadmin3/src/include/frmQuery.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -Lsrc/include/frmQuery.h -Lsrc/include/frmQuery.h -u -w -r1.20 -r1.21
--- src/include/frmQuery.h
+++ src/include/frmQuery.h
@@ -78,7 +78,7 @@
 wxString title;
 wxString lastFilename, lastDir, lastPath;
 
-bool changed, aborted;
+bool changed, loaded, aborted;
 bool lastFileFormat;
 
 DECLARE_EVENT_TABLE()
Index: pgFunction.cpp
===
RCS file: /projects/pgadmin3/src/schema/pgFunction.cpp,v
retrieving revision 1.33
retrieving revision 1.34
diff -Lsrc/schema/pgFunction.cpp -Lsrc/schema/pgFunction.cpp -u -w -r1.33 -r1.34
--- src/schema/pgFunction.cpp
+++ src/schema/pgFunction.cpp
@@ -140,9 +140,10 @@
 pgFunction *function=0;
 
 pgSet *functions = obj->GetDatabase()->ExecuteSet(
-wxT("SELECT pr.oid, pr.*, TYP.typname, lanname, pg_get_userbyid(proowner) 
as funcowner, description\n")
+wxT("SELECT pr.oid, pr.*, TYP.typname, TYPNS.nspname AS typnsp, lanname, 
pg_get_userbyid(proowner) as funcowner, description\n")
 wxT("  FROM pg_proc pr\n")
 wxT("  JOIN pg_type TYP ON TYP.oid=prorettype\n")
+wxT("  JOIN pg_namespace TYPNS ON TYPNS.oid=TYP.typnamespace\n")
 wxT("  JOIN pg_language LNG ON LNG.oid=prolang\n")
 wxT("  LEFT OUTER JOIN pg_description des ON des.objoid=pr.oid\n")
 + restriction +
@@ -164,7 +165,7 @@
 function->iSetOwner(functions->GetVal(wxT("funcowner")));
 function->iSetAcl(functions->GetVal(wxT("proacl")));
 function->iSetArgCount(functions->GetLong(wxT("pronargs")));
-function->iSetReturnType(functions->GetVal(wxT("typname")));
+
function->iSetReturnType(obj->GetDatabase()->GetSchemaPrefix(functions->GetVal(wxT("typnsp")))
 + functions->GetVal(wxT("typname")));
 function->iSetComment(functions->GetVal(wxT("description")));
 wxString oids=functions->GetVal(wxT("proargtypes"));
 function->iSetArgTypeOids(oids);
Index: frmQuery.cpp
===
RCS file: /projects/pgadmin3/src/ui/frmQuery.cpp,v
retrieving revision 1.65
retrieving revision 1.66
diff -Lsrc/ui/frmQuery.cpp -Lsrc/ui/frmQuery.cpp -u -w -r1.65 -r1.66
--- src/ui/frmQuery.cpp
+++ src/ui/frmQuery.cpp
@@ -91,6 +91,7 @@
 mainForm=form;
 title = _title;
 conn=_conn;
+   loaded = false;
 
 SetIcon(wxIcon(sql_xpm));
 wxWindowBase::SetFont(settings->GetSystemFont());
@@ -219,9 +220,8 @@
 horizontal->SplitHorizontally(sqlQuery, output, splitpos);
 
 sqlQuery->SetText(query);
-changed = !query.IsNull() && settings->GetStickySql();
-if (changed)
-setExtendedTitle();
+   changed = false;
+
 updateMenu();
 queryMenu->Enable(MNU_SAVEHISTORY, false);
 queryMenu->Enable(MNU_CLEARHISTORY, false);
@@ -333,6 +333,7 @@
 {
 Show(TRUE);
 sqlQuery->SetFocus();
+   loaded = true;
 }
 
 
@@ -545,6 +546,7 @@
 void frmQuery::setExtendedTitle()
 {
 wxString chgStr;
+
 if (changed)
 chgStr = wxT(" *");
 
@@ -621,6 +623,9 @@
 
 void frmQuery::OnChangeStc(wxStyledTextEvent& event)
 {
+   if (!loaded)
+   return;
+
 if (!changed)
 {
 changed=true;
---(end of broadcast)---
TIP 3: 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


[pgadmin-hackers] CVS Commit by dpage: Rollback unintentional commit.

2004-05-11 Thread cvs
Log Message:
---
Rollback unintentional commit.

Modified Files:
--
pgadmin3/src/ui:
frmQuery.cpp (r1.66 -> r1.67)

Index: frmQuery.cpp
===
RCS file: /projects/pgadmin3/src/ui/frmQuery.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -Lsrc/ui/frmQuery.cpp -Lsrc/ui/frmQuery.cpp -u -w -r1.66 -r1.67
--- src/ui/frmQuery.cpp
+++ src/ui/frmQuery.cpp
@@ -91,7 +91,6 @@
 mainForm=form;
 title = _title;
 conn=_conn;
-   loaded = false;
 
 SetIcon(wxIcon(sql_xpm));
 wxWindowBase::SetFont(settings->GetSystemFont());
@@ -220,8 +219,9 @@
 horizontal->SplitHorizontally(sqlQuery, output, splitpos);
 
 sqlQuery->SetText(query);
-   changed = false;
-
+changed = !query.IsNull() && settings->GetStickySql();
+if (changed)
+setExtendedTitle();
 updateMenu();
 queryMenu->Enable(MNU_SAVEHISTORY, false);
 queryMenu->Enable(MNU_CLEARHISTORY, false);
@@ -333,7 +333,6 @@
 {
 Show(TRUE);
 sqlQuery->SetFocus();
-   loaded = true;
 }
 
 
@@ -546,7 +545,6 @@
 void frmQuery::setExtendedTitle()
 {
 wxString chgStr;
-
 if (changed)
 chgStr = wxT(" *");
 
@@ -623,9 +621,6 @@
 
 void frmQuery::OnChangeStc(wxStyledTextEvent& event)
 {
-   if (!loaded)
-   return;
-
 if (!changed)
 {
 changed=true;
---(end of broadcast)---
TIP 3: 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


[pgadmin-hackers] CVS Commit by dpage: Rollback unintentional commit.

2004-05-11 Thread cvs
Log Message:
---
Rollback unintentional commit.

Modified Files:
--
pgadmin3/src/include:
frmQuery.h (r1.21 -> r1.22)

Index: frmQuery.h
===
RCS file: /projects/pgadmin3/src/include/frmQuery.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -Lsrc/include/frmQuery.h -Lsrc/include/frmQuery.h -u -w -r1.21 -r1.22
--- src/include/frmQuery.h
+++ src/include/frmQuery.h
@@ -78,7 +78,7 @@
 wxString title;
 wxString lastFilename, lastDir, lastPath;
 
-bool changed, loaded, aborted;
+bool changed, aborted;
 bool lastFileFormat;
 
 DECLARE_EVENT_TABLE()
---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [pgadmin-hackers] Bug in pgadmin III

2004-05-11 Thread Dave Page



Hi Tony,
 
I've commited a fix for this to CVS - would you like a 
snapshot .exe to test?
 
Regards, Dave.
 
BTW, what address are you sending your subscribe message 
to?

  
  
  From: Tony Caduto 
  [mailto:[EMAIL PROTECTED] Sent: 10 May 2004 
  17:17To: [EMAIL PROTECTED]Subject: Bug in pgadmin 
  mportance: High
  
  Dave,
  Sorry for writing you directly but for whatever 
  reason I can't join the mailing list, I never get a authentication email 
  back.
  Anyway the but has to do with the function editor 
  and the return type.
   
  If I create a new type for a SRF and create it in 
  the same schema as the function the editor fails to pick up the 
  schema.
   
  for example the editor brings back this after I 
  create the function
   
  CREATE OR REPLACE FUNCTION 
  common.spcom_get_pm_list()  RETURNS SETOF pm_inits AS
   
  but it should be:
   
  CREATE OR REPLACE FUNCTION 
  common.spcom_get_pm_list()  RETURNS SETOF common.pm_inits 
  AS
   
  because of this bug I have to create all my types 
  under the public schema and things get very messy.
   
  Thanks and again sorry for emailing you 
  directly.
   
   
  Tony CadutoAM Software DesignInexpensive 
  Corporate Instant Messaginghttp://www.amsoftwaredesign.com
   
  --- 
  Our company accepts no liability for the content of this email, or for the 
  consequences of any actions taken on the basis of the information 
  provided, unless that information is subsequently confirmed in writing. If 
  you are not the intended recipient you are notifiedthat disclosing, 
  copying, distributing or taking any action in reliance on the contents of 
  this information is strictly 
  prohibited.--- 
  


Re: [pgadmin-hackers] hello

2004-05-11 Thread Andreas Pflug
Dave Page wrote:



 

-Original Message-
From: Merlin Moncure [mailto:[EMAIL PROTECTED] 
Sent: 10 May 2004 18:33
To: [EMAIL PROTECTED]
Subject: [pgadmin-hackers] hello

Hello,

I just joined the pgAdmin mailing list.  I would like to say 
that I am generally very impressed with the latest version of 
this project.  The UI is much tighter than version two and 
the whole thing feels much more usable.

One thing that I have noticed is that the 'view data' tool 
has problems with large (> 50k) result sets.

I don't know about any problems with large result sets. Of course 
there's some delay until the server has done selecting the whole table 
(or the filtered subset), but since the data is *not* transferred until 
needed there's no space or data delivery problem.
Not to speak of the *human* problem handling such large data sets.

 I am very 
familiar with this problem and have dealt with it myself in 
various projects.  IIRC a cursor based solution was marked 
'controversial' in the TODO list...is this still the case?  
(I'm grabbing the latest sources right now).  I've been 
wanting to learn the wxWindows toolkit for a while now and 
this seems a good place to start. :)
   

Hi Merlin, good to have you aboard :-)

Yes, the cursor based *query tool* is marked as controversial. Andreas &
I have always had a differing of opinion over what it's true purpose is
(and I don't think either of us are actually wrong if you know what I
mean). Iirc, Andreas' main objection to using cursors is that he likes
to use the query tool to refine queries, and if it's using cursors he
can't properly assess the speed gains of one query over another.
That argument doesn't apply to the view data tool though - I see no
reason why that cannot be made cursor based. If you're working on it
anyway, the ability to copy/paste 1 or more rows both back into the
table and into external spreadsheets etc. would be nice!! 
 

Yes, copy/paste of rows from view data (and query tool as well) would be 
helpful and is one of the most often requested features.

Regards,
Andreas
---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [pgadmin-hackers] hello

2004-05-11 Thread Merlin Moncure
> Yes, copy/paste of rows from view data (and query tool as well) would
be
> helpful and is one of the most often requested features.

Questions about wx toolkit:
Does wxString have fast repeated concatenation for large strings (like
STL string)?

Does wxGrid have the capability to demand load row contents from an
externally managed source?

What format?  Usually in these situations I tend to use tab delimited
for easy pasting into exc--er, open office :)

I took a quick look at the code and it seems very straightforward.
Maybe I'll have a crack at this...

WRT the query tool, I mostly use it like Andreas does.  But I also agree
that there is not one universal data browser that can meet all the
various requirements.  What has me concerned is that pgAdmin lacks the
capability to provide editing on large tables, because of memory issues
with the editor and the lack of editing in the query tool.  I think this
is a solvable problem :) with the ability to provide editing over
infinite sets I think pgAdmin will become a first class data manager (or
more so than it already is) :).


Merlin

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