Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG9m0-0005Tj-5J for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Jun 2016 18:54:44 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bG9lz-0005Ik-NR for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Jun 2016 18:54:43 +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 1bG9kV-0003hB-Jq for pgsql-hackers@postgresql.org; Thu, 23 Jun 2016 18:53:11 +0000 Received: from mail-bn1on0072.outbound.protection.outlook.com ([157.56.110.72] helo=na01-bn1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bG9kM-0003hV-PS for pgsql-hackers@postgresql.org; Thu, 23 Jun 2016 18:53:10 +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=pid07fjkpePDPLWduR4MwCEWGicfM/Ph5tJzActG3pM=; b=b67g8dvE3qzr+OwiK3XeSM6KeNVSmWm0fEgcJ7hpC679NmahjhdyzPQv385BU10SuWPITRRedQTbqD8NS5ZGUXFUYY3Es4b4fW67biprM9KqRG5rVr1g6ktEujf87OrUKf91rdCk+lzsRNoDrh1YuYvp9pcQ7f3UbApSUfAI/34= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.local (70.116.74.49) by BLUPR11MB0676.namprd11.prod.outlook.com (10.163.216.146) with Microsoft SMTP Server (TLS) id 15.1.523.12; Thu, 23 Jun 2016 18:52:57 +0000 Subject: Re: Bug in to_timestamp(). To: Alvaro Herrera , "David G. Johnston" References: <20160623172935.GA202223@alvherre.pgsql> CC: Alex Ignatov , Bruce Momjian , amul sul , PostgreSQL-development From: Jim Nasby Message-ID: Date: Thu, 23 Jun 2016 13:52:52 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <20160623172935.GA202223@alvherre.pgsql> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.116.74.49] X-ClientProxiedBy: SN2PR10CA0011.namprd10.prod.outlook.com (10.160.12.149) To BLUPR11MB0676.namprd11.prod.outlook.com (10.163.216.146) X-MS-Office365-Filtering-Correlation-Id: b6a9b5d3-bc03-4e80-7761-08d39b9797d9 X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0676;2:+7bd7h4cDKXgGugp4El0PRZF3nQuaGt965u/F3SvKmQDzlI+20LgdhwO2lOHZc5Hi985Yn+Ge9XcgIDNhsmHpJ9ikitW8HNEHPcnnjO34dFZC27aM+B71wj537dFGcrNnRRlN4l4UWYy8silmKKXWhMys34F3m2nMhFEvmBpa/veLrNuLP8qVzKtDWQRKN5P;3:lSTH2DRKH3+IjqCYnpVpwmJTXrWEJcaoyTt2OD/J8NzcGC4uNrmuh6NrLG/rAYv1Yz57KTGKOpJU+r0m6PbhP+E0N4GI49xrP4DIvz5TuBwPX/B8Ee7rHGm2pxS4xcxG;25:LeMWAg1JdtnS5nJn6gESgaBHALL6dxTfx2uy+BKFJHvEZV2N38550G8SIcRBK5KqH0THLC9vxjV1NJIvZruOA5+I4hyRhVRBNYf/dIhBzI/t10a5NBUlVzdiPycS8LrSCb7+i66AmZinfqnYigo3n8UvYf+xj+1slP2LWxZZTIqhPVur1oXBsWqQ6sjN0nffDXdHbDyvBZb1Fnyrbu2VVwut6mwNfLmnUIil2nEhpLCSpJyFCFYaN1N0SuffKdgTKhdKuCXmV4U/3BwivpEhwZurjBtwuSJzslPAgInFnt5ZEJOcXE/a0XWHk9e1Bi0atuOOl+7/3+U39w0LurYkMsGiArWMcnjMTUPdCHb9fKO0SHVxLCaytfuR8E/bUpSYTWTU6kZvXaxeov8e/0GMq8soGMT6Odmrl7g/syx+/2E= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR11MB0676; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(146099531331640)(37804248451712); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:BLUPR11MB0676;BCL:0;PCL:0;RULEID:;SRVR:BLUPR11MB0676; X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0676;4:9QBvV1TDxO23k21G5X6zEU0G154syNKUdfb8UyzaaMsSVVaS7QD1Y5CcHVpcfILBBti6MADiEtenpbcIbQbfUWYOL32iDldktfoa5DMWmkSLGHcQFYfXKCY7vAOwbCtvk3cwiJET9KLGsOCgJmIxNIOfg0WpcuWAs6oKiWVbpllbxfkTG+9buOzwqIPk3HUMRa5498tf57+qFPV7+1AZKabRMWfLTgkoTg8bGASNmL3Cy4uDEq6aE5wmVr10Vsw0pyqjr+SH/s1SckDxvQq26I07tE2CIIXyNG0tOBUF6/5nUm9LfEhnhtKZst2FsfFN9uLUTI4bETSElANeXChxZnGKGUmrP9SBlNcAm4OzaIb/jEI0k/5uY/UYzXVgY/EeRGRN0mCQzZW6KemHRnvoDtho8e2Y0ZTo2MbmMC1E0zCsjV6Z13lK2pI3FAj8v+tPYEApkrjbOTmG5jWN5xLOaI3wFD/r77SlDouyXGsh5ke8IzinWxZF7XBlYj/plOOu X-Forefront-PRVS: 098291215C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(24454002)(189002)(377454003)(586003)(4477795004)(68736007)(64126003)(86362001)(7736002)(6116002)(77096005)(4326007)(305945005)(23746002)(7846002)(36756003)(42186005)(31686004)(50466002)(2950100001)(81156014)(81166006)(15975445007)(3846002)(105586002)(106356001)(8676002)(33646002)(65806001)(47776003)(19580405001)(19580395003)(66066001)(65956001)(101416001)(16601075003)(4001350100001)(189998001)(97736004)(83506001)(31696002)(5001770100001)(92566002)(230700001)(54356999)(2906002)(50986999)(76176999)(65826006)(85282002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR11MB0676;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;BLUPR11MB0676;23:a3q5tfR9bAXMsn8Gh6Ko8uj/ubTikFNO3U+tF?= =?Windows-1252?Q?cllp0aP/Gmlvj90xyp4YmqqpKKECGeIIabZmjLWDDgqL94m26zVFVhz8?= =?Windows-1252?Q?mOJ8mwhfW2Oy7QRJFOdswV6tFqz0QgtPVU3kZqIFaLH7e5uTbG9Qdsju?= =?Windows-1252?Q?afw4irPJeng6M+5ZMcPg7KHULMQpPS9BKfZFDI42sY8q8CmI6MOiy1pO?= =?Windows-1252?Q?wKnPala5/EyV8UoLF5BJk22cTyLhc7+WVPOT+sLmFNi9RPe5oxysXuLQ?= =?Windows-1252?Q?+oTmvJYNnGH2RqzmrMAw232XjTPdyB0fO2q21Vt9IzC+FvsWL/X+PwEs?= =?Windows-1252?Q?4wtqH1io00iEvzPaIRqsM00v9tW1AGAQiD0SBLKsDtzI72MThLlNYHk0?= =?Windows-1252?Q?JPn8D0klaB5luacxnVctqm1zobGUGKxaqkYbE/maTGNRuzS3Qt6FhZSv?= =?Windows-1252?Q?7pa9r9xAWeSckHRxzxI8KJVjpj/7KBUlZTczPVpe6XwTIxqdm63Lt/74?= =?Windows-1252?Q?B71djA55WAuPFJ9gCeKiMy/zdGA1CNBRNK3RqrQ8JObTJ5Z0VTNkNpmI?= =?Windows-1252?Q?wREnLmm2SkD/ScLnhnhKZC00dd3Zc/b2FAKeBgqAyoto9uq5tVZxhXuf?= =?Windows-1252?Q?ZULBALf+XdBWrs9SnNsmUFGojOoMu95rDcRNkzA6akDtL+/CKtzNI5df?= =?Windows-1252?Q?/d0K8UMiknF6aOYN+qLcx/++x9GLWDWNk0v0vUAdnkyiub2FzBFY83jP?= =?Windows-1252?Q?MJJpVosHEcpzgcyaiBo+EXkbdORW1a04NuYhVucdJT7gcmhaTS0iUzEr?= =?Windows-1252?Q?+woAQstSFtg1nl/Ok+pJCLGpAVVWLVo+O71H/SmwIfvwwKFqJzbM+puI?= =?Windows-1252?Q?NaVWuO9g8gBLW2UbLws2kVrz26Dxeq2mtQY+rap/MqqxZL7P9HPJVRTi?= =?Windows-1252?Q?5O6F7pRzwdBQn5lUzAGHyK1diZFM9MoJimBhYf2JGjR2H75fEcr+OCXz?= =?Windows-1252?Q?uSr5ID7+BU0QVXGg6f6kpRfXGltsukSchrXIkCd1/UD3Z0z0tbk3ENnw?= =?Windows-1252?Q?WT076u7b5Oh2sPILe0eT7mDdYtj5E+YO/lIGCWrz4Yb658ifpkY3hpXF?= =?Windows-1252?Q?VHMtj2BzKPclBuygZARA5gOCKCtxKIS54O4I4rAzRQcoscOmc1HMKiE5?= =?Windows-1252?Q?Y3gqnKYON0BcDeaWO2VSWCob9xPO89uzvjJi3+XqAyKaoO0nbMbMKmdn?= =?Windows-1252?Q?bY6PItMnSc5mGFMZZjW3PdEa4N6xM5a8RmySn98Z27WE0Jp61vnD8A54?= =?Windows-1252?Q?T0epEIm/IkqRIZpHkqEGKBYxs1IL/cJ0qf4mwurW1fu83JAS+hevaLkN?= =?Windows-1252?Q?at4Bf0F92tQDrLWdIr+BR/fsHnO5J9U74nuqe1C5pSSv771VP0d0R+if?= =?Windows-1252?Q?5zvHy1H/4FOyyWkR1v4+hczrn+aS6JAVx5woyYg4g=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR11MB0676;6:MISbuYxlNEL62YzxX8TbjoyNftK/qWQI5nlnlZgUW5+snPBDsDUUogXeKJ8GfTCleP6jZdUif9ZkuLExYmmez+69m01/nSDFLov+EAU9wLPaA4zRG4DUJliGNj7zGrQm434ZhDUchXEuYx82xnsvSdj/yznfEwHrAqzy3jiFLoEb2DVJQiE0ebUEZxxyodC0btLwlCwxWDxd1VyGoUDPkViu1kx6CEbF4GPm49DnDFSFNbnocbEUU3WfOX7o7Ke8YpfJqlfCpPkCI/zLrZcBuHwWL7d/Mk1w3CMzmLvM0Q9LZiqRtsYDJnzW+9+WIfY2pVOoC8nTpgZMAunHd/yEMg==;5:TS2TyD8zRBuxUv5ZtuZVAirERek5cd6edkW6QqskDsQeJ8cvBg0/nSPhq1o5vr8WtS7mlfOlZ3WbAznngblzSB3aRqHu4V/p7Y84DUyv5dk+1rGnb7+yBIx4u9TNE5jW0ZDniJkIk1Wm8fmHJQ3NaQ==;24:c62qVBkIZlu1z91x55kqNgpmp15My7GlJ7Mu7EOm5VXS0xHPVgDya62rGyIfENpJIudkaG7BY/+mxvZwa/MGqGsg2P9OcSDkCm65K+kr7RI=;7:064spsrdMtg13QSQLIidk/wi+/TyG4NXd2CIEkzZX97DIzWFZGfQiH4KPPMKQvGwfAYMe+SSWrWgQJ/RrOZ4n3mSFziu8DmDwudePqNgxlZHkV7ytLb5ncCtfFpNOo9IKo48LYAfNfSnRZqikakz7bonwn+yurVF6z9TcEWYroljIdkK1z6qgwqGfJ6YKFYIndf0FtyLD65x1R9qRkpM9mIL1K/mSZ/FhmuPpvJIjwZV6QOLZnSC9IysPw9W2BZqChWzhB0spf7pEE5fXxNJJw== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2016 18:52:57.1834 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR11MB0676 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 6/23/16 12:29 PM, Alvaro Herrera wrote: > David G. Johnston wrote: >> On Thursday, June 23, 2016, Alex Ignatov wrote: >> >>> Arguing just like that one can say that we don't even need exception like >>> "division by zero". Just use well-formed numbers in denominator... >>> Input data sometimes can be generated automagically. Without exception >>> throwing debugging stored function containing to_timestamp can be painful. >> >> to_timestamp with its present behavior is, IMO, a poorly designed function >> that would never be accepted today. > > I'm not sure about that. > > to_timestamp was added to improve compatibility with Oracle, by commit > b866d2e2d794. I suppose the spec should follow what's documented here, > > http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions193.htm > http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34924 > > and that wherever we deviate from that, is a bug that should be fixed. +1 I'm also in favor of a parsing function that actually follows the format specifier, but not enough to write a patch. One thing that I think could happen for 9.6 is documenting how you could get the desired results with one of the regex functions. Not the nicest way to handle this problem, but it is workable and having a regex example available for people to start with would be very helpful. -- 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