PATCH: Search Objects by definitions and comments

From: "J(dot)F(dot) Oster" <jinfroster(at)mail(dot)ru>
To: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: PATCH: Search Objects by definitions and comments
Date: 2014-06-07 04:28:30
Message-ID: 10310602491.20140607082830@mail.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers pgadmin-support

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.

Attachment Content-Type Size
140407_searchobj_v2.patch.gz application/x-gzip 13.0 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2014-06-07 12:51:29 pgAdmin III commit: Fix thinko.
Previous Message J.F. Oster 2014-06-07 03:57:12 Re: Patch for closing frmEditGrid dialog using accelerator

Browse pgadmin-support by date

  From Date Subject
Next Message Dave Page 2014-06-07 13:15:21 Re: PATCH: Search Objects by definitions and comments
Previous Message Stephen Ross 2014-06-05 13:31:43 New Release needed