Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bjNlb-00052j-8L for pgadmin-hackers@arkaria.postgresql.org; Mon, 12 Sep 2016 09:43:07 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bjNla-00075i-DR for pgadmin-hackers@arkaria.postgresql.org; Mon, 12 Sep 2016 09:43:06 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bjNlZ-00075b-T8 for pgadmin-hackers@postgresql.org; Mon, 12 Sep 2016 09:43:05 +0000 Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bjNlO-0007wu-7F for pgadmin-hackers@postgresql.org; Mon, 12 Sep 2016 09:43:05 +0000 Received: by mail-wm0-x232.google.com with SMTP id a6so44177466wmc.0 for ; Mon, 12 Sep 2016 02:42:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=U9KNeLuGgZ88btZLv9WUEvYDDdkzaQ4fku91vEglAUY=; b=FKVCnQN4qXsyUjsrAUakmAwqcPWPu/4ypQdpPgBHWKm2Yc7UYMHI+vT0HVL5jurqru GF9hdLPFM8vPtrLNLf8He/GqlhY/6EnOT71ZLojUjjvrrhaxi97vCaCwLE8RnlOm62zj MY7s78bAQKT/IKYXEOscHJX4lMWMRakgUonq9Tn5Rp2IQNIslW6Xzrlu5v9Oh4K/V9sE dcnyCMPmHyGfHbedt8bYSmhyqGxnTqqSXbAXJRrgi1eW9DOmgsleGGM41V0gj3SrSZ5z j7yhU8vYAJ4WHFbY1Gz7imyB902JjuvVF/0mLXviBUCyjWniS7fHABXmLcWwpKYdaUU6 oOrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=U9KNeLuGgZ88btZLv9WUEvYDDdkzaQ4fku91vEglAUY=; b=T9UsLFtTZuscGQIBy2VFW9Au/sEWMpBefGyLh9JnYsegMxJGDg0oOnxCj5Rzw8FJpi Tvqnjd+qbI8sQGY2jWyc8P5Q4dTfQzicz1Bd7SGDnXrBngh2Qs1WXSUQwRQF8x27XVXT tyicmRmhrpJ8EAwel+42/r0xCRdPabuPG/BhT3DPpQFuij/zGC/dGxxr4j1xkIcnocw2 G+JgFTsaP8J4Vrg4I7fAVEX5xEhh0vKKHvmCmxF/M6FD38nU8Q2uNYP+BMaju8oWwOUj 9v4A7q/dMOKTAeip1GteHiuOdeUwLJ/WWZ5zmMUwd0p2iYymXUTqlO8AoeUS6LlrBzVw 1tPw== X-Gm-Message-State: AE9vXwNMxVv60nzocXrjEca9VLdLSysVW/J3YgYlvZ1PU1csus81PagT3fIb6joJavkvT+8Sw3CFVsH0aR/jPT+s X-Received: by 10.28.13.149 with SMTP id 143mr10100703wmn.113.1473673372980; Mon, 12 Sep 2016 02:42:52 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.172.198 with HTTP; Mon, 12 Sep 2016 02:42:22 -0700 (PDT) From: Surinder Kumar Date: Mon, 12 Sep 2016 15:12:22 +0530 Message-ID: Subject: [pgAdmin4][Patch]: RM1683 - Reverse engineered SQL for function ALTERs/ACLs is incorrect with OUT parameters To: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a11443350e99a0e053c4c5158 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a11443350e99a0e053c4c5158 Content-Type: multipart/alternative; boundary=001a11443350e99a09053c4c5156 --001a11443350e99a09053c4c5156 Content-Type: text/plain; charset=UTF-8 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. --001a11443350e99a09053c4c5156 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,=

Please find attached pat= ch with fix.
Changes:
1) Take a list of "function argument types", create a strin= g separated by comma(removing trailing comma).
2) Function arguments in ALTER and GRANT no= t necessarily to have argument mode, name,=C2=A0they are optional. O= nly type is required.
Now GRANT statement is represented as

G= RANT EXECUTE ON FUNCTION test_schema.test_func(integer, integer, integer= ) TO postgres=C2=A0as in pgadmin3.


