Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZlJ6-0001HT-LJ for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Aug 2016 20:49:56 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bZlJ6-0003Rb-83 for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Aug 2016 20:49:56 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bZlHh-0000RS-Bb for pgsql-hackers@postgresql.org; Tue, 16 Aug 2016 20:48:29 +0000 Received: from mail-by2nam01on0085.outbound.protection.outlook.com ([104.47.34.85] helo=NAM01-BY2-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bZlHd-0003l5-Pb for pgsql-hackers@postgresql.org; Tue, 16 Aug 2016 20:48:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BlueTreble.onmicrosoft.com; s=selector1-bluetreble-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=qdtPWm6i7hZtoqJKfm+lLOuU1EqpECjErIS9iwnoeY0=; b=YxaPlGyLkE3TifvmrnrbZN8bnIjmZcp7Y98wYa84SqnkfxjNE+7GgGX08M+dmZ9FHAW1TwZG9GxCz5MMtambfWUSA5QhnywiDxabO3j6ho6a9GBCbnlIgiJUASjR7yTDeXSkuiXzu6kil7qAbb3/rZKwpMB6JjZGMeIuHuobujo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.local (70.113.16.71) by CY4PR11MB1640.namprd11.prod.outlook.com (10.172.71.16) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.557.21; Tue, 16 Aug 2016 20:48:12 +0000 Subject: Re: [GENERAL] C++ port of Postgres To: Andres Freund , Heikki Linnakangas References: <007001d1f786$d903fa90$8b0befb0$@andl.org> <00a52208-3199-5858-8846-2530b0bb34df@archidevsys.co.nz> <20160816202928.v62426ta2w4yauk7@alap3.anarazel.de> CC: Gavin Flower , dandl , 'Adam Brusselback' , 'Joy Arulraj' , 'kang joni' , 'Dmitry Igrishin' , Pg Hackers , Peter Eisentraut From: Jim Nasby Message-ID: Date: Tue, 16 Aug 2016 15:48:00 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160816202928.v62426ta2w4yauk7@alap3.anarazel.de> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.113.16.71] X-ClientProxiedBy: BN6PR08CA0056.namprd08.prod.outlook.com (10.172.144.18) To CY4PR11MB1640.namprd11.prod.outlook.com (10.172.71.16) X-MS-Office365-Filtering-Correlation-Id: 7ce396fc-f4fa-4120-2dd8-08d3c616a974 X-Microsoft-Exchange-Diagnostics: 1;CY4PR11MB1640;2:jQMNH0HiWJAlI8PheNrNescj2w0OR2iYO+64O9u/K0XIy56Ff18KPeL2OgA9JYWuY+9IYjFc0ly+VhPP4SoFHVCVTB3TuknvJtDDbDqmtFbdLZkowwTLmTOdXlYzvBIZ90IQaevp1Z4Euhbxs24yXCRNO5P1zyfQCNXy8zOH8sv/Ebi45HlBPaizC4xQDfsd;3:k5q9s3SAM6KW+gWJb2jywySrYXX4x4UagL8Nyar6jMWwAPWTe7NwdkuGM7AWdl6OGyZljU7CHnibQ/p7T+MBWnMP8dqI+14b6ZsmyHO6i0vU86WR49lh61ARbCipWwsu;25:dhGn8hcCOWPL70x37bBVOqRaRCC1cVZgmaOdCM+VxCwp8kwiLTSO+6RRYnZuVLxbY6AM56uz5F4qjLQV1MO9ug+FvoC+HN6JLHdmj38K5pAq4YB31C1cgyarSaMY3nYJUAhELb8c6LEqug24JDnMG8UCPLsp9Pv2scnCkGw7W+etKwEQVxqrF2tpSB0W9bs92TCbyAmHtcUdcoZJxf6jurpcOe1CJo9hBisJpFu4057HgHyIONsJ5uKAr7ynLUWtHKH1AQMXXTiZDQ9fIiAq559VlAEVCslUvgAZTPTr5+QRMXl/w/d5/7BQRcNywnAMrpuAbQBKDvn026Go5BHlEDoarUW0NMAH6lEHR6HVoM+yT04XCqAjMAm3TT+bb//PnnxIMoUGNsw9HpWzti82ui0WJQEZM1YMRnBInyQ1ErI= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY4PR11MB1640; X-Microsoft-Exchange-Diagnostics: 1;CY4PR11MB1640;31:mymAJb+t341ymBRFAll5lVcwgaMbSWzK9x2PhEZYBXDMWrArcHtOO3BNIiowyPA4uappIr5jx+u1OdtLEA1o1GIRQvRCvCZAAP/9Si5/IjsfKtTaPcPuvAlJm+N1YM+3EynnvNPr1zk9fbBRZ1JbkY4LjaDUEMIRSMndgYFK0EGYBHq83DqqfcYnwhxihIPpIu2uP5A5zHHSYZxTmGrVtwm5b5ofQKP6bQgRWAMBTxI=;4:Bx21B1H5BAoKDfcJS8Dmcmp7lD04zbrqqkdq8FI3il/qq07BQ4cBtEAHGdpE6xQb6liow68qLC5truOQLJvV+4/y1/lPBzmZGyynnNrJn4C7Wo7RfWzdN/j1lQVApF7ReS8SU4xonZhilBk1ybWW8DVv5s4d7Fjcrz3aFrYUVVNluA2n7Y7Myjx+aRLhM3a6Nm7ZUN2h3fuL7nl6HkcOb4MQ4S/tIUzVxfhCmJRlMTS7bETBEPz3uwMwArLQXrxwiQ0CZoZmLM3ewlASvQpRls//Qpt7FDTXcfd+4tKowpefnxuQhsy2n+oJotfAVOul5gGt0/y+tWi08CEKHD1UTUPU+uxKj4UZNocPTmQACpJEPu9pAE1cHOJYWT/Wo7dOguBdwUWTO7nPLtcvupdfI3Pjhzh1t+xcNpGCRzsW+eQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6042046)(6043046);SRVR:CY4PR11MB1640;BCL:0;PCL:0;RULEID:;SRVR:CY4PR11MB1640; X-Forefront-PRVS: 0036736630 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(377454003)(24454002)(189002)(586003)(54356999)(2906002)(3846002)(76176999)(7736002)(68736007)(2950100001)(97736004)(6116002)(5001770100001)(23746002)(65806001)(7846002)(101416001)(65956001)(305945005)(19580395003)(66066001)(189998001)(230700001)(64126003)(50986999)(86362001)(4001350100001)(7416002)(16601075003)(47776003)(50466002)(33646002)(4326007)(81166006)(8676002)(81156014)(15975445007)(31696002)(42186005)(31686004)(77096005)(36756003)(93886004)(92566002)(105586002)(106356001)(83506001)(65826006)(85282002);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR11MB1640;H:decina.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: bluetreble.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;CY4PR11MB1640;23:ktVDbWsUsL22VMm/NUlzMsfOXnOeleF3QEUkS?= =?Windows-1252?Q?lkJ0Xcq20QYA3VVvM1+SsjWz/tcw0v10652M0ySDTKj7uNRwutwsM+D5?= =?Windows-1252?Q?qEvJfPIEJmY9IYK5+5a0OrZf4dyuuu3j5+1YKsqM+meecKWW4IUbavZE?= =?Windows-1252?Q?wGUH8kmWNdEFJSqoYbOScI+vFAunmDKxESL576fm/aGMKt+w+mp0vQ52?= =?Windows-1252?Q?vKL2QPhiyxQ5xFmJ6bykkL+zl++VPcAh9AL99HNnjxGxve/xqwkwnwLM?= =?Windows-1252?Q?q4u9Pt17Zpnho1WpRKx7l/Kr3vwZEK0syjTgg9LgIzCZt97ID2D7NqlE?= =?Windows-1252?Q?f1aYTf/+IK/COgEtdvkNdgzqjtC9aQoEqubQ3xu4MbMA3Z72GMGexEYb?= =?Windows-1252?Q?+MBcpJDejkMPwT6mjJegAufwhCgYS9UyW+jl67nvPN1MyNqTSrylRx7c?= =?Windows-1252?Q?GGtHGM8CGq1AqVLIM9AMLMS2XxNkt31LO4pVxRFaz1Qy4mcERll3O3Iz?= =?Windows-1252?Q?89txU5ffrwuhNJ2CuEsA+kKXBwBz7lFeGRouoDMx02oSQivV1gMbYiRf?= =?Windows-1252?Q?afo4/LyteJcDap5o4bKfxqGkHHEgGJtvEk4+r/hytwNIzeDiRSI/CciC?= =?Windows-1252?Q?Wu+hLMk2eUjj+1zdmlqwAW3fsQikoQtkD9IIkvnGOewQcIW7TZlAYajV?= =?Windows-1252?Q?nLX4Trgeh1p4MY2avJWIVaaV7ixsPO8HA1L5bsqGNPpUGThrpT9GF+08?= =?Windows-1252?Q?sxjDEwrcjyaSJIlLMqu44ZmK5Gv5Xzl0O2SN/0M/e5wU6KoSanjjB1rc?= =?Windows-1252?Q?jmHtdTDvQQM1E/qdHfgv6Fqkut6wsgX6E9ly3JDLsEGY+Do0HjvzmR+l?= =?Windows-1252?Q?IORFBPb4tiPSp+qxS167LiYNekBtinkrBmO5hCBNZ3FU5ykNnIl/+epG?= =?Windows-1252?Q?kdp/zIZ7Wa9oA6n1ZXL5RI3K5ODlI56dzUrqgPLQWsVnl9ZCOCWOHZ1K?= =?Windows-1252?Q?hfY9a9r47XRJGNeGYMWh51yzOkzyR1YpTzcGksfM1eGH1Pd8dA3arZAQ?= =?Windows-1252?Q?F41nVnlTDn3UlAzIjPSFG+Q6RwD6MN/giQ8oZ9zeP1D7SZk5nrw7I6ES?= =?Windows-1252?Q?gsCDkXZ8v9vG1TLv0FeHr9bKUcXIEIrTP0SW8Voja4iPtXCTU8aGoyD6?= =?Windows-1252?Q?lyrPnQiw81Ue3FxA6nB2Aoz6v3ZD8DtuXKbH+CUMN3qBXCjGmov7UzBb?= =?Windows-1252?Q?8K9l4cPpuOWAL7dF9G+kaSpO3Z0R2UhXHe16ET36HsvAXZ2A4JnaBwJO?= =?Windows-1252?Q?kseSWfD1r4/cVlPGSCPZeo0iSSIDL5tATaEgRMyaXOIqVpKFga+CP/2u?= =?Windows-1252?Q?putGFNefAQ6EZK/BdVDpDGWpOqnjX0rVp8Q8OjwyjOV3kpHJNXzpPSGG?= =?Windows-1252?Q?yCjwahACCiN9OROTMVY?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR11MB1640;6:OUolzv4q/04Xiu1RBPu4FNTKqOVZSFjzS0E51NpcNnPBTGsJY1uwSU9WmjFkEEPoKb+iXNd1jgngkopZ6zI7zwuzWt9N16N73rzx71ypWrgo8TtCnWyVipfAEf1whh1Gv9CKQeas8JAEWt4Wq0p6ACNJMVtXPCi1bC2S54n74zzJZAuulA2W2Nazo8Wqdk32gO8WmsTTMOILtFaw+7bbK7wNbFAe9hZt574C6gbeyGIkS8nAlwsLXs1g/8su8bNegzo+hlB44Vkr7U29lilkORz+JgHyMfh6jg9+Z8p9I2BJEZS1m7i8vK5eCGCqeLz6;5:chaDI/wzV5ywqsC8+ucWqgJGJdJRmmGCEGi9v2qMK0j19R5gSRBvLgMAtRBf14TIkilrzjrIbDS8LDGYFzkiqPTMPac9YS5aSFbppHLQIvtAbCTzliVa0mc1/0kLPz7kcA7fuVA5i3sd7aS712zWSw==;24:+VQBkOuid2HyiYc6lUvqQjUOnl7o+Hqsd+WnQENePp7xzaLAu25nHWSZWidL2TmNtp9SAh6+6YyH9WKrioxOb5sR970PBkrVebwVzgCny6Q=;7:z+LqGwwTDYWt5d2ts7MaMcxvh2uEj+M0z0KTXp21nW9i/xuDSnu4jqBoHf1vse1Iv5iOuNr1NZIh1heIpOMeSZ+GMiKiy6K0soS/ARQwh0u1sox+Q2HjhdpvI+Kv3sGhP5kbvSsxLOcA9jz/6ZM7VPWEjD2Vfra+hov2tggbrzRt53LcSvScnHbnxtfYBSQgrSkvkai2jQWyR/lyugmwu6N5DcfIIzF5wLg88vTDomXwLILC/TdZuMgjaZVWtUB6 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Aug 2016 20:48:12.5773 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1640 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 On 8/16/16 3:29 PM, Andres Freund wrote: > Well, having typed pg_list.h style lists, ilist.h linked lists, > hash-tables, and proper typechecks for pg_nodes.h instead of the NodeTag > stuff, would surely make life easier. I certainly wish parts of the system brought code and "data" together in a better way. Nodes are an example; all the Walker stuff in the planner/executor is another. (I'm not saying C++ would make that better, just saying those are parts of the code I find it much harder to grok.) > But given the small subset of C++ available on all our supported > platforms... I think we'd first need to make the decision to cut support > for some platforms, before using C++. Which imo is a distinct task from > *allowing* to compile with a C++ compiler. Exactly. If we at least maintain support for compiling that means people can experiment with other enhancements in a way that's much more compatible with normal community contribution practices, which makes it far more likely for that stuff to be accepted. As for the backwards compatibility... the stance I've seen the community take is cost vs benefit. Right now the benefits are completely hypothetical, because no one could realistically propose a patch to use C++ (or maybe even Rust) features. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) mobile: 512-569-9461 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers