• Alexander Korotkov's avatar
    Improve behavior of to_timestamp()/to_date() functions · cf984672
    Alexander Korotkov authored
    to_timestamp()/to_date() functions were introduced mainly for Oracle
    compatibility, and became very popular among PostgreSQL users.  However, some
    behavior of to_timestamp()/to_date() functions are both incompatible with Oracle
    and confusing for our users.  This behavior is related to handling of spaces and
    separators in non FX (fixed format) mode.  This commit reworks this behavior
    making less confusing, better documented and more compatible with Oracle.
    
    Nevertheless, there are still following incompatibilities with Oracle.
    1) We don't insist that there are no format string patterns unmatched to
       input string.
    2) In FX mode we don't insist space and separators in format string to exactly
       match input string.
    3) When format string patterns are divided by mix of spaces and separators, we
       don't distinguish them, while Oracle takes into account only last group of
       spaces/separators.
    
    Discussion: https://postgr.es/m/1873520224.1784572.1465833145330.JavaMail.yahoo%40mail.yahoo.com
    Author: Artur Zakirov, Alexander Korotkov, Liudmila Mantrova
    Review: Amul Sul, Robert Haas, Tom Lane, Dmitry Dolgov, David G. Johnston
    cf984672
horology.sql 22.1 KB