Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG7KM-0006JS-R5 for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Jun 2016 16:18:03 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bG7KL-0004RM-PI for pgsql-hackers@arkaria.postgresql.org; Thu, 23 Jun 2016 16:18:01 +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 1bG7Iy-0002u2-S5 for pgsql-hackers@postgresql.org; Thu, 23 Jun 2016 16:16:37 +0000 Received: from newmail.postgrespro.ru ([93.174.131.138] helo=mail.postgrespro.ru) by magus.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bG7Iv-0000JZ-AN for pgsql-hackers@postgresql.org; Thu, 23 Jun 2016 16:16:36 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.postgrespro.ru (Postfix) with ESMTP id A50EF21C8FEB; Thu, 23 Jun 2016 19:16:30 +0300 (MSK) X-Virus-Scanned: Debian amavisd-new at postgrespro.ru Received: from mail.postgrespro.ru ([127.0.0.1]) by localhost (mail.postgrespro.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YnGJTsC-lvpm; Thu, 23 Jun 2016 19:16:29 +0300 (MSK) Received: from [192.168.27.30] (unknown [192.168.27.1]) by mail.postgrespro.ru (Postfix) with ESMTPSA id 0E4F121C8FB4; Thu, 23 Jun 2016 19:16:29 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mail; t=1466698589; bh=eCZWPm2KLj2mpSg2KTnx1L0Cjsig7P8mC/z/gncrLpw=; h=Subject:To:References:Cc:From:Date:In-Reply-To; b=ooGddu2d66FxEFMlNchiXGJ7T9SLw3qrhsuul5u7NRSHnSYF2wi4hwbC0gltEO24B M0D0lPoZC+wduJuNy9c/lsXUSh7jUwZLGi1zKybu7Za4sYm5ExwzIuaA28CNiXYFj1 i8NN7fePaCnFtPbKslBd7jWR+PMt0fmijRTyteq0= Subject: Re: Bug in to_timestamp(). To: Bruce Momjian , amul sul References: <1873520224.1784572.1465833145330.JavaMail.yahoo.ref@mail.yahoo.com> <1873520224.1784572.1465833145330.JavaMail.yahoo@mail.yahoo.com> <884791796.213185.1466667686999.JavaMail.yahoo@mail.yahoo.com> <20160623133001.GF21246@momjian.us> Cc: PostgreSQL-development From: Alex Ignatov Message-ID: <1877e60a-a970-18b5-453c-e342f96150e6@postgrespro.ru> Date: Thu, 23 Jun 2016 19:16:30 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <20160623133001.GF21246@momjian.us> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Pg-Spam-Score: -3.4 (---) 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 23.06.2016 16:30, Bruce Momjian wrote: > On Thu, Jun 23, 2016 at 07:41:26AM +0000, amul sul wrote: >> On Monday, 20 June 2016 8:53 PM, Alex Ignatov wrote: >> >> >>>> On 13.06.2016 18:52, amul sul wrote: >>> And it wont stop on some simple whitespace. By using to_timestamp you >>> can get any output results by providing illegal input parameters values: >>> postgres=# SELECT TO_TIMESTAMP('2016-06-13 99:99:99', 'YYYYMMDD >>> HH24:MI:SS'); >>> to_timestamp >>> ------------------------ >>> 2016-01-06 14:40:39+03 >>> >>> (1 row) >> We do consume extra space from input string, but not if it is in format string, see below: >> >> postgres=# SELECT TO_TIMESTAMP('2016-06-13 15:43:36', 'YYYY/MM/DD HH24:MI:SS'); >> to_timestamp >> ------------------------ >> 2016-06-13 15:43:36-07 >> (1 row) >> >> We should have same treatment for format string too. >> >> Thoughts? Comments? > Well, the user specifies the format string, while the input string comes > from the data, so I don't see having them behave the same as necessary. > To be honest they not just behave differently. to_timestamp is just incorrectly handles input data and nothing else.There is no excuse for such behavior: postgres=# SELECT TO_TIMESTAMP('20:-16-06:13: 15_43:!36', 'YYYY/MM/DD HH24:MI:SS'); to_timestamp ------------------------------ 0018-08-05 13:15:43+02:30:17 (1 row) Alex Ignatov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers