ClojureScript

Instance Reader to Support Micro/Nanoseconds

Details

  • Type: Defect Defect
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
  • Environment:
    N/A

Description

Any timestamps with a greater than millisecond precision cannot be handled by the ClouseScript reader:

> cljs.reader.read_date("2012-12-30T23:20:05.066980000-00:00")
> Error: Assert failed: timestamp millisecond field must be in range 0..999 Failed:  0<=66980000<=999 (<= low n high)

Here "2012-12-30T23:20:05.066980000-00:00" is an example of an ordinary timestamp that is returned from Postgres.

ClojureScript reader interprets the nanosecond portion "066980000" as milliseconds and the check here fails:

def parse-and-validate-timestamp
...
   (check 0 ms 999 "timestamp millisecond field must be in range 0..999")

Activity

Thomas Heller made changes -
Field Original Value New Value
Attachment cljs-reader-nanosecond-workarround.patch [ 11837 ]
Thomas Heller made changes -
Thomas Heller made changes -
Attachment cljs-reader-nanosecond-workarround.patch [ 11837 ]

People

Vote (3)
Watch (3)

Dates

  • Created:
    Updated: