Re: help for "quick search" / bug ? / ODBC plugin? - Mailing list pgadmin-hackers

From Levente Torok
Subject Re: help for "quick search" / bug ? / ODBC plugin?
Date
Msg-id 200903091246.25237.TorokLev@gmail.com
Whole thread Raw
In response to Re: help for "quick search"  (Dave Page <dpage@pgadmin.org>)
Responses Re: help for "quick search" / bug ? / ODBC plugin?  (Dave Page <dpage@pgadmin.org>)
List pgadmin-hackers
On Monday 09 March 2009, you wrote:

> On Sun, Mar 8, 2009 at 11:31 AM, Levente Torok <toroklev@gmail.com> wrote:
>
> > Look. The problem is the following.
> > We have exteremely large number of items in the obj browser tree.
> > In general, this is very unpleasant to manually search for items in the
> > tree even if we know the exact name of it. For this reason we usually use
> > psql console since it has mighty tab completion.
> > If only such a quick filtering functionality would be integrated in the GUI, it would be extremely helpful.
>
> Except that, per my previous comments, it's like to be a lot more code
> and less useful than a true search.
>
> > (not to mention the console integrated in the pgadmin)
>
> It can easily be in 1.10, using the plugins mechanism - in fact
> integrating psql is our standard example.
>
> > I wouldn't like to do any click or key hit, if unneccessary and the synaptic's quick seach such as:
> > http://www.basicconfig.com/files/imagepicker/j/jinlusuh/Screenshot-Synaptic%20quick%20search%20seamonkey.png
> > are good examples of this but Compiz config, or KDE's control center are worth considering too.
>
> I understand what you are suggesting, but believe that in many cases
> *more* clicks will be required. A search results listing can easily
> show additional pertinent information about each matching object such
> as it's type, owner and comment. With a filter, you can view the type
> through the location on the tree, but that might require scrolling.
> For information such as the owner or comment, you must locate and
> click *every* object until you find the one you actually want.

I am not objecting to prefilter for types. It makes sense to search for comments
but not as a quick search. E.g. Synaptic searches for package names exclusively
but not the description fields.

>
> In addition, you could easily further refine a search results listing
> by sort by different columns, or applying filtering to the results
> list (for example, to only show objects owned by a certain user). That
> is much harder to present in a UI in the design you propose.

Now I got to understand your UI problem!.

There two approaches to this:

- One is what KDE control center does but I prefer the other one.
This is that: we have the original tree with all objects but once we enter something in the quick search window
the tree will be reduced to branches that appear under those objects that
contiain the entered search phrase in any fragment.

-The KDE's approach is to generate a list of the items with partial matches.

I prefer the former but may be more GUI space wasting than the latter one.

> What do others think?


Really, what do others think???


----------------
Question:
I cannot start up my pgadmin3.

I have the following strace running infinitely but slowly:
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN, revents=POLLIN}], 2, 499) = 1
read(7, "\10\3\213\nn\311\307\2Y\0\0\0A\0\240\0\0\0\0\0\261\001"..., 4096) = 96
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
gettimeofday({1236597834, 122116}, NULL) = 0
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\2\7\4\0A\0\240\0\0@\0\0\34\0\240\0\2\7\4\0+\0\240\0\0"..., 32}], 1) = 32
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN, revents=POLLIN}], 2, -1) = 1
read(7, "\17\3\215\n>\0\240\0\0028\254\277x3\22\n\3707\254\277T"..., 4096) = 64
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\2\7\4\0A\0\240\0\0@\0\0\34\0\240\0\2\7\4\0+\0\240\0\0"..., 32}], 1) = 32
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN, revents=POLLIN}], 2, -1) = 1
read(7, "\17\0\217\n>\0\240\0\0008\254\277x3\22\n(8\254\277T\317"..., 4096) = 96
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"5\30\4\0\23\3\240\0A\0\240\0\363\1T\1\233\4\5\0\24\3\240"..., 780}], 1) = 780
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=7, events=POLLIN}], 2, 0) = 0
select(8, [7], [7], NULL, NULL)         = 1 (out [7])
writev(7, [{"\2\7\4\0A\0\240\0\0@\0\0\34\0\240\0\2\7\4\0+\0\240\0\0"..., 32}], 1) = 32
read(7, 0x85d1cd4, 4096)                = -1 EAGAIN (Resource temporarily unavailable)

Does anybody have the idea what going on?
I use  1.8.2-0ubuntu1  version.

------------

Finally. I guess I posing a question that has been already asked 1000 times:
Would it be very very difficult to implement an ODBC connector interface so
many other databases such Oracle could be connected?
Oracle has a really shit like admin console.
It should be replaced if possible.

Best regards,

Levente


--
Blogger of http://fapuma.blogspot.com
Pictures of my life at http://picasaweb.google.com/TorokLev

pgadmin-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: [pgScript patch] Output + bug fix
Next
From: Magnus Hagander
Date:
Subject: Re: [pgScript patch] Output + bug fix