Thread: [pgAdmin4][Patch]: RM1683 - Reverse engineered SQL for function ALTERs/ACLs is incorrect with OUT parameters

Hi,

Please find attached patch with fix.
Changes:
1) Take a list of "function argument types", create a string separated by comma(removing trailing comma).
2) Function arguments in ALTER and GRANT not necessarily to have argument mode, name, they are optional. Only type is required.
Now GRANT statement is represented as

GRANT EXECUTE ON FUNCTION test_schema.test_func(integer, integer, integer) TO postgres as in pgadmin3.


Please review.
Attachment
This patch doesn't fix the issue in Procedure node. I will send updated patch.

On Mon, Sep 12, 2016 at 3:12 PM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote:
Hi,

Please find attached patch with fix.
Changes:
1) Take a list of "function argument types", create a string separated by comma(removing trailing comma).
2) Function arguments in ALTER and GRANT not necessarily to have argument mode, name, they are optional. Only type is required.
Now GRANT statement is represented as

GRANT EXECUTE ON FUNCTION test_schema.test_func(integer, integer, integer) TO postgres as in pgadmin3.


Please review.

Hi

I forgot to remove a line args_without_name += ', ' from the code in previous patch, thus it adds extra commas into the function arguments in case of procedures only.
It is now fixed.
Please find updated v2 patch and review.


On Mon, Sep 12, 2016 at 3:54 PM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote:
This patch doesn't fix the issue in Procedure node. I will send updated patch.

On Mon, Sep 12, 2016 at 3:12 PM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote:
Hi,

Please find attached patch with fix.
Changes:
1) Take a list of "function argument types", create a string separated by comma(removing trailing comma).
2) Function arguments in ALTER and GRANT not necessarily to have argument mode, name, they are optional. Only type is required.
Now GRANT statement is represented as

GRANT EXECUTE ON FUNCTION test_schema.test_func(integer, integer, integer) TO postgres as in pgadmin3.


Please review.


Attachment
Thanks, applied.

On Mon, Sep 12, 2016 at 11:57 AM, Surinder Kumar
<surinder.kumar@enterprisedb.com> wrote:
> Hi
>
> I forgot to remove a line args_without_name += ', ' from the code in
> previous patch, thus it adds extra commas into the function arguments in
> case of procedures only.
> It is now fixed.
> Please find updated v2 patch and review.
>
>
> On Mon, Sep 12, 2016 at 3:54 PM, Surinder Kumar
> <surinder.kumar@enterprisedb.com> wrote:
>>
>> This patch doesn't fix the issue in Procedure node. I will send updated
>> patch.
>>
>> On Mon, Sep 12, 2016 at 3:12 PM, Surinder Kumar
>> <surinder.kumar@enterprisedb.com> wrote:
>>>
>>> Hi,
>>>
>>> Please find attached patch with fix.
>>> Changes:
>>> 1) Take a list of "function argument types", create a string separated by
>>> comma(removing trailing comma).
>>> 2) Function arguments in ALTER and GRANT not necessarily to have argument
>>> mode, name, they are optional. Only type is required.
>>> Now GRANT statement is represented as
>>>
>>> GRANT EXECUTE ON FUNCTION test_schema.test_func(integer, integer,
>>> integer) TO postgres as in pgadmin3.
>>>
>>>
>>> Please review.
>>
>>
>
>
>
> --
> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgadmin-hackers
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company