Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-31 Thread Magnus Hagander
 - select * from pg_cCtrl-Spc) _does_ popup the window. 
 However, the popup will show the same problem as on Windows, 
 remaining on top of all windows.

This patch fixes the problem on Windows. Don't have a linux box around
to test there, sorry. The patch is simple enough, I think it *should*
work...

//Magnus


autocomplete_popup.patch
Description: autocomplete_popup.patch

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-30 Thread Dave Page
Thanks, patch applied with minor tweaking re: trailing spaces as
discussed on IM, and documentation.

Regards, Dave. 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 Magnus Hagander
 Sent: 08 January 2006 15:05
 To: pgadmin-hackers@postgresql.org
 Subject: Re: [pgadmin-hackers] Query tool: Autocompletion 
 
 Dave tells me the list silently eats large mails, so here is the mail
 again without the patch. The patch is now on
 http://www.hagander.net/pgsql/patches/pgadmin_autocomplete.patch
 
 //Magnus
 
 
  -Original Message-
  From: Magnus Hagander 
  Sent: Saturday, January 07, 2006 6:33 PM
  To: pgadmin-hackers@postgresql.org
  Subject: Query tool: Autocompletion 
  
  Hi!
  
  Attached is a first attempt at autocompletion for the SQL 
  Query tool. It probably needs some more work, but it's a start :-)
  
  It's based on the tab completion in psql. The idea is to pull 
  the latest and greatest tab-complete.c from psql, then run it 
  through a perlscript that picks out the tasty parts.
  
  
  Anyway. Attached is the patch. I've also included a 
  tab-complete.inc from the current Due to a bug in the Visual 
  C++ compiler, it *has* to be compiled as C not as C++. 
  Thus, a bit if ugly glue is required between those two worlds 
  :-)psql - to make it build directly (without adding a build 
  dependency on perl), this one is what should probably go in 
  svn, and then be manually sycned onw and then from psql.
  tabcomplete.c needs to be added to the build project (I'm 
  devving in Visual Studio 2003, so I can't modify the .dsw 
  from there easily). 
  
  I've only tested this on Windows so far. Wouldn't surprise me 
  if some minor work is needed to build on *nix.
  
  I'm also unsure if I can get away with the easy way I pass 
  strings in and out of wx (encoding issues?). It works in my 
  testcases, but I'm not familiar enough to be sure if it 
 always does. 
  
  Finally, I've added a screenshot for those who don't want to 
  rebuild :)
  
  So. Thoughts, and comments?
  
  //Magnus
  
 
 ---(end of 
 broadcast)---
 TIP 5: don't forget to increase your free space map settings
 

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-30 Thread Andreas Pflug

Dave Page wrote:

Thanks, patch applied with minor tweaking re: trailing spaces as
discussed on IM, and documentation.


I eyeballed the multibyte handling, it looks ok to me. But I found some 
nasty misbehaviours:


select * from pg_cTAB

- On Windows, a popup will appear. If you activate a different app (e.g. 
the debugger which runs pgadmin), it will stay on top. Only selecting 
the very ctlSqlBox window will let it disappear (this is the usual popup 
window fun...)


- On Linux, pg_cast will appear instead of the popup.

- On Linux, every Enter will insert two \n, i.e. an additional empty 
line that can't be addressed with the cursor. This is also true if 
autotabcomplete is disabled (doesn't happen when reading a script from a 
file).


Regards,
Andreas

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-30 Thread Andreas Pflug

Dave Page wrote:

Thanks, patch applied with minor tweaking re: trailing spaces as
discussed on IM, and documentation.


More problems on Linux:

- select * from pg_cCtrl-Spc) _does_ popup the window. However, the 
popup will show the same problem as on Windows, remaining on top of all 
windows.


- All ctrl keys were executed twice, fixed in svn. Still, I'm not sure 
if event.m_metaDown=false shouldn't be active for OSX too. It has effect 
on function keys (F5 et al)


