Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1a9sQg-0002vS-5V for pgadmin-hackers@arkaria.postgresql.org; Fri, 18 Dec 2015 10:38:30 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1a9sQf-0002yt-8q for pgadmin-hackers@arkaria.postgresql.org; Fri, 18 Dec 2015 10:38:29 +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) (envelope-from ) id 1a9rFL-0003pn-9G for pgadmin-hackers@postgresql.org; Fri, 18 Dec 2015 09:22:43 +0000 Received: from imp-m.ru ([93.174.79.86]) by magus.postgresql.org with esmtp (Exim 4.84) (envelope-from ) id 1a9rFG-0002d8-VK for pgadmin-hackers@postgresql.org; Fri, 18 Dec 2015 09:22:42 +0000 Received: by imp-m.ru (Postfix, from userid 80) id CD4C173F489A; Fri, 18 Dec 2015 12:22:37 +0300 (MSK) To: Dmitriy Olshevskiy Subject: Re: patch: fix to use =?UTF-8?Q?=60=60pg=5Fget?= =?UTF-8?Q?=5Ffunctiondef=28=29=60=60?= X-PHP-Originating-Script: 0:rcube.php MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_67fa5f4e2a3fd3002ae80daaf5a068dd" Date: Fri, 18 Dec 2015 12:22:37 +0300 From: Andrej Antonov Cc: pgadmin-hackers@postgresql.org In-Reply-To: References: <8214ef66e4cf3dc04bd99a0af601e5ab@imp-m.ru> <566D8914.2070507@bk.ru> Message-ID: <4241af2d7143ab303f4d3ad2a5a2dff7@imp-m.ru> X-Sender: antonov@imp-m.ru User-Agent: Roundcube Webmail/1.0.3 X-Pg-Spam-Score: -1.9 (-) 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 --=_67fa5f4e2a3fd3002ae80daaf5a068dd Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed small fix ( diff see here: https://github.com/postgres-impulsm/pgadmin3/commit/72f381aa1964d5630f3ada44768bc562911102e9 ) if we using ``pg_get_functiondef(func_oid)`` -- in this case -- no need to write additional ``ALTER FUNCTION ... = ... ;``. Andrej Antonov писал 2015-12-14 10:51: > thank you, Dmitriy. I agree -- this-fix should works better. > > I applyed this-fix to my local-git-branches ("REL-1_20_0-impulsm" and > "fix-to-use-pg_get_functiondef"). works good. > > Dmitriy Olshevskiy писал 2015-12-13 18:04: >> Hi, Andrej! >> Here is small fix of your patch - can you check it please? >> I think there must be wxwidgets function IsEmpty() instead of double >> negation, >> because type of the variable is wxstring. Also I added the Trim() >> function before >> check if function definition is empty or not. >> >> On 08.12.2015 11:50, Andrej Antonov wrote: >> >>> patch: fix to use ``pg_get_functiondef()`` [see attachment file] >>> >>> it is copy of pull-request >>> https://github.com/postgres/pgadmin3/pull/12 [1] >>> >>> thank you! >> >> -- >> Dmitriy Olshevskiy >> >> >> Links: >> ------ >> [1] https://github.com/postgres/pgadmin3/pull/12 -- Андрей Антонов, инженер-программист отдела информационных технологий и программирования, компания «Импульс М» --=_67fa5f4e2a3fd3002ae80daaf5a068dd Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-using-pg_get_functiondef__V3.patch Content-Disposition: attachment; filename=0001-using-pg_get_functiondef__V3.patch; size=6414 RnJvbSA5MzE3MGZiMmFjMTIxZGE2MGExMGU1MzU4NWJlZTE4MGJjMmRjNjUy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmVqIEFudG9u b3YgKGltcHVsc20ud29yaykiIDxhbnRvbm92QGltcC1tLnJ1PgpEYXRlOiBN b24sIDcgRGVjIDIwMTUgMTg6MjY6NTIgKzAzMDAKU3ViamVjdDogW1BBVENI XSB1c2luZyBgYHBnX2dldF9mdW5jdGlvbmRlZiguLilgYAoKLS0tCiBwZ2Fk bWluL2luY2x1ZGUvc2NoZW1hL3BnRnVuY3Rpb24uaCB8IDEwICsrKysrKy0K IHBnYWRtaW4vc2NoZW1hL3BnRnVuY3Rpb24uY3BwICAgICAgIHwgNTMgKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9wZ2FkbWluL2luY2x1ZGUvc2NoZW1hL3BnRnVuY3Rpb24u aCBiL3BnYWRtaW4vaW5jbHVkZS9zY2hlbWEvcGdGdW5jdGlvbi5oCmluZGV4 IDdjZDZmZmQuLmJjMzk4NjUgMTAwNjQ0Ci0tLSBhL3BnYWRtaW4vaW5jbHVk ZS9zY2hlbWEvcGdGdW5jdGlvbi5oCisrKyBiL3BnYWRtaW4vaW5jbHVkZS9z Y2hlbWEvcGdGdW5jdGlvbi5oCkBAIC0xMTgsNiArMTE4LDE0IEBAIHB1Ymxp YzoKIAl7CiAJCXNvdXJjZSA9IHM7CiAJfQorCXd4U3RyaW5nIEdldEZ1bmN0 aW9uRGVmQnlQZygpIGNvbnN0CisJeworCQlyZXR1cm4gZnVuY3Rpb25EZWZC eVBnOworCX0KKwl2b2lkIGlTZXRGdW5jdGlvbkRlZkJ5UGcoY29uc3Qgd3hT dHJpbmcgJnMpCisJeworCQlmdW5jdGlvbkRlZkJ5UGcgPSBzOworCX0KIAl3 eFN0cmluZyBHZXRCaW4oKSBjb25zdAogCXsKIAkJcmV0dXJuIGJpbjsKQEAg LTI1MSw3ICsyNTksNyBAQCBwcm90ZWN0ZWQ6CiAJcGdGdW5jdGlvbihwZ1Nj aGVtYSAqbmV3U2NoZW1hLCBpbnQgbmV3VHlwZSwgY29uc3Qgd3hTdHJpbmcg Jm5ld05hbWUgPSB3eFQoIiIpKTsKIAogcHJpdmF0ZToKLQl3eFN0cmluZyBy ZXR1cm5UeXBlLCBsYW5ndWFnZSwgdm9sYXRpbGl0eSwgc291cmNlLCBiaW47 CisJd3hTdHJpbmcgcmV0dXJuVHlwZSwgbGFuZ3VhZ2UsIHZvbGF0aWxpdHks IHNvdXJjZSwgZnVuY3Rpb25EZWZCeVBnLCBiaW47CiAJd3hBcnJheVN0cmlu ZyBhcmdOYW1lc0FycmF5LCBhcmdUeXBlc0FycmF5LCBhcmdNb2Rlc0FycmF5 LCBhcmdEZWZzQXJyYXk7CiAJYm9vbCByZXR1cm5Bc1NldCwgc2VjdXJlRGVm aW5lciwgaXNTdHJpY3QsIGlzV2luZG93LCBpc0xlYWtQcm9vZjsKIAlsb25n IGFyZ0NvdW50LCBjb3N0LCByb3dzLCBhcmdEZWZWYWxDb3VudCwgcHJvY1R5 cGU7CmRpZmYgLS1naXQgYS9wZ2FkbWluL3NjaGVtYS9wZ0Z1bmN0aW9uLmNw cCBiL3BnYWRtaW4vc2NoZW1hL3BnRnVuY3Rpb24uY3BwCmluZGV4IGJkMDM0 MmEuLjJhMzkwNzkgMTAwNjQ0Ci0tLSBhL3BnYWRtaW4vc2NoZW1hL3BnRnVu Y3Rpb24uY3BwCisrKyBiL3BnYWRtaW4vc2NoZW1hL3BnRnVuY3Rpb24uY3Bw CkBAIC0yODcsMTIgKzI4NywxOSBAQCB3eFN0cmluZyBwZ0Z1bmN0aW9uOjpH ZXRTcWwoY3RsVHJlZSAqYnJvd3NlcikKIAkJd3hTdHJpbmcgcXRTaWcgPSBH ZXRRdW90ZWRGdWxsSWRlbnRpZmllcigpICArIHd4VCgiKCIpICsgR2V0QXJn U2lnTGlzdCgpICsgd3hUKCIpIik7CiAKIAkJc3FsID0gd3hUKCItLSBGdW5j dGlvbjogIikgKyBxdFNpZyArIHd4VCgiXG5cbiIpCi0JCSAgICAgICsgd3hU KCItLSBEUk9QIEZVTkNUSU9OICIpICsgcXRTaWcgKyB3eFQoIjsiKQotCQkg ICAgICArIHd4VCgiXG5cbkNSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OICIp ICsgcXROYW1lOwotCi0JCS8vIFVzZSBPcmFjbGUgc3R5bGUgc3ludGF4IGZv ciBlZGItc3BsIGZ1bmN0aW9ucwotCQlpZiAoR2V0TGFuZ3VhZ2UoKSA9PSB3 eFQoImVkYnNwbCIpICYmIEdldFByb2NUeXBlKCkgPT0gMikKKwkJICAgICAg KyB3eFQoIi0tIERST1AgRlVOQ1RJT04gIikgKyBxdFNpZyArIHd4VCgiO1xu XG4iKTsKKwkJCisJCXd4U3RyaW5nIGZ1bmN0aW9uRGVmQnlQZ1RyaW0gPSBH ZXRGdW5jdGlvbkRlZkJ5UGcoKS5UcmltKCk7CisJCWlmICghZnVuY3Rpb25E ZWZCeVBnVHJpbS5Jc0VtcHR5KCkpCisJCXsKKwkJCXNxbCArPSBmdW5jdGlv bkRlZkJ5UGdUcmltOworCQl9CisJCWVsc2UgaWYgKEdldExhbmd1YWdlKCkg PT0gd3hUKCJlZGJzcGwiKSAmJiBHZXRQcm9jVHlwZSgpID09IDIpCiAJCXsK KwkJCXNxbCArPSB3eFQoIkNSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OICIp ICsgcXROYW1lOworCisJCQkvLyBVc2UgT3JhY2xlIHN0eWxlIHN5bnRheCBm b3IgZWRiLXNwbCBmdW5jdGlvbnMKKwogCQkJc3FsICs9IHd4VCgiXG5SRVRV Uk4gIik7CiAJCQlzcWwgKz0gR2V0UmV0dXJuVHlwZSgpOwogCkBAIC0zMDQs NiArMzExLDggQEAgd3hTdHJpbmcgcGdGdW5jdGlvbjo6R2V0U3FsKGN0bFRy ZWUgKmJyb3dzZXIpCiAJCX0KIAkJZWxzZQogCQl7CisJCQlzcWwgKz0gd3hU KCJDUkVBVEUgT1IgUkVQTEFDRSBGVU5DVElPTiAiKSArIHF0TmFtZTsKKwog CQkJc3FsICs9IHd4VCgiXG4gIFJFVFVSTlMgIik7CiAJCQlpZiAoR2V0UmV0 dXJuQXNTZXQoKSAmJiAhR2V0UmV0dXJuVHlwZSgpLlN0YXJ0c1dpdGgod3hU KCJUQUJMRSIpKSkKIAkJCQlzcWwgKz0gd3hUKCJTRVRPRiAiKTsKQEAgLTM0 NywxNiArMzU2LDE5IEBAIHd4U3RyaW5nIHBnRnVuY3Rpb246OkdldFNxbChj dGxUcmVlICpicm93c2VyKQogCQlpZiAoIXNxbC5TdHJpcCh3eFN0cmluZzo6 Ym90aCkuRW5kc1dpdGgod3hUKCI7IikpKQogCQkJc3FsICs9IHd4VCgiOyIp OwogCi0JCXNpemVfdCBpOwotCQlmb3IgKGkgPSAwIDsgaSA8IGNvbmZpZ0xp c3QuR2V0Q291bnQoKSA7IGkrKykKKwkJaWYgKGZ1bmN0aW9uRGVmQnlQZ1Ry aW0uSXNFbXB0eSgpKQogCQl7Ci0JCQlpZiAoY29uZmlnTGlzdC5JdGVtKGkp LkJlZm9yZUZpcnN0KCc9JykgIT0gd3hUKCJzZWFyY2hfcGF0aCIpICYmCi0J CQkgICAgICAgIGNvbmZpZ0xpc3QuSXRlbShpKS5CZWZvcmVGaXJzdCgnPScp ICE9IHd4VCgidGVtcF90YWJsZXNwYWNlcyIpKQotCQkJCXNxbCArPSB3eFQo IlxuQUxURVIgRlVOQ1RJT04gIikgKyBxdFNpZwotCQkJCSAgICAgICArIHd4 VCgiIFNFVCAiKSArIGNvbmZpZ0xpc3QuSXRlbShpKS5CZWZvcmVGaXJzdCgn PScpICsgd3hUKCI9JyIpICsgY29uZmlnTGlzdC5JdGVtKGkpLkFmdGVyRmly c3QoJz0nKSArIHd4VCgiJztcbiIpOwotCQkJZWxzZQotCQkJCXNxbCArPSB3 eFQoIlxuQUxURVIgRlVOQ1RJT04gIikgKyBxdFNpZwotCQkJCSAgICAgICAr IHd4VCgiIFNFVCAiKSArIGNvbmZpZ0xpc3QuSXRlbShpKS5CZWZvcmVGaXJz dCgnPScpICsgd3hUKCI9IikgKyBjb25maWdMaXN0Lkl0ZW0oaSkuQWZ0ZXJG aXJzdCgnPScpICsgd3hUKCI7XG4iKTsKKwkJCXNpemVfdCBpOworCQkJZm9y IChpID0gMCA7IGkgPCBjb25maWdMaXN0LkdldENvdW50KCkgOyBpKyspCisJ CQl7CisJCQkJaWYgKGNvbmZpZ0xpc3QuSXRlbShpKS5CZWZvcmVGaXJzdCgn PScpICE9IHd4VCgic2VhcmNoX3BhdGgiKSAmJgorCQkJCQljb25maWdMaXN0 Lkl0ZW0oaSkuQmVmb3JlRmlyc3QoJz0nKSAhPSB3eFQoInRlbXBfdGFibGVz cGFjZXMiKSkKKwkJCQkJc3FsICs9IHd4VCgiXG5BTFRFUiBGVU5DVElPTiAi KSArIHF0U2lnCisJCQkJCSAgICAgICArIHd4VCgiIFNFVCAiKSArIGNvbmZp Z0xpc3QuSXRlbShpKS5CZWZvcmVGaXJzdCgnPScpICsgd3hUKCI9JyIpICsg Y29uZmlnTGlzdC5JdGVtKGkpLkFmdGVyRmlyc3QoJz0nKSArIHd4VCgiJztc biIpOworCQkJCWVsc2UKKwkJCQkJc3FsICs9IHd4VCgiXG5BTFRFUiBGVU5D VElPTiAiKSArIHF0U2lnCisJCQkJCSAgICAgICArIHd4VCgiIFNFVCAiKSAr IGNvbmZpZ0xpc3QuSXRlbShpKS5CZWZvcmVGaXJzdCgnPScpICsgd3hUKCI9 IikgKyBjb25maWdMaXN0Lkl0ZW0oaSkuQWZ0ZXJGaXJzdCgnPScpICsgd3hU KCI7XG4iKTsKKwkJCX0KIAkJfQogCiAJCXNxbCArPSB3eFQoIlxuIikKQEAg LTY0Myw3ICs2NTUsNyBAQCBwZ0Z1bmN0aW9uICpwZ0Z1bmN0aW9uRmFjdG9y eTo6QXBwZW5kRnVuY3Rpb25zKHBnT2JqZWN0ICpvYmosIHBnU2NoZW1hICpz Y2hlbWEsCiAJY2FjaGVNYXAgdHlwZUNhY2hlLCBleHByQ2FjaGU7CiAKIAlw Z0Z1bmN0aW9uICpmdW5jdGlvbiA9IDA7Ci0Jd3hTdHJpbmcgYXJnTmFtZXND b2wsIGFyZ0RlZnNDb2wsIHByb0NvbmZpZ0NvbCwgcHJvVHlwZSwgc2VjbGFi OworCXd4U3RyaW5nIGFyZ05hbWVzQ29sLCBhcmdEZWZzQ29sLCBwcm9Db25m aWdDb2wsIHByb1R5cGUsIGZ1bmN0aW9uRGVmQnlQZ1NlbGVjdCwgc2VjbGFi OwogCWlmIChvYmotPkdldENvbm5lY3Rpb24oKS0+QmFja2VuZE1pbmltdW1W ZXJzaW9uKDgsIDApKQogCQlhcmdOYW1lc0NvbCA9IHd4VCgicHJvYXJnbmFt ZXMsICIpOwogCWlmIChvYmotPkdldENvbm5lY3Rpb24oKS0+SGFzRmVhdHVy ZShGRUFUVVJFX0ZVTkNUSU9OX0RFRkFVTFRTKSAmJiAhb2JqLT5HZXRDb25u ZWN0aW9uKCktPkJhY2tlbmRNaW5pbXVtVmVyc2lvbig4LCA0KSkKQEAgLTY1 NCw2ICs2NjYsMTEgQEAgcGdGdW5jdGlvbiAqcGdGdW5jdGlvbkZhY3Rvcnk6 OkFwcGVuZEZ1bmN0aW9ucyhwZ09iamVjdCAqb2JqLCBwZ1NjaGVtYSAqc2No ZW1hLAogCQlwcm9Db25maWdDb2wgPSB3eFQoInByb2NvbmZpZywgIik7CiAJ aWYgKG9iai0+R2V0Q29ubmVjdGlvbigpLT5FZGJNaW5pbXVtVmVyc2lvbig4 LCAxKSkKIAkJcHJvVHlwZSA9IHd4VCgicHJvdHlwZSwgIik7CisJaWYgKG9i ai0+R2V0Q29ubmVjdGlvbigpLT5CYWNrZW5kTWluaW11bVZlcnNpb24oOCwg NCkpCisJeworCQlmdW5jdGlvbkRlZkJ5UGdTZWxlY3QgPSB3eFQoIixcbiIp CisJCSAgICAgICAgIHd4VCgicGdfZ2V0X2Z1bmN0aW9uZGVmKHByLm9pZCkg QVMgZnVuY3Rpb25fZGVmX2J5X3BnIik7CisJfQogCWlmIChvYmotPkdldENv bm5lY3Rpb24oKS0+QmFja2VuZE1pbmltdW1WZXJzaW9uKDksIDEpKQogCXsK IAkJc2VjbGFiID0gd3hUKCIsXG4iKQpAQCAtNjY0LDcgKzY4MSw3IEBAIHBn RnVuY3Rpb24gKnBnRnVuY3Rpb25GYWN0b3J5OjpBcHBlbmRGdW5jdGlvbnMo cGdPYmplY3QgKm9iaiwgcGdTY2hlbWEgKnNjaGVtYSwKIAlwZ1NldCAqZnVu Y3Rpb25zID0gb2JqLT5HZXREYXRhYmFzZSgpLT5FeGVjdXRlU2V0KAogCSAg ICAgICAgICAgICAgICAgICAgICAgd3hUKCJTRUxFQ1QgcHIub2lkLCBwci54 bWluLCBwci4qLCBmb3JtYXRfdHlwZShUWVAub2lkLCBOVUxMKSBBUyB0eXBu YW1lLCB0eXBucy5uc3BuYW1lIEFTIHR5cG5zcCwgbGFubmFtZSwgIikgKwog CSAgICAgICAgICAgICAgICAgICAgICAgYXJnTmFtZXNDb2wgICsgYXJnRGVm c0NvbCArIHByb0NvbmZpZ0NvbCArIHByb1R5cGUgKwotCSAgICAgICAgICAg ICAgICAgICAgICAgd3hUKCIgICAgICAgcGdfZ2V0X3VzZXJieWlkKHByb293 bmVyKSBhcyBmdW5jb3duZXIsIGRlc2NyaXB0aW9uIikgKyBzZWNsYWIgKyB3 eFQoIlxuIikKKwkgICAgICAgICAgICAgICAgICAgICAgIHd4VCgiICAgICAg IHBnX2dldF91c2VyYnlpZChwcm9vd25lcikgYXMgZnVuY293bmVyLCBkZXNj cmlwdGlvbiIpICsgZnVuY3Rpb25EZWZCeVBnU2VsZWN0ICsgc2VjbGFiICsg d3hUKCJcbiIpCiAJICAgICAgICAgICAgICAgICAgICAgICB3eFQoIiAgRlJP TSBwZ19wcm9jIHByXG4iKQogCSAgICAgICAgICAgICAgICAgICAgICAgd3hU KCIgIEpPSU4gcGdfdHlwZSB0eXAgT04gdHlwLm9pZD1wcm9yZXR0eXBlXG4i KQogCSAgICAgICAgICAgICAgICAgICAgICAgd3hUKCIgIEpPSU4gcGdfbmFt ZXNwYWNlIHR5cG5zIE9OIHR5cG5zLm9pZD10eXAudHlwbmFtZXNwYWNlXG4i KQpAQCAtOTQ4LDYgKzk2NSwxMCBAQCBwZ0Z1bmN0aW9uICpwZ0Z1bmN0aW9u RmFjdG9yeTo6QXBwZW5kRnVuY3Rpb25zKHBnT2JqZWN0ICpvYmosIHBnU2No ZW1hICpzY2hlbWEsCiAJCQlmdW5jdGlvbi0+aVNldFJldHVybkFzU2V0KGZ1 bmN0aW9ucy0+R2V0Qm9vbCh3eFQoInByb3JldHNldCIpKSk7CiAJCQlmdW5j dGlvbi0+aVNldElzU3RyaWN0KGZ1bmN0aW9ucy0+R2V0Qm9vbCh3eFQoInBy b2lzc3RyaWN0IikpKTsKIAkJCWZ1bmN0aW9uLT5pU2V0U291cmNlKGZ1bmN0 aW9ucy0+R2V0VmFsKHd4VCgicHJvc3JjIikpKTsKKwkJCWlmICghZnVuY3Rp b25EZWZCeVBnU2VsZWN0LklzRW1wdHkoKSkKKwkJCXsKKwkJCQlmdW5jdGlv bi0+aVNldEZ1bmN0aW9uRGVmQnlQZyhmdW5jdGlvbnMtPkdldFZhbCh3eFQo ImZ1bmN0aW9uX2RlZl9ieV9wZyIpKSk7CisJCQl9CiAJCQlmdW5jdGlvbi0+ aVNldEJpbihmdW5jdGlvbnMtPkdldFZhbCh3eFQoInByb2JpbiIpKSk7CiAK IAkJCXd4U3RyaW5nIHZvbCA9IGZ1bmN0aW9ucy0+R2V0VmFsKHd4VCgicHJv dm9sYXRpbGUiKSk7Ci0tIAoyLjYuNAoK --=_67fa5f4e2a3fd3002ae80daaf5a068dd 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 --=_67fa5f4e2a3fd3002ae80daaf5a068dd--