Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtE16-0004h2-ID for pgsql-hackers@arkaria.postgresql.org; Sat, 16 Sep 2017 14:24:20 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dtE15-00025R-TJ for pgsql-hackers@arkaria.postgresql.org; Sat, 16 Sep 2017 14:24:19 +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 1dtE0w-0001aV-31 for pgsql-hackers@postgresql.org; Sat, 16 Sep 2017 14:24:10 +0000 Received: from mahout.postgresql.org ([2001:4800:1501:1::227]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dtE0s-0003PS-RC for pgsql-hackers@postgresql.org; Sat, 16 Sep 2017 14:24:09 +0000 Received: from coridan.postgresql.org ([2001:4800:1501:1::213]) by mahout.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dtE0o-0004tu-TA for pgsql-hackers@postgresql.org; Sat, 16 Sep 2017 14:24:02 +0000 Received: from localhost ([127.0.0.1] helo=coridan.postgresql.org) by coridan.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtE0o-0007Vm-Ax for pgsql-hackers@postgresql.org; Sat, 16 Sep 2017 14:24:02 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Re: Variable substitution in psql backtick expansion To: pgsql-hackers@postgresql.org From: Gerdan Santos Cc: Fabien Coelho Date: Sat, 16 Sep 2017 14:23:10 +0000 User-Agent: pgcommitfest X-cfsender: gerdan In-Reply-To: References: <9561.1490895211@sss.pgh.pa.us> Message-ID: <20170916142310.1354.94477.pgcf@coridan.postgresql.org> List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org VGhlIGZvbGxvd2luZyByZXZpZXcgaGFzIGJlZW4gcG9zdGVkIHRocm91Z2gg dGhlIGNvbW1pdGZlc3QgYXBwbGljYXRpb246Cm1ha2UgaW5zdGFsbGNoZWNr LXdvcmxkOiAgbm90IHRlc3RlZApJbXBsZW1lbnRzIGZlYXR1cmU6ICAgICAg IG5vdCB0ZXN0ZWQKU3BlYyBjb21wbGlhbnQ6ICAgICAgICAgICBub3QgdGVz dGVkCkRvY3VtZW50YXRpb246ICAgICAgICAgICAgdGVzdGVkLCBwYXNzZWQK CldoZW4gaSB0cnkgYXBwbHkgdGhpcyBwYXRjaCBoZSBmYWlsZWQgd2l0aCBh IGZvbGxvd2luZyBtZXNzZW5nZXI6DQoNCkZpbGUgdG8gcGF0Y2g6IC9zcmMv cG9zdGdyZXNxbC9zcmMvYmluL3BzcWwvY29tbWFuZC5jDQpwYXRjaGluZyBm aWxlIC9zcmMvcG9zdGdyZXNxbC9zcmMvYmluL3BzcWwvY29tbWFuZC5jDQpS ZXZlcnNlZCAob3IgcHJldmlvdXNseSBhcHBsaWVkKSBwYXRjaCBkZXRlY3Rl ZCEgIEFzc3VtZSAtUj8gW25dIHkNCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDMy MDkgKG9mZnNldCAtMTI4IGxpbmVzKS4NCkh1bmsgIzIgRkFJTEVEIGF0IDMz NDguDQpIdW5rICMzIHN1Y2NlZWRlZCBhdCAzMjUyIChvZmZzZXQgLTEyOCBs aW5lcykuDQoxIG91dCBvZiAzIGh1bmtzIEZBSUxFRCAtLSBzYXZpbmcgcmVq ZWN0cyB0byBmaWxlIC9zcmMvcG9zdGdyZXNxbC9zcmMvYmluL3BzcWwvY29t bWFuZC5jLnJlag0KKFN0cmlwcGluZyB0cmFpbGluZyBDUnMgZnJvbSBwYXRj aDsgdXNlIC0tYmluYXJ5IHRvIGRpc2FibGUuKQ0KY2FuJ3QgZmluZCBmaWxl IHRvIHBhdGNoIGF0IGlucHV0IGxpbmUgOTENClBlcmhhcHMgeW91IHNob3Vs ZCBoYXZlIHVzZWQgdGhlIC1wIG9yIC0tc3RyaXAgb3B0aW9uPw0KVGhlIHRl eHQgbGVhZGluZyB1cCB0byB0aGlzIHdhczoNCg0KDQoNCnBvc3RncmVzQHBn ZGV2Oi9zcmMvcG9zdGdyZXNxbC9zcmMvYmluL3BzcWwkIGNhdCAvc3JjL3Bv c3RncmVzcWwvc3JjL2Jpbi9wc3FsL2NvbW1hbmQuYy5yZWoNCi0tLSBjb21t YW5kLmMNCisrKyBjb21tYW5kLmMNCkBAIC0zMzQ4LDIwICszMzQ1LDYgQEAg U3luY1ZhcmlhYmxlcyh2b2lkKQ0KIAlTZXRWYXJpYWJsZShwc2V0LnZhcnMs ICJQT1JUIiwgUFFwb3J0KHBzZXQuZGIpKTsNCiAJU2V0VmFyaWFibGUocHNl dC52YXJzLCAiRU5DT0RJTkciLCBwZ19lbmNvZGluZ190b19jaGFyKHBzZXQu ZW5jb2RpbmcpKTsNCiANCi0JLyogdGhpcyBiaXQgc2hvdWxkIG1hdGNoIGNv bm5lY3Rpb25fd2FybmluZ3MoKTogKi8NCi0JLyogVHJ5IHRvIGdldCBmdWxs IHRleHQgZm9ybSBvZiB2ZXJzaW9uLCBtaWdodCBpbmNsdWRlICJkZXZlbCIg ZXRjICovDQotCXNlcnZlcl92ZXJzaW9uID0gUFFwYXJhbWV0ZXJTdGF0dXMo cHNldC5kYiwgInNlcnZlcl92ZXJzaW9uIik7DQotCS8qIE90aGVyd2lzZSBm YWxsIGJhY2sgb24gcHNldC5zdmVyc2lvbiBmb3Igc2VydmVycyBwcmlvciA3 LjQgKi8NCi0JaWYgKCFzZXJ2ZXJfdmVyc2lvbikNCi0Jew0KLQkJZm9ybWF0 UEdWZXJzaW9uTnVtYmVyKHBzZXQuc3ZlcnNpb24sIHRydWUsIHZidWYsIHNp emVvZih2YnVmKSk7DQotCQlzZXJ2ZXJfdmVyc2lvbiA9IHZidWY7DQotCX0N Ci0JU2V0VmFyaWFibGUocHNldC52YXJzLCAiU0VSVkVSX1ZFUlNJT05fTkFN RSIsIHNlcnZlcl92ZXJzaW9uKTsNCi0NCi0Jc25wcmludGYodmJ1Ziwgc2l6 ZW9mKHZidWYpLCAiJWQiLCBwc2V0LnN2ZXJzaW9uKTsNCi0JU2V0VmFyaWFi bGUocHNldC52YXJzLCAiU0VSVkVSX1ZFUlNJT05fTlVNIiwgdmJ1Zik7DQot DQogCS8qIHNlbmQgc3R1ZmYgdG8gaXQsIHRvbyAqLw0KIAlQUXNldEVycm9y VmVyYm9zaXR5KHBzZXQuZGIsIHBzZXQudmVyYm9zaXR5KTsNCiAJUFFzZXRF cnJvckNvbnRleHRWaXNpYmlsaXR5KHBzZXQuZGIsIHBzZXQuc2hvd19jb250 ZXh0KTsNCgotLSAKU2VudCB2aWEgcGdzcWwtaGFja2VycyBtYWlsaW5nIGxp c3QgKHBnc3FsLWhhY2tlcnNAcG9zdGdyZXNxbC5vcmcpClRvIG1ha2UgY2hh bmdlcyB0byB5b3VyIHN1YnNjcmlwdGlvbjoKaHR0cDovL3d3dy5wb3N0Z3Jl c3FsLm9yZy9tYWlscHJlZi9wZ3NxbC1oYWNrZXJzCg==