- SELECT * FROM pg_class, pg_attCtrl-Spc won't do anything.
- SELECT * FROM pg_class, pg_attribute WHERE Ctrl-Spc will deliver 
pg_attribute columns only.

- SELECT * FROM pg_class JOIN pg_attribute ON Ctrl-Spc won't do anything.

This renders the feature nearly useless.

Regards,
Andreas

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

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-30 Thread Magnus Hagander
 - On Linux, pg_cast will appear instead of the popup.

Doesn't happen for me. I get the full popup.


 - On Linux, every Enter will insert two \n, i.e. an 
 additional empty line that can't be addressed with the 
 cursor. This is also true if autotabcomplete is disabled 
 (doesn't happen when reading a script from a file).

I see yuo're working on this one already. (Yeah, I pulled a new svn
during the time it was broken :P)

It appears to fix the problem for me on linux.

//Magnus

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-26 Thread Dave Page
 

 -Original Message-
 From: Andreas Pflug [mailto:[EMAIL PROTECTED] 
 Sent: 26 January 2006 00:06
 To: Magnus Hagander
 Cc: Dave Page; pgadmin-hackers@postgresql.org
 Subject: Re: [pgadmin-hackers] Query tool: Autocompletion
 
 I've spent several hours now to get the beast compiled, still no go. 
 It's a nightmare I don't like to spend more time on.

Hmm, I got it going in 5 minutes in VC6. Works quite well.

 Dave, if you succeed hacking something workable that doesn't 
 try to call 
 more core pgsql includes from somewhere (!), commit it. Note: pgsql 
 copied stuff should go to src/db, not utils.

Well, I can certainly commit what's there fairly quickly.

 Actually, I doubt that the psql way is desirable at all. Instead of 
 constantly accessing the db for completion candidates, using 
 pgAdmin's 
 object tree as cache should be the way to go.

That's a good point. Magnus, any thoughts on doing it that way?
Shouldn't be too hard to swap out the queries for scans of the tree.

Mind you, the downside of that is that tab complete would essentially
have to build large chunks of the tree on databases that might not even
be connected in response to random typing in the query tool. Whilst it
seems a nice idea to use the tree objects as a cache, it could have some
pretty nasty side effects.

/D

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

   http://archives.postgresql.org


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-26 Thread Andreas Pflug

Dave Page wrote:
 




-Original Message-
From: Andreas Pflug [mailto:[EMAIL PROTECTED] 
Sent: 26 January 2006 00:06

To: Magnus Hagander
Cc: Dave Page; pgadmin-hackers@postgresql.org
Subject: Re: [pgadmin-hackers] Query tool: Autocompletion

I've spent several hours now to get the beast compiled, still no go. 
It's a nightmare I don't like to spend more time on.



Hmm, I got it going in 5 minutes in VC6. Works quite well.


Not in Linux.

Regards,
Andreas

---(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: [pgadmin-hackers] Query tool: Autocompletion

2006-01-26 Thread Dave Page
 

 -Original Message-
 From: Magnus Hagander [mailto:[EMAIL PROTECTED] 
 Sent: 26 January 2006 10:04
 To: Dave Page; Andreas Pflug
 Cc: pgadmin-hackers@postgresql.org
 Subject: RE: [pgadmin-hackers] Query tool: Autocompletion
 
 Don't know enough about the classes to really comment. They can't be
 built on-demand somehow?

Yeah, but my point is that typing in the query tool might trigger a DB
connect followed by a deep build of the tree which might be very
expensive. That might outweigh the benefits of using the cache.

/D

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

   http://archives.postgresql.org


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-26 Thread Magnus Hagander
  I've spent several hours now to get the beast compiled,
  still no go. 
  It's a nightmare I don't like to spend more time on.
   
   
   Hmm, I got it going in 5 minutes in VC6. Works quite well.
  
  Not in Linux.
 
 Due to the longer building times, yes, it tok longer on 
 linux. And I hadn't tested it. But it certainly didn't take 
 more than 5-10 minutes active time ;-)
 
 Attached is an updated patch that compiles fine on linux (on 
 developer.pgadmin.org), and works (only did minor tests). 
 I've also included a pre-generated .inc file. I did not move 
 any files.
 
 The #ifdefs are perhaps better handled with autoconf macros, 
 haven't investigated that yet - I just wanted to get 
 somethign out that you can test with on linux quickly.

Oops. Didn't do svn add on the linux box, so it was missing the file
that actually had the changes (except for the makefile).Here it is.
(tab-complete.pl unchanged from previous patch)

//Magnus


tabcomplete.c
Description: tabcomplete.c

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

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-25 Thread Andreas Pflug
I've spent several hours now to get the beast compiled, still no go. 
It's a nightmare I don't like to spend more time on.


Dave, if you succeed hacking something workable that doesn't try to call 
more core pgsql includes from somewhere (!), commit it. Note: pgsql 
copied stuff should go to src/db, not utils.
Actually, I doubt that the psql way is desirable at all. Instead of 
constantly accessing the db for completion candidates, using pgAdmin's 
object tree as cache should be the way to go.


Regards,
Andreas


---(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: [pgadmin-hackers] Query tool: Autocompletion

2006-01-22 Thread Dave Page
Andreas; have you had a chance to look at this yet?

Regards, Dave.

 -Original Message-
 From: Magnus Hagander [mailto:[EMAIL PROTECTED] 
 Sent: 15 January 2006 17:30
 To: Dave Page; pgadmin-hackers@postgresql.org
 Subject: RE: [pgadmin-hackers] Query tool: Autocompletion 
 
So. Thoughts, and comments?
  
  Nice, it works quite well. Some thoughts:
 
 Here's an updated version. No change in the actual psql-emulation
 logic, so no new .inc file needed.
 
 
  - My main concern is that I do use tab, which this prevents - 
  as per your comment in the source I think we need an option 
  to turn the feature off for those that don't want it.
 
 Config option added in this one. I left it always possible to use
 Ctrl-Space to do it (visual studio style). I don't think anybody
 actually uses Ctrl-Space in their SQL code, but I'm sure a lot of ppl
 use TAB.
 
 
  - A space should be added after an item has been inserted 
  form the auto-complete list, per psql.
 
 Done in this version. If you terminate the popdown using space, you
 end up with *two* spaces. From what I can tell, there is no way around
 that. And two spaces shouldn't break a query.
 
 
  - Schema-prefixed table names can't have columns in the WHERE 
  clause auto-completed. Actually on further investigation this 
  seems to apply to psql as well.
 
 It does. I think I saw something on the list that someone was 
 working on
 making the tab completion better in psql. I'm not sure if this is part
 of it though.
 (Though I'm sure this patch will have to be updated once that is
 applied, since it looked like one or two renames of macros etc)
 
 
  - SELECT * FROM foo WHERE bar = 'FOO' AND tab doesn't work. 
  Also as per psql?
 
 Yes.
 
 
  I'd like Andreas to look at this before applying - 
  particularly the encoding bits which are still largely a 
  mystery to me as well.
 
 Sounds good.
 
 
 //Magnus
 

---(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: [pgadmin-hackers] Query tool: Autocompletion

2006-01-22 Thread Andreas Pflug

Dave Page wrote:

Andreas; have you had a chance to look at this yet?


No, not yet.

Regards,
Andreas

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-18 Thread Andreas Pflug

Dave Page wrote:
 




-Original Message-
From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On Behalf Of 
Magnus Hagander

Sent: 08 January 2006 15:05
To: pgadmin-hackers@postgresql.org
Subject: Re: [pgadmin-hackers] Query tool: Autocompletion 



Attached is a first attempt at autocompletion for the SQL 
Query tool. It probably needs some more work, but it's a start :-)


It's based on the tab completion in psql. The idea is to pull 
the latest and greatest tab-complete.c from psql, then run it 
through a perlscript that picks out the tasty parts.



Anyway. Attached is the patch. I've also included a 
tab-complete.inc from the current Due to a bug in the Visual 
C++ compiler, it *has* to be compiled as C not as C++. 
Thus, a bit if ugly glue is required between those two worlds 
:-)psql - to make it build directly (without adding a build 
dependency on perl), this one is what should probably go in 
svn, and then be manually sycned onw and then from psql.
tabcomplete.c needs to be added to the build project (I'm 
devving in Visual Studio 2003, so I can't modify the .dsw 
from there easily). 

I've only tested this on Windows so far. Wouldn't surprise me 
if some minor work is needed to build on *nix.


I'm also unsure if I can get away with the easy way I pass 
strings in and out of wx (encoding issues?). It works in my 
testcases, but I'm not familiar enough to be sure if it 


always does. 

Finally, I've added a screenshot for those who don't want to 
rebuild :)


So. Thoughts, and comments?



Nice, it works quite well. Some thoughts:

- My main concern is that I do use tab, which this prevents - as per
your comment in the source I think we need an option to turn the feature
off for those that don't want it.

- A space should be added after an item has been inserted form the
auto-complete list, per psql.

- Schema-prefixed table names can't have columns in the WHERE clause
auto-completed. Actually on further investigation this seems to apply to
psql as well.

- SELECT * FROM foo WHERE bar = 'FOO' AND tab doesn't work. Also as
per psql?

I'd like Andreas to look at this before applying - particularly the
encoding bits which are still largely a mystery to me as well.


Um, nicely spoken :-)
I'll have a tight look at it, esp. the disable option. I'd be positively 
surprised if the feature can cope with my less than straight forward 
editing habits.


Regards,
Andreas

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-18 Thread Magnus Hagander
  I'd like Andreas to look at this before applying - particularly the 
  encoding bits which are still largely a mystery to me as well.
 
 Um, nicely spoken :-)
 I'll have a tight look at it, esp. the disable option. I'd be 
 positively surprised if the feature can cope with my less 
 than straight forward editing habits.

Welcome back, hope you had a good holiday!

Note that the idea is to have simple tab-complete. As long as it
doesn't *break* your stuff, don't expect it to always show a popup menu
;-) It's a start, we can always improve it later - by updating the one
in psql ;-)