Please review.
--001a11443350e99a09053c4c5156-- --001a11443350e99a0e053c4c5158 Content-Type: application/octet-stream; name="RM1683.patch" Content-Disposition: attachment; filename="RM1683.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iszv1zqg0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9fX2luaXRfXy5weQpp bmRleCA3ODViYTMzLi4wZmJlZDFiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZnVuY3Rpb25zL19faW5pdF9fLnB5CkBAIC05MDYsMzQgKzkwNiwzNCBA QCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlcik6CiAgICAgICAgIHJlc3BfZGF0YSA9IHNlbGYuX2ZldGNoX3By b3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm5pZCkKICAgICAgICAg IyBGZXRjaCB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbi4KICAgICAgICAgYXJn cyA9IHUnJwotICAgICAgICBhcmdzX3dpdGhvdXRfbmFtZSA9IHUnJworICAg ICAgICBhcmdzX3dpdGhvdXRfbmFtZSA9IFtdCiAgICAgICAgIGNudCA9IDEK ICAgICAgICAgYXJnc19saXN0ID0gW10KKwogICAgICAgICBpZiAnYXJndW1l bnRzJyBpbiByZXNwX2RhdGEgYW5kIGxlbihyZXNwX2RhdGFbJ2FyZ3VtZW50 cyddKSA+IDA6CiAgICAgICAgICAgICBhcmdzX2xpc3QgPSByZXNwX2RhdGFb J2FyZ3VtZW50cyddCiAgICAgICAgICAgICByZXNwX2RhdGFbJ2FyZ3MnXSA9 IHJlc3BfZGF0YVsnYXJndW1lbnRzJ10KCiAgICAgICAgIGZvciBhIGluIGFy Z3NfbGlzdDoKICAgICAgICAgICAgIGlmICgoJ2FyZ21vZGUnIGluIGEgYW5k IGFbJ2FyZ21vZGUnXSAhPSAnT1VUJyBhbmQKLSAgICAgICAgICAgICAgICAg ICAgICAgICBhWydhcmdtb2RlJ10gaXMgbm90IE5vbmUKKyAgICAgICAgICAg ICAgICAgICAgYVsnYXJnbW9kZSddIGlzIG5vdCBOb25lCiAgICAgICAgICAg ICAgICAgICkgb3IgJ2FyZ21vZGUnIG5vdCBpbiBhKToKICAgICAgICAgICAg ICAgICBpZiAnYXJnbW9kZScgaW4gYToKICAgICAgICAgICAgICAgICAgICAg YXJncyArPSBhWydhcmdtb2RlJ10gKyAiICIKLSAgICAgICAgICAgICAgICAg ICAgYXJnc193aXRob3V0X25hbWUgKz0gYVsnYXJnbW9kZSddICsgIiAiCiAg ICAgICAgICAgICAgICAgaWYgJ2FyZ25hbWUnIGluIGEgYW5kIGFbJ2FyZ25h bWUnXSAhPSAnJyBcCiAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYVsn YXJnbmFtZSddIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICBh cmdzICs9IHNlbGYucXRJZGVudCgKICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuY29ubiwgYVsnYXJnbmFtZSddKSArICIgIgogICAgICAgICAgICAg ICAgIGlmICdhcmd0eXBlJyBpbiBhOgogICAgICAgICAgICAgICAgICAgICBh cmdzICs9IGFbJ2FyZ3R5cGUnXQotICAgICAgICAgICAgICAgICAgICBhcmdz X3dpdGhvdXRfbmFtZSArPSBhWydhcmd0eXBlJ10KKyAgICAgICAgICAgICAg ICAgICAgYXJnc193aXRob3V0X25hbWUuYXBwZW5kKGFbJ2FyZ3R5cGUnXSkK ICAgICAgICAgICAgICAgICBpZiBjbnQgPCBsZW4oYXJnc19saXN0KToKICAg ICAgICAgICAgICAgICAgICAgYXJncyArPSAnLCAnCi0gICAgICAgICAgICAg ICAgICAgIGFyZ3Nfd2l0aG91dF9uYW1lICs9ICcsICcKICAgICAgICAgICAg IGNudCArPSAxCgogICAgICAgICByZXNwX2RhdGFbJ2Z1bmNfYXJncyddID0g YXJncy5zdHJpcCgnICcpCi0gICAgICAgIHJlc3BfZGF0YVsnZnVuY19hcmdz X3dpdGhvdXQnXSA9IGFyZ3Nfd2l0aG91dF9uYW1lLnN0cmlwKCcgJykKKwor ICAgICAgICByZXNwX2RhdGFbJ2Z1bmNfYXJnc193aXRob3V0J10gPSAnLCAn LmpvaW4oYXJnc193aXRob3V0X25hbWUpCgogICAgICAgICBpZiBzZWxmLm5v ZGVfdHlwZSA9PSAncHJvY2VkdXJlJzoKICAgICAgICAgICAgIG9iamVjdF90 eXBlID0gJ3Byb2NlZHVyZScKQEAgLTExNTgsNyArMTE1OCw3IEBAIGNsYXNz IEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVy KToKICAgICAgICAgICAgICAgICBkYXRhWydhY2wnXSA9IHBhcnNlX3ByaXZf dG9fZGIoZGF0YVsnYWNsJ10sIFsiWCJdKQoKICAgICAgICAgICAgIGFyZ3Mg PSB1JycKLSAgICAgICAgICAgIGFyZ3Nfd2l0aG91dF9uYW1lID0gdScnCisg ICAgICAgICAgICBhcmdzX3dpdGhvdXRfbmFtZSA9IFtdCiAgICAgICAgICAg ICBjbnQgPSAxCiAgICAgICAgICAgICBhcmdzX2xpc3QgPSBbXQogICAgICAg ICAgICAgaWYgJ2FyZ3VtZW50cycgaW4gZGF0YSBhbmQgbGVuKGRhdGFbJ2Fy Z3VtZW50cyddKSA+IDA6CkBAIC0xMTcxLDI4ICsxMTcxLDI3IEBAIGNsYXNz IEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVy KToKICAgICAgICAgICAgICAgICAgICAgICkgb3IgJ2FyZ21vZGUnIG5vdCBp biBhKToKICAgICAgICAgICAgICAgICAgICAgaWYgJ2FyZ21vZGUnIGluIGE6 CiAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzICs9IGFbJ2FyZ21vZGUn XSArICIgIgotICAgICAgICAgICAgICAgICAgICAgICAgYXJnc193aXRob3V0 X25hbWUgKz0gYVsnYXJnbW9kZSddICsgIiAiCiAgICAgICAgICAgICAgICAg ICAgIGlmICdhcmduYW1lJyBpbiBhIGFuZCBhWydhcmduYW1lJ10gIT0gJycg XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhWydhcmduYW1l J10gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICBhcmdz ICs9IHNlbGYucXRJZGVudCgKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLmNvbm4sIGFbJ2FyZ25hbWUnXSkgKyAiICIKICAgICAgICAgICAg ICAgICAgICAgaWYgJ2FyZ3R5cGUnIGluIGE6CiAgICAgICAgICAgICAgICAg ICAgICAgICBhcmdzICs9IGFbJ2FyZ3R5cGUnXQotICAgICAgICAgICAgICAg ICAgICAgICAgYXJnc193aXRob3V0X25hbWUgKz0gYVsnYXJndHlwZSddCisg ICAgICAgICAgICAgICAgICAgICAgICBhcmdzX3dpdGhvdXRfbmFtZS5hcHBl bmQoYVsnYXJndHlwZSddKQogICAgICAgICAgICAgICAgICAgICBpZiBjbnQg PCBsZW4oYXJnc19saXN0KToKICAgICAgICAgICAgICAgICAgICAgICAgIGFy Z3MgKz0gJywgJwotICAgICAgICAgICAgICAgICAgICAgICAgYXJnc193aXRo b3V0X25hbWUgKz0gJywgJworICAgICAgICAgICAgICAgICAgICAgICAgYXJn c193aXRob3V0X25hbWUgKz0gJywnCiAgICAgICAgICAgICAgICAgY250ICs9 IDEKCiAgICAgICAgICAgICBkYXRhWydmdW5jX2FyZ3MnXSA9IGFyZ3Muc3Ry aXAoJyAnKQotICAgICAgICAgICAgZGF0YVsnZnVuY19hcmdzX3dpdGhvdXQn XSA9IGFyZ3Nfd2l0aG91dF9uYW1lLnN0cmlwKCcgJykKKworICAgICAgICAg ICAgZGF0YVsnZnVuY19hcmdzX3dpdGhvdXQnXSA9ICcsICcuam9pbihhcmdz X3dpdGhvdXRfbmFtZSkKICAgICAgICAgICAgICMgQ3JlYXRlIG1vZGUKICAg ICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2Vs Zi5zcWxfdGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ2NyZWF0ZS5zcWwnXSksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRhLCBpc19zcWw9 aXNfc3FsKQogICAgICAgICByZXR1cm4gVHJ1ZSwgU1FMLnN0cmlwKCdcbicp CgotCiAgICAgZGVmIF9mZXRjaF9wcm9wZXJ0aWVzKHNlbGYsIGdpZCwgc2lk LCBkaWQsIHNjaWQsIGZuaWQ9Tm9uZSk6CiAgICAgICAgICIiIgogICAgICAg ICBSZXR1cm4gRnVuY3Rpb24gUHJvcGVydGllcyB3aGljaCB3aWxsIGJlIHVz ZWQgaW4gcHJvcGVydGllcywK --001a11443350e99a0e053c4c5158 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a11443350e99a0e053c4c5158--