]> granicus.if.org Git - postgresql/commit
Support for FF1-FF6 datetime format patterns
authorAlexander Korotkov <akorotkov@postgresql.org>
Mon, 16 Sep 2019 18:02:14 +0000 (21:02 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Mon, 16 Sep 2019 18:14:32 +0000 (21:14 +0300)
commitd589f94460c24d9b7ac21887d031818d6e3f354d
tree7aa11a30c7b97403b337691763fd689cd1be0afb
parentd8122578098d3ff20a9a12d25807e56cecac673c
Support for FF1-FF6 datetime format patterns

SQL Standard 2016 defines FF1-FF9 format patters for fractions of seconds in
jsonpath .datetime() method and CAST (... FORMAT ...) SQL clause.  Parsing
engine of upcoming .datetime() method will be shared with to_date()/
to_timestamp().

This patch implements FF1-FF6 format patterns for upcoming jsonpath .datetime()
method.  to_date()/to_timestamp() functions will also get support of this
format patterns as positive side effect.  FF7-FF9 are not supported due to
lack of precision in our internal timestamp representation.

Extracted from original patch by Nikita Glukhov, Teodor Sigaev, Oleg Bartunov.
Heavily revised by me.

Discussion: https://postgr.es/m/fcc6fc6a-b497-f39a-923d-aa34d0c588e8%402ndQuadrant.com
Discussion: https://postgr.es/m/CAPpHfdsZgYEra_PeCLGNoXOWYx6iU-S3wF8aX0ObQUcZU%2B4XTw%40mail.gmail.com
Author: Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov
Reviewed-by: Anastasia Lubennikova, Peter Eisentraut
doc/src/sgml/func.sgml
src/backend/utils/adt/formatting.c
src/backend/utils/adt/timestamp.c
src/include/utils/datetime.h
src/test/regress/expected/horology.out
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/sql/horology.sql
src/test/regress/sql/timestamp.sql
src/test/regress/sql/timestamptz.sql