Re: [pgadmin-hackers] hello
> >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
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
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
> -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
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.
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.
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
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
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
> 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