Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kF9x1-0007M2-G3 for pgadmin-hackers@arkaria.postgresql.org; Mon, 07 Sep 2020 05:44:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kF9x0-0004IK-B8 for pgadmin-hackers@arkaria.postgresql.org; Mon, 07 Sep 2020 05:44:22 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kF9wz-0004ID-WE for pgadmin-hackers@lists.postgresql.org; Mon, 07 Sep 2020 05:44:22 +0000 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kF9ww-0003Fx-Gp for pgadmin-hackers@postgresql.org; Mon, 07 Sep 2020 05:44:21 +0000 Received: by mail-ed1-x535.google.com with SMTP id w1so11527252edr.3 for ; Sun, 06 Sep 2020 22:44:17 -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=dTRUEwr5+nBGJsW6dwB1W8rcBNJIQ38WcP6cuje8vWE=; b=W9MXQzGgtcKUr33nrx457vQ9RobcIkuO7Tz93LMn/wb22k/qAdZ7EK983swrs8/chk p5e+9qA6HeKQlClgvM6qebMBsMup6DKxdW+j40+sGXpYKYq3lEnoSsdnoktnJxSgqqwC 57H4wKsLzz3DI4edqAr/rxPWhiAsE1BGCnGgAl5QEIwH3agpgC6VvHaojs6O/C+zeB3M obGfqOMiPlUBbPX6LlAsWtWK87GyFfKatJXArrOilLGFZFVQb5ut6Hf43OoOHeP0a4Wq G+GB1raNDnuBYpEdaytyphCnDOFMFEfooJUwl3cgFS2N6VFWMXsxKRigDnndKudYz8Hm UbBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=dTRUEwr5+nBGJsW6dwB1W8rcBNJIQ38WcP6cuje8vWE=; b=aiPX0r/WmztCSdgTjdSNz74vatA5mJ602zYyuARI5ws+O/rJbTzvSxDUK2vFprrT+w T8OmEcMEGK6IsgcQeNLwuz59+90vU0SI6Hnhjvk5hsbtUNuBb9qxQZcN967gUMOKTSOk oY8JVITFoDma+7FJdjoDLjvQg+Jd0Q9qkIZqGVfvNjUVOWUFoTj8uMfbeZ0IqCXgpIuV 0yHhkIEaSgxTQ+wYSGVBQPcMg5eFmRVsdyYqeCSjyhSf88TFniEQtC6rkUBS9IODp5Kd F7ic0pKV91tmpG/psiBu33HGcmPptCc+cCp0tfCJfWMRlH+RHCyoiTISCyX3Ay4OykiV vmWw== X-Gm-Message-State: AOAM532viptO3Zs5bCKv2rKQyi+IWzEe2Eqz/wT/RZGk54hFvToYLt8c 8zKFpMxov8dK4QtlKig22dJjPrtuRgabzCwO/OQ2v0a8xZ30SOfVk/gqYsK6XLkrjdBDokDO/Tu DWme74yl25MTT7eXvdrpsTuEyZ/LyhaiFAPNu60rZWV69bToRa9kOGu9GhSxHZ22oGqGo3p1Nd1 Pm5+iPypIM9KvjLZwsT80PU1/Pm4OBS8paU1BPUCrF/Z33HpWKVL/JP09HB85BNlwwIA== X-Google-Smtp-Source: ABdhPJzrPhmFBR5jF0dhUAb8+qIStfEZsRvowr6UbVD1rAB25LaDurRX7jBOL/18jV0obaWCzXxS6I0V9BkLXdsxm+Y= X-Received: by 2002:aa7:d29a:: with SMTP id w26mr19749855edq.106.1599457456221; Sun, 06 Sep 2020 22:44:16 -0700 (PDT) MIME-Version: 1.0 From: Aditya Toshniwal Date: Mon, 7 Sep 2020 11:13:39 +0530 Message-ID: Subject: [pgAdmin][RM5765] Invalid markup for viewing table with field named "constructor" To: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000008315bc05aeb2b5e4" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000008315bc05aeb2b5e4 Content-Type: multipart/alternative; boundary="0000000000008315bb05aeb2b5e2" --0000000000008315bb05aeb2b5e2 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to handle issues in the query tool when columns are having names same as JS object internal functions like constructor, hasOwnProperty, etc. Please review. -- Thanks, Aditya Toshniwal pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* "Don't Complain about Heat, Plant a TREE" --0000000000008315bb05aeb2b5e2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to handle issues in the = query tool when columns are having names same as JS object internal functio= ns like constructor, hasOwnProperty, etc.

