Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1culek-0003gg-Kr for pgsql-hackers@arkaria.postgresql.org; Sun, 02 Apr 2017 19:59:22 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1culek-00039g-7M for pgsql-hackers@arkaria.postgresql.org; Sun, 02 Apr 2017 19:59:22 +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 1culdD-0007a4-Bm for pgsql-hackers@postgresql.org; Sun, 02 Apr 2017 19:57:47 +0000 Received: from boipeva.ensmp.fr ([194.214.158.136] helo=cc-tupan-roaming-b.ensmp.fr) by magus.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1culdA-0004xo-3E for pgsql-hackers@postgresql.org; Sun, 02 Apr 2017 19:57:46 +0000 Received: from cri.ensmp.fr (17.56.69.86.rev.sfr.net [86.69.56.17]) (authenticated bits=0) by cc-tupan-roaming-b.ensmp.fr (8.15.2/8.15.2/JMMC-22/Oct/2013) with ESMTPSA id v32JvfVu003683 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 2 Apr 2017 21:57:42 +0200 Date: Sun, 2 Apr 2017 21:57:41 +0200 (CEST) From: Fabien COELHO X-X-Sender: fabien@lancre To: Tom Lane cc: Corey Huinker , Pavel Stehule , Daniel Verite , PostgreSQL Developers Subject: Re: Variable substitution in psql backtick expansion In-Reply-To: <3926.1491159242@sss.pgh.pa.us> Message-ID: References: <3926.1491159242@sss.pgh.pa.us> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="8323329-1440125102-1491163062=:9265" X-Miltered: at cc-tupan-roaming-b.ensmp.fr with ID 58E157B5.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Auth: USER-ID fabien.coelho X-j-chkmail-Enveloppe: 58E157B5.000 from 17.56.69.86.rev.sfr.net/17.56.69.86.rev.sfr.net/86.69.56.17/cri.ensmp.fr/ X-Pg-Spam-Score: -1.9 (-) 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 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1440125102-1491163062=:9265 Content-Type: text/plain; charset=US-ASCII; format=flowed > More to the point, we already have that. See c.h: > > #define CppAsString(identifier) #identifier > #define CppAsString2(x) CppAsString(x) Thanks for the pointer. I grepped for them without success. Here is a v4. -- Fabien --8323329-1440125102-1491163062=:9265 Content-Type: text/x-diff; name=psql-version-num-4.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=psql-version-num-4.patch ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbCBi L2RvYy9zcmMvc2dtbC9yZWYvcHNxbC1yZWYuc2dtbA0KaW5kZXggYWQ0NjNl Ny4uYjE1MDhiZSAxMDA2NDQNCi0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcHNx bC1yZWYuc2dtbA0KKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wc3FsLXJlZi5z Z21sDQpAQCAtMzU4MCw2ICszNTgwLDE4IEBAIGJhcg0KICAgICAgIDwvdmFy bGlzdGVudHJ5Pg0KIA0KICAgICAgIDx2YXJsaXN0ZW50cnk+DQorICAgICAg ICA8dGVybT48dmFybmFtZT5TRVJWRVJfVkVSU0lPTl9OQU1FPC92YXJuYW1l PjwvdGVybT4NCisgICAgICAgIDx0ZXJtPjx2YXJuYW1lPlNFUlZFUl9WRVJT SU9OX05VTTwvdmFybmFtZT48L3Rlcm0+DQorICAgICAgICA8bGlzdGl0ZW0+ DQorICAgICAgICA8cGFyYT4NCisgICAgICAgIFRoZXNlIHZhcmlhYmxlcyBh cmUgc2V0IHdoZW4gY29ubmVjdGVkIHRvIHJlZmxlY3RzIHRoZSBzZXJ2ZXIn cyB2ZXJzaW9uDQorICAgICAgICBib3RoIGluIHNob3J0IG5hbWUgKGVnICI5 LjYuMiIsICIxMC4wIikgYW5kIG51bWJlciAoZWcgOTA2MDIsIDEwMDAwMCku DQorICAgICAgICBUaGV5IGNhbiBiZSBjaGFuZ2VkIG9yIHVuc2V0Lg0KKyAg ICAgICAgPC9wYXJhPg0KKyAgICAgICAgPC9saXN0aXRlbT4NCisgICAgICA8 L3Zhcmxpc3RlbnRyeT4NCisNCisgICAgICA8dmFybGlzdGVudHJ5Pg0KICAg ICAgICAgPHRlcm0+PHZhcm5hbWU+U0lOR0xFTElORTwvdmFybmFtZT48L3Rl cm0+DQogICAgICAgICA8bGlzdGl0ZW0+DQogICAgICAgICA8cGFyYT4NCkBA IC0zNjI1LDEwICszNjM3LDEzIEBAIGJhcg0KIA0KICAgICAgIDx2YXJsaXN0 ZW50cnk+DQogICAgICAgICA8dGVybT48dmFybmFtZT5WRVJTSU9OPC92YXJu YW1lPjwvdGVybT4NCisgICAgICAgIDx0ZXJtPjx2YXJuYW1lPlZFUlNJT05f TkFNRTwvdmFybmFtZT48L3Rlcm0+DQorICAgICAgICA8dGVybT48dmFybmFt ZT5WRVJTSU9OX05VTTwvdmFybmFtZT48L3Rlcm0+DQogICAgICAgICA8bGlz dGl0ZW0+DQogICAgICAgICA8cGFyYT4NCi0gICAgICAgIFRoaXMgdmFyaWFi bGUgaXMgc2V0IGF0IHByb2dyYW0gc3RhcnQtdXAgdG8NCi0gICAgICAgIHJl ZmxlY3QgPGFwcGxpY2F0aW9uPnBzcWw8Lz4ncyB2ZXJzaW9uLiAgSXQgY2Fu IGJlIGNoYW5nZWQgb3IgdW5zZXQuDQorICAgICAgICBUaGVzZSB2YXJpYWJs ZXMgYXJlIHNldCBhdCBwcm9ncmFtIHN0YXJ0LXVwIHRvIHJlZmxlY3QNCisg ICAgICAgIDxhcHBsaWNhdGlvbj5wc3FsPC8+J3MgdmVyc2lvbiBpbiB2ZXJi b3NlLCBzaG9ydCBuYW1lICgiMTAuMCIpDQorICAgICAgICBhbmQgbnVtYmVy ICgxMDAwMDApLiAgVGhleSBjYW4gYmUgY2hhbmdlZCBvciB1bnNldC4NCiAg ICAgICAgIDwvcGFyYT4NCiAgICAgICAgIDwvbGlzdGl0ZW0+DQogICAgICAg PC92YXJsaXN0ZW50cnk+DQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Nv bW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMNCmluZGV4IDk0YTNj ZmMuLjJjNThjZmIgMTAwNjQ0DQotLS0gYS9zcmMvYmluL3BzcWwvY29tbWFu ZC5jDQorKysgYi9zcmMvYmluL3BzcWwvY29tbWFuZC5jDQpAQCAtMzMyMCw2 ICszMzIwLDggQEAgY2hlY2tXaW4zMkNvZGVwYWdlKHZvaWQpDQogdm9pZA0K IFN5bmNWYXJpYWJsZXModm9pZCkNCiB7DQorCWNoYXIgdmJ1ZlszMl07DQor DQogCS8qIGdldCBzdHVmZiBmcm9tIGNvbm5lY3Rpb24gKi8NCiAJcHNldC5l bmNvZGluZyA9IFBRY2xpZW50RW5jb2RpbmcocHNldC5kYik7DQogCXBzZXQu cG9wdC50b3B0LmVuY29kaW5nID0gcHNldC5lbmNvZGluZzsNCkBAIC0zMzMx LDYgKzMzMzMsMTIgQEAgU3luY1ZhcmlhYmxlcyh2b2lkKQ0KIAlTZXRWYXJp YWJsZShwc2V0LnZhcnMsICJQT1JUIiwgUFFwb3J0KHBzZXQuZGIpKTsNCiAJ U2V0VmFyaWFibGUocHNldC52YXJzLCAiRU5DT0RJTkciLCBwZ19lbmNvZGlu Z190b19jaGFyKHBzZXQuZW5jb2RpbmcpKTsNCiANCisJLyogc2VydmVyIHZl cnNpb24gaW5mb3JtYXRpb24gKi8NCisJU2V0VmFyaWFibGUocHNldC52YXJz LCAiU0VSVkVSX1ZFUlNJT05fTkFNRSIsDQorCQkJCWZvcm1hdFBHVmVyc2lv bk51bWJlcihwc2V0LnN2ZXJzaW9uLCB0cnVlLCB2YnVmLCBzaXplb2YodmJ1 ZikpKTsNCisJc25wcmludGYodmJ1Ziwgc2l6ZW9mKHZidWYpLCAiJWQiLCBw c2V0LnN2ZXJzaW9uKTsNCisJU2V0VmFyaWFibGUocHNldC52YXJzLCAiU0VS VkVSX1ZFUlNJT05fTlVNIiwgdmJ1Zik7DQorDQogCS8qIHNlbmQgc3R1ZmYg dG8gaXQsIHRvbyAqLw0KIAlQUXNldEVycm9yVmVyYm9zaXR5KHBzZXQuZGIs IHBzZXQudmVyYm9zaXR5KTsNCiAJUFFzZXRFcnJvckNvbnRleHRWaXNpYmls aXR5KHBzZXQuZGIsIHBzZXQuc2hvd19jb250ZXh0KTsNCkBAIC0zMzQ5LDYg KzMzNTcsOCBAQCBVbnN5bmNWYXJpYWJsZXModm9pZCkNCiAJU2V0VmFyaWFi bGUocHNldC52YXJzLCAiSE9TVCIsIE5VTEwpOw0KIAlTZXRWYXJpYWJsZShw c2V0LnZhcnMsICJQT1JUIiwgTlVMTCk7DQogCVNldFZhcmlhYmxlKHBzZXQu dmFycywgIkVOQ09ESU5HIiwgTlVMTCk7DQorCVNldFZhcmlhYmxlKHBzZXQu dmFycywgIlNFUlZFUl9WRVJTSU9OX05BTUUiLCBOVUxMKTsNCisJU2V0VmFy aWFibGUocHNldC52YXJzLCAiU0VSVkVSX1ZFUlNJT05fTlVNIiwgTlVMTCk7 DQogfQ0KIA0KIA0KZGlmZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9zdGFydHVw LmMgYi9zcmMvYmluL3BzcWwvc3RhcnR1cC5jDQppbmRleCA4MDY4YTI4Li42 OGI2NzI0IDEwMDY0NA0KLS0tIGEvc3JjL2Jpbi9wc3FsL3N0YXJ0dXAuYw0K KysrIGIvc3JjL2Jpbi9wc3FsL3N0YXJ0dXAuYw0KQEAgLTE2MSw2ICsxNjEs OCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQogCUVzdGFibGlz aFZhcmlhYmxlU3BhY2UoKTsNCiANCiAJU2V0VmFyaWFibGUocHNldC52YXJz LCAiVkVSU0lPTiIsIFBHX1ZFUlNJT05fU1RSKTsNCisJU2V0VmFyaWFibGUo cHNldC52YXJzLCAiVkVSU0lPTl9OQU1FIiwgUEdfVkVSU0lPTik7DQorCVNl dFZhcmlhYmxlKHBzZXQudmFycywgIlZFUlNJT05fTlVNIiwgQ3BwQXNTdHJp bmcyKFBHX1ZFUlNJT05fTlVNKSk7DQogDQogCS8qIERlZmF1bHQgdmFsdWVz IGZvciB2YXJpYWJsZXMgKHRoYXQgZG9uJ3QgbWF0Y2ggdGhlIHJlc3VsdCBv ZiBcdW5zZXQpICovDQogCVNldFZhcmlhYmxlQm9vbChwc2V0LnZhcnMsICJB VVRPQ09NTUlUIik7DQo= --8323329-1440125102-1491163062=:9265 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --8323329-1440125102-1491163062=:9265--