Re: PATCH: Search Objects by definitions and comments

From: Dave Page <dpage(at)pgadmin(dot)org>
To: "J(dot)F(dot) Oster" <jinfroster(at)mail(dot)ru>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: Search Objects by definitions and comments
Date: 2014-06-07 13:15:21
Message-ID: CA+OCxoyGij6sUUsQHm+NJKD8O=r7Vt9TB=RVducUnvhey+b76w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers pgadmin-support

Hi,

Sorry for the delay on this - my team is short-staffed at the moment
(and we're hiring if anyone is interested :-) ).

I had a play with this, and ran into an issue. I have multiple tables
that match the pattern %waits in my test DB, so figured that would be
a good test. It successfully finds the tables, but also finds the row
datatypes associated with them, which are not shown in the treeview at
the moment because "Show system objects" is turned off. Clicking on a
type entry in the results leads to some crazyness:

- I see a message immediately saying the object couldn't be found
(this is good).
- When I click OK on the message box, the treeview starts expanding
nodes like crazy, before displaying the error message again.
- The above may be related to another problem. When the first error
message is shown, the list of results behaves as if the shift button
is held down. When I move the mouse to click OK, all the other results
get highlighted, which I think is what's causing it to search again
for other results, and then causing another error.

One final issue for this revision - the two combo boxes at the top do
not have enough space to live in (on OSX at least - please see the
attached screenshot). Please give them some more wiggle room :-)

Thanks!

On Sat, Jun 7, 2014 at 5:28 AM, J.F. Oster <jinfroster(at)mail(dot)ru> wrote:
> Hello,
>
> Can someone review this patch, please?
>
>
> Monday, May 5, 2014, 6:22:15 PM, J.F. Oster wrote:
>
> JFO> Hello Ashesh,
> JFO> Have you had time to look into the patch?
>
> AV>> On Mon, Apr 7, 2014 at 10:47 PM, J.F. Oster <jinfroster(at)mail(dot)ru> wrote:
> AV>> Hello Ashesh,
>
> AV>> Friday, April 4, 2014, 4:24:01 PM, Dave Page wrote:
>
> DP>>> Ashesh, can you or one of the team help J. F. figure out the status
> DP>>> bar and review the patch please?
>
> DP>>> Thanks.
>
> AV>> Got status bar working by adding
>
> AV>> statusBar = XRCCTRL(*this, "unkStatusBar", wxStatusBar);
>
> AV>> to the constructor. That line exists in one of the parent's
> AV>> constructor for most dialogs. dlgSearchObject is of different
> AV>> inheritance hierarchy thus missing that bit of code.
>
> AV>> Also made few minor fixes. Please see the patch.
>
>
>
> DP>>> On Fri, Apr 4, 2014 at 12:33 PM, J.F. Oster <jinfroster(at)mail(dot)ru> wrote:
>>>>> Hello Dave,
>>>>>
>>>>> Monday, March 10, 2014, 1:36:37 PM, you wrote:
>>>>>
>>>>> DP> On Sun, Mar 9, 2014 at 8:27 AM, J.F. Oster <jinfroster(at)mail(dot)ru> wrote:
>>>>>>>
>>>>>>> Thursday, March 6, 2014, 12:38:33 AM, Guillaume Lelarge wrote:
>>>>>>>
>>>>>>> GL> On Wed, 2014-03-05 at 07:40 -0600, Michael Shapiro wrote:
>>>>>>>>> I know that PgAdmin has the ability to find a pattern in various object
>>>>>>>>> names.
>>>>>>>>>
>>>>>>>>> Can PgAdmin search the actual text of procedures to find a pattern as well.
>>>>>>>>>
>>>>>>>>> For example, if I have a procedure named get_login, and it has a select
>>>>>>>>> that looks like
>>>>>>>>>
>>>>>>>>> ═ ═select person_id from logins ....
>>>>>>>>>
>>>>>>>>> and I search for "person_id", can PgAdmin find this within the get_login
>>>>>>>>> procedure?
>>>>>>>
>>>>>>> GL> Nope, it doesn't work like that. But a patch might help to get it do
>>>>>>> GL> that.
>>>>>>>
>>>>>>> Suggested feature will be a must-have for pl-developers to find code
>>>>>>> dependencies not maintained by DBMS.
>>>>>>>
>>>>>>> Since searching pg_proc should be optional (right?), it's required to
>>>>>>> modify Search Objects dialogue. And since I have some more thoughts
>>>>>>> (plans for the future) on improving this tool, some concerning
>>>>>>> dialogue design, I'd like to express these now altogether.
>>>>>>>
>>>>>>> 1. Make "search for pattern in object's names" one of few options,
>>>>>>> enabled by default. Others will be "search in definitions" and "search
>>>>>>> in comments". I see these as a number of checkboxes.
>>>>>>> Searching in object's definitions may be further advanced by
>>>>>>> considering constraint's expressions, column's defaults, type's fields
>>>>>>> and so on.
>>>>>>>
>>>>>>> 2. In addition to objects Type filter implement Schema filter to cut
>>>>>>> off objects in schemas of no interest. This is a combobox with items:
>>>>>>> (All Schemas), (Current Schema)*, (User Schemas) plus list of all
>>>>>>> schemas in database.
>>>>>>>
>>>>>>> 3. Allow to call Search Objects dialogue when any DB-object in Object
>>>>>>> Browser is selected, not only DB itself. Object trees are huge
>>>>>>> sometimes, so having to select DB item (and loose current object) each
>>>>>>> time I wish to search for something makes the tool unattractive at
>>>>>>> all. Required to implement (Current Schema) filter.
>>>>>>>
>>>>>>> 4. If text pattern contains "%" char then don't add %%'s to it.
>>>>>>>
>>>>>>> 5. Use statusbar: "Searching...", "Nothing was found" or "Found N
>>>>>>> items".
>>>>>>>
>>>>>>> Devs, please see the sketch attached. Is this OK?
>>>>>>> I can work on this when I have time, if no one gets to this earlier.
>>>>>
>>>>> DP> Looks good to me. Thanks for looking at this.
>>>>>
>>>>> Here it is. Seems to work for me, but needs testing. I tested on 9.3
>>>>> only.
>>>>> I tried to make queries easier to extend with new object types with
>>>>> UNIONs. May be there is a better way to write them... well, afaic.
>>>>>
>>>>> Implemented all the points above plus use qtDbString() to process
>>>>> quote signs etc.
>>>>> But statusbar won't initialize for some reason. If I force it to
>>>>> initialize, it doesn't obey further window resizes. Is there a secret
>>>>> to make it work correctly? :)
>
>
>
>
>
> --
> Best regards,
> J.F.
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment Content-Type Size
Screen Shot 2014-06-07 at 14.12.25.png image/png 226.0 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2014-06-07 14:28:33 Re: Implementation of the GUI to create/modify/drop "Resource Group".
Previous Message Dave Page 2014-06-07 12:58:12 Re: Patch for closing frmEditGrid dialog using accelerator

Browse pgadmin-support by date

  From Date Subject
Next Message J.F. Oster 2014-06-09 15:32:16 Re: PATCH: Search Objects by definitions and comments
Previous Message J.F. Oster 2014-06-07 04:28:30 PATCH: Search Objects by definitions and comments