Please review.
--
Thanks,
<= span style=3D"color:rgb(18,22,70)">Aditya = Toshniwal
pgAdmin hacker=C2=A0| Sr. Software Engine= er | edbpostgres.com
--0000000000008315bb05aeb2b5e2-- --0000000000008315bc05aeb2b5e4 Content-Type: application/octet-stream; name="RM5765.patch" Content-Disposition: attachment; filename="RM5765.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kes3nagv0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9pc19uYXRpdmUuanMgYi93ZWIvcGdh ZG1pbi9zdGF0aWMvanMvaXNfbmF0aXZlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uM2FkYzUxNmNhCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGlj L2pzL2lzX25hdGl2ZS5qcwpAQCAtMCwwICsxLDQyIEBACisvKiBDb2RlIHRvIGNoZWNrIGlmIHRo ZSBvYmplY3Qgb3IgZnVuY3Rpb24gaXMgbmF0aXZlIEpTCisgKiBBdXRob3I6IEpvaG4tRGF2aWQg RGFsdG9uCisgKi8KKyhmdW5jdGlvbigpIHsKKworICAvLyBVc2VkIHRvIHJlc29sdmUgdGhlIGlu dGVybmFsIGBbW0NsYXNzXV1gIG9mIHZhbHVlcworICB2YXIgdG9TdHJpbmcgPSBPYmplY3QucHJv dG90eXBlLnRvU3RyaW5nOworCisgIC8vIFVzZWQgdG8gcmVzb2x2ZSB0aGUgZGVjb21waWxlZCBz b3VyY2Ugb2YgZnVuY3Rpb25zCisgIHZhciBmblRvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBl LnRvU3RyaW5nOworCisgIC8vIFVzZWQgdG8gZGV0ZWN0IGhvc3QgY29uc3RydWN0b3JzIChTYWZh cmkgPiA0OyByZWFsbHkgdHlwZWQgYXJyYXkgc3BlY2lmaWMpCisgIHZhciByZUhvc3RDdG9yID0g L15cW29iamVjdCAuKz9Db25zdHJ1Y3RvclxdJC87CisKKyAgLy8gQ29tcGlsZSBhIHJlZ2V4cCB1 c2luZyBhIGNvbW1vbiBuYXRpdmUgbWV0aG9kIGFzIGEgdGVtcGxhdGUuCisgIC8vIFdlIGNob3Nl IGBPYmplY3QjdG9TdHJpbmdgIGJlY2F1c2UgdGhlcmUncyBhIGdvb2QgY2hhbmNlIGl0IGlzIG5v dCBiZWluZyBtdWNrZWQgd2l0aC4KKyAgdmFyIHJlTmF0aXZlID0gUmVnRXhwKCdeJyArCisgICAg Ly8gQ29lcmNlIGBPYmplY3QjdG9TdHJpbmdgIHRvIGEgc3RyaW5nCisgICAgU3RyaW5nKHRvU3Ry aW5nKQorICAgIC8vIEVzY2FwZSBhbnkgc3BlY2lhbCByZWdleHAgY2hhcmFjdGVycworICAgICAg LnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVwvXFxdL2csICdcXCQmJykKKyAgICAvLyBSZXBsYWNl IG1lbnRpb25zIG9mIGB0b1N0cmluZ2Agd2l0aCBgLio/YCB0byBrZWVwIHRoZSB0ZW1wbGF0ZSBn ZW5lcmljLgorICAgIC8vIFJlcGxhY2UgdGhpbmcgbGlrZSBgZm9yIC4uLmAgdG8gc3VwcG9ydCBl bnZpcm9ubWVudHMgbGlrZSBSaGlubyB3aGljaCBhZGQgZXh0cmEgaW5mbworICAgIC8vIHN1Y2gg YXMgbWV0aG9kIGFyaXR5LgorICAgICAgLnJlcGxhY2UoL3RvU3RyaW5nfChmdW5jdGlvbikuKj8o Pz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csICckMS4qPycpICsgJyQnCisgICk7CisKKyAgZnVu Y3Rpb24gaXNOYXRpdmUodmFsdWUpIHsKKyAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTsKKyAg ICByZXR1cm4gdHlwZSA9PSAnZnVuY3Rpb24nCisgICAgICAvLyBVc2UgYEZ1bmN0aW9uI3RvU3Ry aW5nYCB0byBieXBhc3MgdGhlIHZhbHVlJ3Mgb3duIGB0b1N0cmluZ2AgbWV0aG9kCisgICAgICAv LyBhbmQgYXZvaWQgYmVpbmcgZmFrZWQgb3V0LgorICAgICAgPyByZU5hdGl2ZS50ZXN0KGZuVG9T dHJpbmcuY2FsbCh2YWx1ZSkpCisgICAgICAvLyBGYWxsYmFjayB0byBhIGhvc3Qgb2JqZWN0IGNo ZWNrIGJlY2F1c2Ugc29tZSBlbnZpcm9ubWVudHMgd2lsbCByZXByZXNlbnQKKyAgICAgIC8vIHRo aW5ncyBsaWtlIHR5cGVkIGFycmF5cyBhcyBET00gbWV0aG9kcyB3aGljaCBtYXkgbm90IGNvbmZv cm0gdG8gdGhlCisgICAgICAvLyBub3JtYWwgbmF0aXZlIHBhdHRlcm4uCisgICAgICA6ICh2YWx1 ZSAmJiB0eXBlID09ICdvYmplY3QnICYmIHJlSG9zdEN0b3IudGVzdCh0b1N0cmluZy5jYWxsKHZh bHVlKSkpIHx8IGZhbHNlOworICB9CisKKyAgLy8gZXhwb3J0IGhvd2V2ZXIgeW91IHdhbnQKKyAg bW9kdWxlLmV4cG9ydHMgPSBpc05hdGl2ZTsKK30oKSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCmluZGV4IGEwNzI0ZmY5ZS4uYzE5 Y2ZjZGEwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pz L3NxbGVkaXRvci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pz L3NxbGVkaXRvci5qcwpAQCAtNDAsNiArNDAsNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcs IFsKICAgJ3NvdXJjZXMvY3NyZicsCiAgICd0b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZGF0YWdy aWRfcGFuZWxfdGl0bGUnLAogICAnc291cmNlcy93aW5kb3cnLAorICAnc291cmNlcy9pc19uYXRp dmUnLAogICAnc291cmNlcy8uLi9idW5kbGUvc2xpY2tncmlkJywKICAgJ3BnYWRtaW4uZmlsZV9t YW5hZ2VyJywKICAgJ3NsaWNrLnBnYWRtaW4uZm9ybWF0dGVycycsCkBAIC01NCw3ICs1NSw3IEBA IGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICBHZW9tZXRyeVZpZXdlciwgaGlzdG9yeUNv bGwsIHF1ZXJ5SGlzdCwgcXVlcnlTb3VyY2VzLAogICBrZXlib2FyZFNob3J0Y3V0cywgcXVlcnlU b29sQWN0aW9ucywgcXVlcnlUb29sTm90aWZpY2F0aW9ucywgRGF0YWdyaWQsCiAgIG1vZGlmeUFu aW1hdGlvbiwgY2FsY3VsYXRlUXVlcnlSdW5UaW1lLCBjYWxsUmVuZGVyQWZ0ZXJQb2xsLCBxdWVy eVRvb2xQcmVmLCBxdWVyeVR4blN0YXR1cywgY3NyZlRva2VuLCBwYW5lbFRpdGxlRnVuYywKLSAg cGdXaW5kb3cpIHsKKyAgcGdXaW5kb3csIGlzTmF0aXZlKSB7CiAgIC8qIFJldHVybiBiYWNrLCB0 aGlzIGhhcyBiZWVuIGNhbGxlZCBtb3JlIHRoYW4gb25jZSAqLwogICBpZiAocGdBZG1pbi5TcWxF ZGl0b3IpCiAgICAgcmV0dXJuIHBnQWRtaW4uU3FsRWRpdG9yOwpAQCAtNzg5LDEwICs3OTAsMTQg QEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAgICAgIGMuZGlzcGxheV9uYW1lID0g Xy5lc2NhcGUoYy5kaXNwbGF5X25hbWUpOwogICAgICAgICBjLmNvbHVtbl90eXBlID0gXy5lc2Nh cGUoYy5jb2x1bW5fdHlwZSk7CiAKKyAgICAgICAgLy8gSWYgdGhlIGtleXMgaGF2ZSBuYW1lIGZy b20gZXhpc3RpbmcgSlMga2V5d29yZHMgdGhlbiBpdCBtYXkKKyAgICAgICAgLy8gY3JlYXRlIHBy b2JsZW0uIGVnIC0gY29udHJ1Y3RvciwgaGFzT3duUHJvcGVydHkuCisgICAgICAgIC8vIG5vbmF0 aXZlX2ZpZWxkIGlzIGZpZWxkIHdpdGggZXh0cmEgZG91YmxlIHF1b3RlcwogICAgICAgICB2YXIg b3B0aW9ucyA9IHsKICAgICAgICAgICBpZDogIF8uZXNjYXBlKGMubmFtZSksCiAgICAgICAgICAg cG9zOiBjLnBvcywKICAgICAgICAgICBmaWVsZDogYy5uYW1lLAorICAgICAgICAgIG5vbmF0aXZl X2ZpZWxkOiBgIiR7Yy5uYW1lfSJgLAogICAgICAgICAgIG5hbWU6IGMubGFiZWwsCiAgICAgICAg ICAgZGlzcGxheV9uYW1lOiBjLmRpc3BsYXlfbmFtZSwKICAgICAgICAgICBjb2x1bW5fdHlwZTog Yy5jb2x1bW5fdHlwZSwKQEAgLTgwOSwxMSArODE0LDExIEBAIGRlZmluZSgndG9vbHMucXVlcnl0 b29sJywgWwogICAgICAgICB2YXIgY29sdW1uX3R5cGUgPSBjLmNvbHVtbl90eXBlLnRyaW0oKTsK ICAgICAgICAgdmFyIGxhYmVsID0gYy5uYW1lLmxlbmd0aCA+IGNvbHVtbl90eXBlLmxlbmd0aCA/ IF8uZXNjYXBlKGMuZGlzcGxheV9uYW1lKSA6IGNvbHVtbl90eXBlOwogCi0gICAgICAgIGlmIChf LmlzVW5kZWZpbmVkKGNvbHVtbl9zaXplW3RhYmxlX25hbWVdW2MubmFtZV0pKSB7CisgICAgICAg IGlmIChfLmlzVW5kZWZpbmVkKGNvbHVtbl9zaXplW3RhYmxlX25hbWVdW29wdGlvbnMubm9uYXRp dmVfZmllbGRdKSkgewogICAgICAgICAgIG9wdGlvbnNbJ3dpZHRoJ10gPSBTcWxFZGl0b3JVdGls cy5jYWxjdWxhdGVDb2x1bW5XaWR0aChsYWJlbCk7Ci0gICAgICAgICAgY29sdW1uX3NpemVbdGFi bGVfbmFtZV1bYy5uYW1lXSA9IG9wdGlvbnNbJ3dpZHRoJ107CisgICAgICAgICAgY29sdW1uX3Np emVbdGFibGVfbmFtZV1bYy5ub25hdGl2ZV9maWVsZF0gPSBvcHRpb25zWyd3aWR0aCddOwogICAg ICAgICB9IGVsc2UgewotICAgICAgICAgIG9wdGlvbnNbJ3dpZHRoJ10gPSBjb2x1bW5fc2l6ZVt0 YWJsZV9uYW1lXVtjLm5hbWVdOworICAgICAgICAgIG9wdGlvbnNbJ3dpZHRoJ10gPSBjb2x1bW5f c2l6ZVt0YWJsZV9uYW1lXVtvcHRpb25zLm5vbmF0aXZlX2ZpZWxkXTsKICAgICAgICAgfQogICAg ICAgICAvLyBJZiBncmlkIGlzIGVkaXRhYmxlIHRoZW4gYWRkIGVkaXRvciBlbHNlIG1ha2UgaXQg cmVhZG9ubHkKICAgICAgICAgaWYgKGMuY2VsbCA9PSAnb2lkJyAmJiBjLm5hbWUgPT0gJ29pZCcp IHsKQEAgLTk5OSw3ICsxMDA0LDcgQEAgZGVmaW5lKCd0b29scy5xdWVyeXRvb2wnLCBbCiAgICAg ICAgIHZhciBjb2xzID0gdGhpcy5nZXRDb2x1bW5zKCk7CiAgICAgICAgIF8uZWFjaChjb2xzLCBm dW5jdGlvbihjb2wpIHsKICAgICAgICAgICB2YXIgY29sX3NpemUgPSBzZWxmLmhhbmRsZXJbJ2Nv bF9zaXplJ107Ci0gICAgICAgICAgY29sX3NpemVbc2VsZi5oYW5kbGVyWyd0YWJsZV9uYW1lJ11d W2NvbFsnaWQnXV0gPSBjb2xbJ3dpZHRoJ107CisgICAgICAgICAgY29sX3NpemVbc2VsZi5oYW5k bGVyWyd0YWJsZV9uYW1lJ11dW2NvbFsnbm9uYXRpdmVfZmllbGQnXV0gPSBjb2xbJ3dpZHRoJ107 CiAgICAgICAgIH0pOwogICAgICAgfS5iaW5kKGdyaWQpKTsKIApAQCAtMTE5MSw2ICsxMTk2LDEz IEBAIGRlZmluZSgndG9vbHMucXVlcnl0b29sJywgWwogICAgICAgICAgIGl0ZW1fY3VycmVudFtz ZWxmLmNsaWVudF9wcmltYXJ5X2tleV0gPSBfa2V5OwogICAgICAgICB9CiAKKyAgICAgICAgLy8g V2hlbiBhZGRpbmcgbmV3IHJvd3MsIG1hcmsgYWxsIG5hdGl2ZSBKUyBrZXl3b3JkcyB1bmRlZmlu ZWQgaWYgbm90IGFscmVhZHkgc2V0CisgICAgICAgIF8uZWFjaChhcmdzLmdyaWQuZ2V0Q29sdW1u cygpLCBmdW5jdGlvbihjb2wpeworICAgICAgICAgIGlmKGlzTmF0aXZlKGl0ZW1fY3VycmVudFtj b2wuZmllbGRdKSkgeworICAgICAgICAgICAgaXRlbV9jdXJyZW50W2NvbC5maWVsZF0gPSB1bmRl ZmluZWQ7CisgICAgICAgICAgfQorICAgICAgICB9KTsKKwogICAgICAgICBkYXRhX3ZpZXcuYWRk SXRlbShpdGVtX2N1cnJlbnQpOwogICAgICAgICBzZWxmLmhhbmRsZXIuZGF0YV9zdG9yZS5hZGRl ZFtfa2V5XSA9IHsKICAgICAgICAgICAnZXJyJzogZmFsc2UsCg== --0000000000008315bc05aeb2b5e4--