//Magnus

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-15 Thread Magnus Hagander
   So. Thoughts, and comments?
 
 Nice, it works quite well. Some thoughts:

Here's an updated version. No change in the actual psql-emulation
logic, so no new .inc file needed.


 - My main concern is that I do use tab, which this prevents - 
 as per your comment in the source I think we need an option 
 to turn the feature off for those that don't want it.

Config option added in this one. I left it always possible to use
Ctrl-Space to do it (visual studio style). I don't think anybody
actually uses Ctrl-Space in their SQL code, but I'm sure a lot of ppl
use TAB.


 - A space should be added after an item has been inserted 
 form the auto-complete list, per psql.

Done in this version. If you terminate the popdown using space, you
end up with *two* spaces. From what I can tell, there is no way around
that. And two spaces shouldn't break a query.


 - Schema-prefixed table names can't have columns in the WHERE 
 clause auto-completed. Actually on further investigation this 
 seems to apply to psql as well.

It does. I think I saw something on the list that someone was working on
making the tab completion better in psql. I'm not sure if this is part
of it though.
(Though I'm sure this patch will have to be updated once that is
applied, since it looked like one or two renames of macros etc)


 - SELECT * FROM foo WHERE bar = 'FOO' AND tab doesn't work. 
 Also as per psql?

