Re: PATCH: Search Objects by definitions and comments

From: "J(dot)F(dot) Oster" <jinfroster(at)mail(dot)ru>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: Search Objects by definitions and comments
Date: 2014-06-09 15:32:16
Message-ID: 801456913.20140609193216@mail.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers pgadmin-support

Hello Dave,

Saturday, June 7, 2014, 5:15:21 PM, you wrote:

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

The issue with regular table types was there before but had no
chance to reveal itself. I forgot to mention earlier that PgAdmin 1.18
doesn't search for Types at all.

wxT(" WHERE t.typtype != 'd' AND t.typname NOT LIKE E'\\_%' ")
had to be double-escaped:
wxT(" WHERE t.typtype != 'd' AND t.typname NOT LIKE E'\\\\_%' ");

I couldn't reproduce the case you described in whole it's crazyness :)
but hope that it would be an appropriate fix to filter out table types
when "Show system objects" is off.

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

Done, changed vgap from 3 to 5.

Please see the attached patch.

--

DP> 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.

Attachment Content-Type Size
140609_searchobj_v3.patch.gz application/x-gzip 12.9 KB

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2014-06-10 19:12:31 pgAdmin III commit: Update changelog.
Previous Message Akshay Joshi 2014-06-09 08:03:00 Re: Implementation of the GUI to create/modify/drop "Resource Group".

Browse pgadmin-support by date

  From Date Subject
Next Message Harri T. 2014-06-11 09:20:36 Latest pgAdmin version supporting PostgreSQL 8.3
Previous Message Dave Page 2014-06-07 13:15:21 Re: PATCH: Search Objects by definitions and comments