Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iizxx-0004fc-D8 for pgsql-hackers@arkaria.postgresql.org; Sun, 22 Dec 2019 12:04:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iizxw-0002wp-7c for pgsql-hackers@arkaria.postgresql.org; Sun, 22 Dec 2019 12:04:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iizxv-0002wh-RH for pgsql-hackers@lists.postgresql.org; Sun, 22 Dec 2019 12:04:07 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1iizxs-0006DY-VP for pgsql-hackers@lists.postgresql.org; Sun, 22 Dec 2019 12:04:06 +0000 Received: from coridan.postgresql.org ([2001:4800:3e1:1::213]) by mahout.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iizxs-0003Hu-E0 for pgsql-hackers@lists.postgresql.org; Sun, 22 Dec 2019 12:04:04 +0000 Received: from localhost ([127.0.0.1] helo=coridan.postgresql.org) by coridan.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iizxq-0002vx-Qm for pgsql-hackers@lists.postgresql.org; Sun, 22 Dec 2019 12:04:02 +0000 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: Re: proposal: schema variables To: pgsql-hackers@lists.postgresql.org From: Philippe BEAUDOIN Cc: Pavel Stehule Date: Sun, 22 Dec 2019 12:03:10 +0000 User-Agent: pgcommitfest X-cfsender: beaud76 In-Reply-To: References: Message-ID: <157701619041.1198.10146593618667092522.pgcf@coridan.postgresql.org> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk VGhlIGZvbGxvd2luZyByZXZpZXcgaGFzIGJlZW4gcG9zdGVkIHRocm91Z2ggdGhlIGNvbW1pdGZl c3QgYXBwbGljYXRpb246Cm1ha2UgaW5zdGFsbGNoZWNrLXdvcmxkOiAgdGVzdGVkLCBwYXNzZWQK SW1wbGVtZW50cyBmZWF0dXJlOiAgICAgICB0ZXN0ZWQsIGZhaWxlZApTcGVjIGNvbXBsaWFudDog ICAgICAgICAgIG5vdCB0ZXN0ZWQKRG9jdW1lbnRhdGlvbjogICAgICAgICAgICB0ZXN0ZWQsIGZh aWxlZAoKSGkgUGF2ZWwsDQoNCkZpcnN0IG9mIGFsbCwgSSB3b3VsZCBsaWtlIHRvIGNvbmdyYXR1 bGF0ZSB5b3UgZm9yIHRoaXMgZ3JlYXQgd29yay4gVGhpcyBwYXRjaCBpcyByZWFsbHkgY29vbC4g VGhlIGxhY2sgb2YgcGFja2FnZSB2YXJpYWJsZXMgaXMgc29tZXRpbWVzIGEgYmxvY2tpbmcgaXNz dWUgZm9yIE9yYWNsZSB0byBQb3N0Z3JlcyBtaWdyYXRpb25zLCBiZWNhdXNlIHRoZSB1c3VhbCBl bXVsYXRpb24gd2l0aCBHVUMgaXMgc29tZXRpbWVzIG5vdCBlbm91Z2gsIGluIHBhcnRpY3VsYXIg d2hlbiB0aGVyZSBhcmUgc2VjdXJpdHkgY29uY2VybnMgb3Igd2hlbiB0aGUgZGF0YWJhc2UgaXMg dXNlZCBpbiBhIHB1YmxpYyBjbG91ZC4NCg0KQXMgSSBsb29rIGZvcndhcmQgdG8gaGF2aW5nIHRo aXMgcGF0Y2ggY29tbWl0ZWQsIEkgZGVjaWRlZCB0byBzcGVuZCBzb21lIHRpbWUgdG8gcGFydGlj aXBhdGUgdG8gdGhlIHJldmlldywgYWx0aG91Z2ggSSBhbSBub3QgYSBDIHNwZWNpYWxpc3QgYW5k IEkgaGF2ZSBub3QgYSBnb29kIGtub3dsZWRnZSBvZiB0aGUgUG9zdGdyZXMgaW50ZXJuYWxzLiBI ZXJlIGlzIG15IHJlcG9ydC4NCg0KQSkgSW5zdGFsbGF0aW9uDQoNClRoZSBwYXRjaCBhcHBsaWVz IGNvcnJlY3RseSBhbmQgdGhlIGNvbXBpbGF0aW9uIGlzIGZpbmUuIFRoZSAibWFrZSBjaGVjayIg ZG9lc24ndCByZXBvcnQgYW55IGlzc3VlLg0KDQpCKSBCYXNpYyB1c2FnZQ0KDQpJIHRyaWVkIHNv bWUgc2ltcGxlIHNjaGVtYSB2YXJpYWJsZXMgdXNlIGNhc2VzLiBObyBwcm9ibGVtLg0KDQpDKSBU aGUgaW50ZXJmYWNlDQoNClRoZSBTUUwgY2hhbmdlcyBsb29rIGdvb2QgdG8gbWUuDQoNCkhvd2V2 ZXIsIGluIHRoZSBDUkVBVEUgVkFSSUFCTEUgY29tbWFuZCwgSSB3b3VsZCByZXBsYWNlIHRoZSAi VFJBTlNBQ1RJT04iIHdvcmQgYnkgIlRSQU5TQUNUSU9OQUwiLg0KDQpJIGhhdmUgYWxzbyB0cmll ZCB0byByZXBsYWNlIHRoaXMgd29yZCBieSBhIE9OIFJPTExCQUNLIGNsYXVzZSBhdCB0aGUgZW5k IG9mIHRoZSBzdGF0ZW1lbnQsIGxpa2UgZm9yIE9OIENPTU1JVCwgYnV0IEkgaGF2ZSBub3QgZm91 bmQgYSBzYXRpc2Z5aW5nIHdvcmRpbmcgdG8gcHJvcG9zZS4NCg0KRCkgQmVoYXZpb3VyDQoNCkkg YW0gb2sgd2l0aCB2YXJpYWJsZXMgbm90IGJlaW5nIHRyYW5zYWN0aW9uYWwgYnkgZGVmYXVsdC4g VGhhdCdzIHRoZSBtb3N0IHNpbXBsZSwgdGhlIG1vc3QgZWZmaWNpZW50LCBpdCBlbXVsYXRlcyB0 aGUgcGFja2FnZSB2YXJpYWJsZXMgb2Ygb3RoZXIgUkRCTVMgYW5kIGl0IHdpbGwgcHJvYmFibHkg Zml0IHRoZSBtb3N0IGNvbW1vbiB1c2UgY2FzZXMuDQoNCk5vdGUgdGhhdCBJIGFtIG5vdCBzdHJv bmdseSBvcHBvc2VkIHRvIGhhdmluZyBieSBkZWZhdWx0IHRyYW5zYWN0aW9uYWwgdmFyaWFibGVz LiBCdXQgSSBkb24ndCBrbm93IHdoZXRoZXIgdGhpcyBjaGFuZ2Ugd291bGQgYmUgYSBncmVhdCB3 b3JrLiBXZSB3b3VsZCBoYXZlIGF0IGxlYXN0IHRvIGZpbmQgYW5vdGhlciBrZXl3b3JkIGluIHRo ZSBDUkVBVEUgVkFSSUFCTEUgc3RhdGVtZW50LiBTb21ldGhpbmcgbGlrZSAiTk9OLVRSQU5TQUNU SU9OQUwgVkFSSUFCTEUiID8NCg0KSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGEgTk9UIE5VTEwg dmFyaWFibGUgd2l0aG91dCBERUZBVUxULiBXaGVuIHRyeWluZyB0byByZWFkIHRoZSB2YXJpYWJs ZSBiZWZvcmUgYSBMRVQgc3RhdGVtZW50LCBvbmUgZ2V0cyBhbiBlcnJvciBtYXNzYWdlIHNheWlu ZyB0aGF0IHRoZSBOVUxMIHZhbHVlIGlzIG5vdCBhbGxvd2VkIChhbmQgdGhlIGRvY3VtZW50YXRp b24gaXMgY2xlYXIgYWJvdXQgdGhpcyBjYXNlKS4gSnVzdCBmb3IgdGhlIHJlY29yZHMsIEkgd29u ZGVyZWQgd2hldGhlciBpdCB3b3VsZG4ndCBiZSBiZXR0ZXIgdG8gZm9yYmlkIGEgTk9UIE5VTEwg dmFyaWFibGUgY3JlYXRpb24gdGhhdCB3b3VsZG4ndCBoYXZlIGEgREVGQVVMVCB2YWx1ZS4gQnV0 IGZpbmFsbHksIEkgdGhpbmsgdGhpcyBiZWhhdmlvdXIgcHJvdmlkZXMgYSBnb29kIHdheSB0byBm b3JjZSB0aGUgdmFyaWFibGUgaW5pdGlhbGlzYXRpb24gYmVmb3JlIGl0cyB1c2UuIFNvIGxldCdz IGtlZXAgaXQgYXMgaXMuDQoNCkUpIEFDTCBhbmQgUmlnaHRzDQoNCkkgcGxheWVkIGEgbGl0dGxl IGJpdCB3aXRoIHRoZSBHUkFOVCBhbmQgUkVWT0tFIHN0YXRlbWVudHMuIA0KDQpJIGhhdmUgZ290 IGFuIGVycm9yIChJc3N1ZSAxKS4gVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQgY2hhaW46DQogIGNy ZWF0ZSB2YXJpYWJsZSBwdWJsaWMuc3YxIGludDsNCiAgZ3JhbnQgcmVhZCBvbiB2YXJpYWJsZSBz djEgdG8gb3RoZXJfdXNlcjsNCiAgZHJvcCBvd25lZCBieSBvdGhlcl91c2VyOw0KcmVwb3J0cyA6 IEVSUk9SOiAgdW5leHBlY3RlZCBvYmplY3QgY2xhc3MgNDI4Nw0KDQpJIHRoZW4gdHJpZWQgdG8g dXNlIERFRkFVTFQgUFJJVklMRUdFUy4gRGVzcGl0ZSB0aGlzIGlzIG5vdCBkb2N1bWVudGVkLCBJ IHN1Y2Nlc3NmdWx5IHBlcmZvcm1lZDoNCiAgYWx0ZXIgZGVmYXVsdCBwcml2aWxlZ2VzIGluIHNj aGVtYSBwdWJsaWMgZ3JhbnQgcmVhZCBvbiB2YXJpYWJsZXMgdG8gc2ltcGxlX3VzZXI7DQogIGFs dGVyIGRlZmF1bHQgcHJpdmlsZWdlcyBpbiBzY2hlbWEgcHVibGljIGdyYW50IHdyaXRlIG9uIHZh cmlhYmxlcyB0byBzaW1wbGVfdXNlcjsNCg0KV2hlbiB2YXJpYWJsZXMgYXJlIHRoZW4gY3JlYXRl ZCwgdGhlIGdyYW50cyBhcmUgcHJvcGVybHkgZ2l2ZW4uDQpBbmQgdGhlIHBzcWwgXGRkcCBjb21t YW5kIHBlcmZlY3RseSByZXR1cm5zOg0KICAgICAgICAgICAgIERlZmF1bHQgYWNjZXNzIHByaXZp bGVnZXMNCiAgT3duZXIgICB8IFNjaGVtYSB8IFR5cGUgfCAgICBBY2Nlc3MgcHJpdmlsZWdlcyAg ICANCi0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N CiBwb3N0Z3JlcyB8IHB1YmxpYyB8ICAgICAgfCBzaW1wbGVfdXNlcj1TVy9wb3N0Z3Jlcw0KKDEg cm93KQ0KDQpTbyB0aGUgQUxURVIgREVGQVVMVCBQUklWSUxFR0VTIGRvY3VtZW50YXRpb24gY2hh cHRlciBoYXMgdG8gcmVmbGVjdCB0aGlzIG5ldyBzeW50YXggKElzc3VlIDIpLg0KDQpCVFcsIGlu IHRoZSBBQ0wsIHRoZSBSRUFEIHByaXZpbGVnZSBpcyByZXByZXNlbnRlZCBieSBhIFMgbGV0dGVy LiBBIGNvbW1lbnQgaW4gdGhlIHNvdXJjZSByZXBvcnRzIHRoYXQgdGhlIFIgbGV0dGVyIHdhcyB1 c2VkIGluIHRoZSBwYXN0IGZvciBydWxlIHByaXZpbGVnZS4gTG9va2luZyBhdCB0aGUgcG9zdGdy ZXMgc291cmNlcywgSSBzZWUgdGhhdCB0aGlzIHByaXZpbGVnZSBvbiBydWxlcyBoYXMgYmVlbiBz dXBwcmVzc2VkICBpbiA4LjIsIHNvIDEzIHllYXJzIGFnby4gQXMgdGhpcyBSIGxldHRlciB3b3Vs ZCBiZSBhIHNvIG11Y2ggYmV0dGVyIGNob2ljZSwgSSB3b25kZXIgd2hldGhlciBpdCBjb3VsZG4n dCBiZSByZXVzZWQgbm93IGZvciB0aGlzIG5ldyBwdXJwb3NlLiBJcyBpdCBpbXBvcnRhbnQgdG8g a2VlcCB0aGlzIGxldHRlciBmcm96ZW4gPw0KDQpGKSBFeHRlbnNpb24NCg0KSSB0aGVuIGNyZWF0 ZWQgYW4gZXh0ZW5zaW9uLCB3aG9zZSBpbnN0YWxsYXRpb24gc2NyaXB0IGNyZWF0ZXMgYSBzY2hl bWEgdmFyaWFibGUgYW5kIGZ1bmN0aW9ucyB0aGF0IHVzZSBpdC4gVGhlIHNjaGVtYSB2YXJpYWJs ZSBpcyBjb3JyZWN0bHkgbGlua2VkIHRvIHRoZSBleHRlbnNpb24sIHNvIHRoYXQgZHJvcHBpbmcg dGhlIGV4dGVuc2lvbiBkcm9wcyB0aGUgdmFyaWFibGUuDQoNCkJ1dCB0aGVyZSBpcyBhbiBpc3N1 ZSB3aGVuIGR1bXBpbmcgdGhlIGRhdGFiYXNlIChJc3N1ZSAzKS4gVGhlIHNjcmlwdCBnZW5lcmF0 ZWQgYnkgcGdfZHVtcCBpbmNsdWRlcyB0aGUgQ1JFQVRFIEVYVEVOU0lPTiBzdGF0ZW1lbnQgYXMg ZXhwZWN0ZWQgYnV0IGFsc28gYSByZWR1bmRhbnQgQ1JFQVRFIFZBUklBQkxFIHN0YXRlbWVudCBm b3IgdGhlIHZhcmlhYmxlIHRoYXQgYmVsb25ncyB0byB0aGUgZXh0ZW5zaW9uLiBBcyBhIHJlc3Vs dCwgb25lIG9mIGNvdXJzZSBnZXRzIGFuIGVycm9yIGF0IHJlc3RvcmUgdGltZS4NCg0KRykgUm93 IExldmVsIFNlY3VyaXR5DQoNCkkgZGlkIGEgdGVzdCBhY3RpdmF0aW5nIFJMUyBvbiBhIHRhYmxl IGFuZCBjcmVhdGluZyBhIFBPTElDWSB0aGF0IHJlZmVyZW5jZXMgYSBzY2hlbWEgdmFyaWFibGUg aW4gaXRzIFVTSU5HIGFuZCBXSVRIIENIRUNLIGNsYXVzZXMuIEV2ZXJ5dGhpbmcgd29ya2VkIGZp bmUuDQoNCkgpIHBzcWwNCg0KQSBcZFYgbWV0YS1jb21tYW5kIGRpc3BsYXlzIGFsbCB0aGUgY3Jl YXRlZCB2YXJpYWJsZXMuDQpJIHdvdWxkIGNoYW5nZSBhIGxpdHRsZSBiaXQgdGhlIHByb3ZpZGVk IHZpZXcuIE1vcmUgcHJlY2lzZWx5IEkgd291bGQ6DQotIHJlbmFtZSAiQ29uc3RyYWludCIgaW50 byAiSXMgbnVsbGFibGUiIGFuZCByZXBvcnQgaXQgYXMgYSBib29sZWFuDQotIHJlbmFtZSAiU3Bl Y2lhbCBiZWhhdmUiIGludG8gIklzIHRyYW5zYWN0aW9uYWwiIGFuZCByZXBvcnQgaXQgYXMgYSBi b29sZWFuDQotIGNoYW5nZSB0aGUgb3JkZXIgb2YgY29sdW1ucyBzbyB0byBoYXZlOg0KU2NoZW1h IHwgTmFtZSB8IFR5cGUgfCBJcyBudWxsYWJsZSB8IERlZmF1bHQgfCBPd25lciB8IElzIHRyYW5z YWN0aW9uYWwgfCBUcmFuc2FjdGlvbiBlbmQgYWN0aW9uDQoiSXMgbnVsbGFibGUiIGJlaW5nIGFz aWRlICJEZWZhdWx0Ig0KDQpJKSBQZXJmb3JtYW5jZQ0KDQpJIGp1c3QgcXVpY2tseSBsb29rZWQg YXQgdGhlIHBlcmZvcm1hbmNlLCBhbmQgZGlkbid0IG5vdGljZSBhbnkgaXNzdWUuDQoNCkFib3V0 IHZhcmlhYmxlcyByZWFkIHBlcmZvcm1hbmNlLCBJIGhhdmUgbm90aWNlZCB0aGF0Og0KICBzZWxl Y3Qgc3VtKDEpIGZyb20gZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMDAwMDApOw0KYW5kDQogIHNlbGVj dCBzdW0oc3YxKSBmcm9tIGdlbmVyYXRlX3NlcmllcygxLDEwMDAwMDAwKTsNCmhhdmUgc2ltaWxh ciByZXNwb25zZSB0aW1lcy4NCg0KQWJvdXQgcGxhbm5pbmcsIGEgY29uZGl0aW9uIHdpdGggYSB2 YXJpYWJsZSB1c2VkIGFzIGEgY29uc3RhbnQgaXMgaW5kZXhhYmxlLCBhcyBpZiBpdCB3ZXJlIGEg bGl0ZXJhbC4NCg0KSikgRG9jdW1lbnRhdGlvbg0KDQpUaGVyZSBhcmUgc29tZSB3b3JkaW5ncyB0 byBpbXByb3ZlIGluIHRoZSBkb2N1bWVudGF0aW9uLiBCdXQgSSBhbSBub3QgdGhlIGJlc3QgcGVy c29uIHRvIGdpdmUgYWR2aWNlIGFib3V0IGVuZ2xpc2ggbGFuZ3VhZ2UgOy0pLg0KDQpIb3dldmVy LCBhc2lkZSB0aGUgYWxyZWFkeSBtZW50aW9ubmVkIGxhY2sgb2YgY2hhbmdlcyBpbiB0aGUgQUxU RVIgREVGQVVMVCBQUklWSUxFR0VTIGNoYXB0ZXIsIEkgYWxzbyBub3RpY2VkIDoNCi0gbGluZSA1 MCBvZiB0aGUgcGF0Y2gsIHRoZSBzZW50ZW5jZSAiKGhpZGRlbiBhdHRyaWJ1dGU7IG11c3QgYmUg ZXhwbGljaXRseSBzZWxlY3RlZCkiIGxvb2tzIGZhbHNlIGFzIHRoZSBvaWQgY29sdW1uIG9mIHBn X3ZhcmlhYmxlIGlzIGRpc3BsYXllZCwgYXMgZm9yIG90aGVyIHRhYmxlcyBvZiB0aGUgY2F0YWxv ZzsNCi0gYXQgc2V2ZXJhbCBwbGFjZXMsIHRoZSB3b3JkICJiZWhhdmUiIHNob3VsZCBiZSByZXBs YWNlZCBieSAiYmVoYXZpb3VyIg0KLSBsaW5lIDQzMywgYSBnZXRfc2NoZW1hX3ZhcmlhYmxlKCkg ZnVuY3Rpb24gaXMgbWVudGlvbm5lZDsgaXMgaXQgYSBmdW5jdGlvbiB0aGF0IGNhbiByZWFsbHkg YmUgY2FsbGVkIGJ5IHVzZXJzID8NCg0KTWF5IGJlIGl0IHdvdWxkIGJlIGludGVyZXN0aW5nIHRv IGFsc28gYWRkIGEgY2hhcHRlciBpbiB0aGUgU2VjdGlvbiBWIG9mIHRoZSBkb2N1bWVudGF0aW9u LCBpbiBvcmRlciB0byBtb3JlIGdsb2JhbGx5IHByZXNlbnQgdGhlIHNjaGVtYSB2YXJpYWJsZXMg Y29uY2VwdCwgYXNpZGUgdGhlIG5ldyBvciB0aGUgbW9kaWZpZWQgc3RhdGVtZW50cy4NCg0KSykg Q29kaW5nDQoNCkkgYW0gbm90IGFibGUgdG8gYXBwcmVjaWF0ZSB0aGUgd2F5IHRoZSBmZWF0dXJl IGhhcyBiZWVuIGNvZGVkLiBTbyBJIGxldCB0aGlzIGZvciBvdGhlciByZXZpZXdlcnMgOy0pDQoN Cg0KVG8gY29uY2x1ZGUsIGFnYWluLCB0aGFua3MgYSBsb3QgZm9yIHRoaXMgZmVhdHVyZSAhDQpB bmQgaWYgSSBtYXkgYWRkIHRoaXMuIEkgZHJlYW0gb2YgYW4gYWRkaXRpb25hbCBmZWF0dXJlOiBh ZGRpbmcgYSBTSEFSRUQgY2xhdXNlIHRvIHRoZSBDUkVBVEUgVkFSSUFCTEUgc3RhdGVtZW50IGlu IG9yZGVyIHRvIGJlIGFibGUgdG8gY3JlYXRlIG1lbW9yeSBzcGFjZXMgdGhhdCBjb3VsZCBiZSBz aGFyZWQgYnkgYWxsIGNvbm5lY3Rpb25zIG9uIHRoZSBkYXRhYmFzZSBhbmQgYWNjZXNzaWJsZSBp biBTUUwgYW5kIFBMLCB1bmRlciB0aGUgcHJvdGVjdGlvbiBvZiBBQ0wuIEJ1dCB0aGF0J3MgYW5v dGhlciBzdG9yeSA7LSkNCg0KQmVzdCByZWdhcmRzLiBQaGlsaXBwZS4KClRoZSBuZXcgc3RhdHVz IG9mIHRoaXMgcGF0Y2ggaXM6IFdhaXRpbmcgb24gQXV0aG9yCg==