Yes.


 I'd like Andreas to look at this before applying - 
 particularly the encoding bits which are still largely a 
 mystery to me as well.

Sounds good.


//Magnus


pgadmin_autocomplete2.patch
Description: pgadmin_autocomplete2.patch

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

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-09 Thread Dave Page
 

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of 
 Magnus Hagander
 Sent: 08 January 2006 15:05
 To: pgadmin-hackers@postgresql.org
 Subject: Re: [pgadmin-hackers] Query tool: Autocompletion 
 
  Attached is a first attempt at autocompletion for the SQL 
  Query tool. It probably needs some more work, but it's a start :-)
  
  It's based on the tab completion in psql. The idea is to pull 
  the latest and greatest tab-complete.c from psql, then run it 
  through a perlscript that picks out the tasty parts.
  
  
  Anyway. Attached is the patch. I've also included a 
  tab-complete.inc from the current Due to a bug in the Visual 
  C++ compiler, it *has* to be compiled as C not as C++. 
  Thus, a bit if ugly glue is required between those two worlds 
  :-)psql - to make it build directly (without adding a build 
  dependency on perl), this one is what should probably go in 
  svn, and then be manually sycned onw and then from psql.
  tabcomplete.c needs to be added to the build project (I'm 
  devving in Visual Studio 2003, so I can't modify the .dsw 
  from there easily). 
  
  I've only tested this on Windows so far. Wouldn't surprise me 
  if some minor work is needed to build on *nix.
  
  I'm also unsure if I can get away with the easy way I pass 
  strings in and out of wx (encoding issues?). It works in my 
  testcases, but I'm not familiar enough to be sure if it 
 always does. 
  
  Finally, I've added a screenshot for those who don't want to 
  rebuild :)
  
  So. Thoughts, and comments?

