Re: [pgAdmin4][Patch]: RM 5053 - Getting an error while changing the columns in the existing view

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Khushboo Vashi <khushboo(dot)vashi(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][Patch]: RM 5053 - Getting an error while changing the columns in the existing view
Date: 2020-04-08 06:12:22
Message-ID: CANxoLDcbdPyUu=eJrTFyPf=kmnS6w8X9RQ86Egq7pFafZt6u1A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Thanks, patch applied.

On Wed, Apr 8, 2020 at 10:58 AM Khushboo Vashi <
khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:

> Hi Akshay,
>
> Please find the attached updated patch.
>
> Thanks,
> Khushboo
>
> On Tue, Apr 7, 2020 at 11:43 AM Akshay Joshi <
> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>
>> Hi Khushboo
>>
>> The warning message is not showing up. Please fix and resend the patch.
>>
>> On Tue, Apr 7, 2020 at 10:00 AM Khushboo Vashi <
>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Akshay,
>>>
>>> Please find the attached updated patch.
>>>
>>> On Tue, Mar 24, 2020 at 2:47 PM Akshay Joshi <
>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>
>>>> Hi Khushboo
>>>>
>>>> On Tue, Mar 24, 2020 at 1:47 PM Khushboo Vashi <
>>>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>>>
>>>>> Hi Akshay,
>>>>>
>>>>> On Tue, Jan 14, 2020 at 11:47 AM Akshay Joshi <
>>>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>>>
>>>>>> Hi Khushboo
>>>>>>
>>>>>> Following are the review comments:
>>>>>>
>>>>>> - Fix the PEP8 issue.
>>>>>> - Drop query should be part of the jinja template for
>>>>>> consistency. Currently, it is added through the python file.
>>>>>>
>>>>>> The Delete query is already in the template file, I have just reused
>>>>> the delete call and merged the SQL queries in the python file.
>>>>>
>>>>>>
>>>>>> - Any changes in the view code should not warn the user "Changing
>>>>>> the columns in a view requires dropping...." and we should not drop the
>>>>>> view. For example, I have only change the WHERE clause or added 'ORDER BY'.
>>>>>>
>>>>>> I have tested but couldn't reproduce this issue. Can you please let
>>>>> me know the proper use case?
>>>>>
>>>>
>>>> Create a view with 'SELECT 1;' as code. Then change the code to
>>>> 'SELECT 1234;' and click on the Save button.
>>>> Warning popup is displayed "Changing the columns in a view....".
>>>> Click on the 'Yes' button and check the OID of the view. You will get the
>>>> same OID, it means view is not recreated.
>>>>
>>>>
>>> I can reproduce this issue with the given SQL but the problem is as per
>>> the PostgreSQL documentation, (Ref:
>>> https://www.postgresql.org/docs/12/sql-createview.html)
>>>
>>> "CREATE OR REPLACE VIEW is similar, but if a view of the same name
>>> already exists, it is replaced. The new query must generate the same
>>> columns that were generated by the existing view query (that is, the same
>>> column names in the same order and with the same data types), but it may
>>> add additional columns to the end of the list. The calculations giving rise
>>> to the output columns may be completely different."
>>>
>>> So, I put a check on the columns and if the column is changed, the
>>> message will popup.
>>>
>>> In case of the example given by you, the column name is not changed as
>>> if you don't give the column name it will be default and I think view would
>>> have the column names properly.
>>>
>>>
>>>> I have observed below error in the browser while changing the code:
>>>> view.js:241 Uncaught TypeError: Cannot read property
>>>> 'replace' of undefined
>>>> at child.onChange (view.js:241)
>>>> at HTMLDivElement.dispatch (jquery.js:5237)
>>>> at HTMLDivElement.elemData.handle (jquery.js:5044)
>>>>
>>>> Fixed.
>>>
>>> Thanks,
>>> Khushboo
>>>
>>>>
>>>>> Thanks,
>>>>> Khushboo
>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>> On Tue, Jan 14, 2020 at 10:27 AM Khushboo Vashi <
>>>>>> khushboo(dot)vashi(at)enterprisedb(dot)com> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Please find the attached patch for RM #5053 - Getting an error while
>>>>>>> changing the columns in the existing view.
>>>>>>>
>>>>>>> PostgreSQL doesn't allow to change the view columns. So, while
>>>>>>> performing this task the existing view should be dropped first and then
>>>>>>> recreate it and also user will get a warning first.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Khushboo
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Thanks & Regards*
>>>>>> *Akshay Joshi*
>>>>>>
>>>>>> *Sr. Software Architect*
>>>>>> *EnterpriseDB Software India Private Limited*
>>>>>> *Mobile: +91 976-788-8246*
>>>>>>
>>>>>
>>>>
>>>> --
>>>> *Thanks & Regards*
>>>> *Akshay Joshi*
>>>>
>>>> *Sr. Software Architect*
>>>> *EnterpriseDB Software India Private Limited*
>>>> *Mobile: +91 976-788-8246*
>>>>
>>>
>>
>> --
>> *Thanks & Regards*
>> *Akshay Joshi*
>>
>> *Sr. Software Architect*
>> *EnterpriseDB Software India Private Limited*
>> *Mobile: +91 976-788-8246*
>>
>

--
*Thanks & Regards*
*Akshay Joshi*

*Sr. Software Architect*
*EnterpriseDB Software India Private Limited*
*Mobile: +91 976-788-8246*

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Ashesh Vashi 2020-04-08 06:28:45 pgAdmin 4 commit: [LDAP Authentication] Use more secure protocol TSL v1
Previous Message Akshay Joshi 2020-04-08 06:11:51 Re: [pgAdmin][RM5361] pgAdmin breaks on IE 11 with @simonwep/pickr