Re: PATCH: Search Objects by definitions and comments - Mailing list pgadmin-hackers
From | J.F. Oster |
---|---|
Subject | Re: PATCH: Search Objects by definitions and comments |
Date | |
Msg-id | 801456913.20140609193216@mail.ru Whole thread Raw |
In response to | Re: PATCH: Search Objects by definitions and comments (Dave Page <dpage@pgadmin.org>) |
Responses |
Re: PATCH: Search Objects by definitions and comments
|
List | pgadmin-hackers |
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@mail.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@mail.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@mail.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@mail.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
pgadmin-hackers by date: