You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2023/04/01 18:56:00 UTC
[jira] [Commented] (CALCITE-5538) TimestampString rejects timestamp literals that end with 0 after the period
[ https://issues.apache.org/jira/browse/CALCITE-5538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17707574#comment-17707574 ]
Julian Hyde commented on CALCITE-5538:
--------------------------------------
On reflection, I think that a string that ends in a zero, for example
{code}
new TimestampString("1969-07-21 02:56:15.010")
{code}
should be valid. It will be converted to canonical form, "1969-07-21 02:56:15.01".
I'm working on a fix.
> TimestampString rejects timestamp literals that end with 0 after the period
> ---------------------------------------------------------------------------
>
> Key: CALCITE-5538
> URL: https://issues.apache.org/jira/browse/CALCITE-5538
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.33.0
> Reporter: Mihai Budiu
> Assignee: Julian Hyde
> Priority: Trivial
>
> The root cause is that the TimestampString constructor validates a string argument with the following regular expression: ??"[0-9][0-9][0-9][0-9]{-}[0-9][0-9]{-}[0-9][0-9]"
> + " "
> + "[0-9][0-9]:[0-9][0-9]:[0-9][0-9](.[0-9]*[1-9])?"??
> Unfortunately this rejects perfectly legal timestamp strings such as "2023-02-21 10:10:10.000".
> The fix is trivial, if we agree that this is a bug. Is there a deeper reason for this validation?
> There seem to be no unit tests for this TimestampString constructor.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)