Nice, it works quite well. Some thoughts:

- My main concern is that I do use tab, which this prevents - as per
your comment in the source I think we need an option to turn the feature
off for those that don't want it.

- A space should be added after an item has been inserted form the
auto-complete list, per psql.

- Schema-prefixed table names can't have columns in the WHERE clause
auto-completed. Actually on further investigation this seems to apply to
psql as well.

- SELECT * FROM foo WHERE bar = 'FOO' AND tab doesn't work. Also as
per psql?

I'd like Andreas to look at this before applying - particularly the
encoding bits which are still largely a mystery to me as well.

Regards, Dave.

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

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


Re: [pgadmin-hackers] Query tool: Autocompletion

2006-01-08 Thread Magnus Hagander
Dave tells me the list silently eats large mails, so here is the mail
again without the patch. The patch is now on
http://www.hagander.net/pgsql/patches/pgadmin_autocomplete.patch

//Magnus


 -Original Message-
 From: Magnus Hagander 
 Sent: Saturday, January 07, 2006 6:33 PM
 To: pgadmin-hackers@postgresql.org
 Subject: Query tool: Autocompletion 
 
 Hi!
 
 Attached is a first attempt at autocompletion for the SQL 
 Query tool. It probably needs some more work, but it's a start :-)
 
 It's based on the tab completion in psql. The idea is to pull 
 the latest and greatest tab-complete.c from psql, then run it 
 through a perlscript that picks out the tasty parts.
 
 
 Anyway. Attached is the patch. I've also included a 
 tab-complete.inc from the current Due to a bug in the Visual 
 C++ compiler, it *has* to be compiled as C not as C++. 
 Thus, a bit if ugly glue is required between those two worlds 
 :-)psql - to make it build directly (without adding a build 
 dependency on perl), this one is what should probably go in 
 svn, and then be manually sycned onw and then from psql.
 tabcomplete.c needs to be added to the build project (I'm 
 devving in Visual Studio 2003, so I can't modify the .dsw 
 from there easily). 
 
 I've only tested this on Windows so far. Wouldn't surprise me 
 if some minor work is needed to build on *nix.
 
 I'm also unsure if I can get away with the easy way I pass 
 strings in and out of wx (encoding issues?). It works in my 
 testcases, but I'm not familiar enough to be sure if it always does. 
 
 Finally, I've added a screenshot for those who don't want to 
 rebuild :)
 
 So. Thoughts, and comments?
 
 //Magnus
 

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