On Wed, 2011-06-01 at 01:05 +0200, Jasmin Dizdarevic wrote:
> To better get into the code I've decided to implement a feature from
> the todo list: "Ability to search a database for objects with a
> specific name"
> Now I have a first result, which I like to discuss with you.
>
>
> 1. The search is done with this query
> select * from (
> select 'TABLE' as type, table_name as objectname, table_schema as path
> from information_schema.views
> union
> select 'VIEW' as type, table_name, table_schema from
> information_schema.views
> union
> select 'COLUMN', column_name, table_schema ||'.'||table_name from
> information_schema.columns
> union
> select 'TRIGGER', trigger_name, event_object_schema||'.'||
> event_object_table from information_schema.triggers
> union
> select 'FUNCTION', routine_name, specific_schema from
> information_schema.routines
> union
> select 'SCHEMA', schema_name, '' from information_schema.schemata
> union
> select 'SEQUENCE', sequence_name, sequence_schema from
> information_schema.sequences
> union
> select 'FSERVER', foreign_server_name, '' from
> information_schema.foreign_servers
> union
> select 'FDW', foreign_data_wrapper_name, '' from
> information_schema.foreign_data_wrappers
> ) i
> where lower(objectname) like '%PATTERN%'
> order by 1,2
>
You miss quite a lot of objects.
> 2. I've attached the menu item to the database node
>
>
> see searchobject1.png
>
Yeah, could be.
> 3. The search result output is written to a wxListCtrl
>
BTW, the Search Objects menu item should have ellipsis because next
action is showing a window.
> Great would be when someone clicks on the search result the object is
> selected in the tree. Is there a method in the tree class which I
> could use for it? It might be complex to implement because of lazy
> loading of the objects.
>
>
We already do such things when someone connects to a server and wants to
get back to his old selection. Shouldn't be too hard to do.
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com