Re: RM-2519: Show the trigger function under the trigger node.

From: Aditya Toshniwal <aditya(dot)toshniwal(at)enterprisedb(dot)com>
To: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: RM-2519: Show the trigger function under the trigger node.
Date: 2020-10-12 09:05:57
Message-ID: CAM9w-_=0y76m3v2GwNJVgZsJ6azGXCzxLsVFc-xDBMn+P4C_+w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi,

On Mon, Oct 12, 2020 at 2:32 PM Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
wrote:

>
>
> On Mon, Oct 12, 2020 at 2:28 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>>
>>
>> On Mon, Oct 12, 2020 at 7:29 AM Akshay Joshi <
>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Dave/Team
>>>
>>> On Fri, Oct 9, 2020 at 2:28 PM Akshay Joshi <
>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi Dave/Team
>>>>
>>>> On Thu, Oct 8, 2020 at 10:17 PM Akshay Joshi <
>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Thu, 8 Oct, 2020, 20:22 Dave Page, <dpage(at)pgadmin(dot)org> wrote:
>>>>>
>>>>>> Hi Akshay,
>>>>>>
>>>>>> On Thu, Oct 8, 2020 at 3:43 PM Akshay Joshi <
>>>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>>>
>>>>>>> Hi Dave/Team
>>>>>>>
>>>>>>> I have started working on RM #2519 to show the trigger function
>>>>>>> under the trigger node. I have made the changes to the code and the trigger
>>>>>>> function is visible under the respective trigger node.
>>>>>>>
>>>>>>> Changes made to achieve this:
>>>>>>>
>>>>>>> - If the trigger function is in the same schema then it works
>>>>>>> absolutely fine, the user can update the properties, view the SQL,
>>>>>>> Statistics, Dependencies, and Dependents.
>>>>>>> - If the trigger function is from the other schema then we need
>>>>>>> to change the schema id as we have a strict API route which adds the schema
>>>>>>> id where the trigger exists. Change has been done and it works.
>>>>>>> - For the trigger function from the other schema, I have added
>>>>>>> the schema-qualified name.
>>>>>>> - Remove the menu options and add a dummy menu "No menu is
>>>>>>> available for this object" when the user selects the trigger function under
>>>>>>> the trigger node. Have to do this because of the different API routes, as
>>>>>>> the object is not available and personally, I feel we should not show the
>>>>>>> context menu to create, delete, drop from there.
>>>>>>>
>>>>>>> *Note:* To remove the menu option completely I have modified the
>>>>>>> *menu.js* and check if the 'showMenu' function is defined. If it is
>>>>>>> defined then call that function and based on the return value, will make
>>>>>>> the decision.
>>>>>>>
>>>>>>> Please refer to the below screenshot for more clarity:
>>>>>>> [image: 2519.png]
>>>>>>>
>>>>>>> Thought/Suggestion?
>>>>>>>
>>>>>>
>>>>>> Yeah, we should not be able to create/drop there, as the trigger must
>>>>>> have the function anyway (you can't define a trigger without a function in
>>>>>> PG, nor can you drop a function that's being used by a trigger).
>>>>>>
>>>>>> However, we should have a working Properties option I would say.
>>>>>>
>>>>>
>>>>> Yes, it is working from properties tab. User can edit from there.
>>>>>
>>>>
>>>> I have tested it today and it works perfectly fine if the
>>>> trigger function is in the same schema, but if we edit properties of the
>>>> trigger function from another schema eventually that object is updated
>>>> properly, but it is not visible under the trigger node. The user needs to
>>>> refresh the trigger node to make it visible again. I am checking it how we
>>>> can fix this but not found any solution yet.
>>>>
>>>
>>> I tried a lot to fix the above-mentioned issue but due to our rigid
>>> node structure, it's been difficult to update and show nodes from another
>>> schema. One more example is if there are so many triggers that use the
>>> common trigger function and we provide the update of the trigger function
>>> from the properties tab then we will have to refresh all the triggers uses
>>> that function.
>>>
>>> As we already disabled the context menu, I would suggest disabling
>>> the "Edit" button on the properties tab to fix the above-mentioned issue.
>>> According to the actual request, the user wants to see the trigger function
>>> under the trigger node and see the SQL.
>>>
>>> If the above looks good I'll commit the code.
>>>
>>
>> Hmm, yeah. How much work would it be to have a "Navigate to function"
>> context menu option that locates and selects the "real" function in the
>> treeview?
>>
>
> I have committed the code with the "Edit" button disabled, will analyze
> and create a new RM for that.
>
You can refer search objects code, it does the same thing - locate the
object on tree.

>
>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EDB: http://www.enterprisedb.com
>>
>>
>
> --
> *Thanks & Regards*
> *Akshay Joshi*
> *pgAdmin Hacker | Sr. Software Architect*
> *EDB Postgres <http://edbpostgres.com>*
>
> *Mobile: +91 976-788-8246*
>

--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com*
<http://edbpostgres.com>
"Don't Complain about Heat, Plant a TREE"

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Akshay Joshi 2020-10-12 09:21:12 Re: RM-2519: Show the trigger function under the trigger node.
Previous Message Akshay Joshi 2020-10-12 09:02:24 Re: RM-2519: Show the trigger function under the trigger node.