-
-
Notifications
You must be signed in to change notification settings - Fork 90
Description
ArcadeDB Version:
v24.4.1 (build c714a4f5c827d742d6edd0f7788fe049bc63607b/1713579699346/main)
OS and JDK Version:
Running on Linux 5.15.146.1-microsoft-standard-WSL2 - OpenJDK 64-Bit Server VM 11.0.22 (Temurin-11.0.22+7)
Expected behavior
PostgreSQL API produces DATETIME readable by PostgreSQL clients (i.e., ISO date/datetime).
Actual behavior
Actual date format (regardless of database date format) looks like: Sun May 19 17:05:11 UTC 2024 instead of 2024-05-19T17:05:11Z.
Steps to reproduce
- Add a date of type DATETIME to a vertex in ArcadeDB. This is what I'm using:
CREATE Vertex Type User IF NOT EXISTS;
CREATE PROPERTY CiteUser.createdAt IF NOT EXISTS DATETIME (mandatory true, readonly);
ALTER PROPERTY CiteUser.createdAt DEFAULT sysdate();(Note the ALTER PROPERTY is still required above for the createdAt field to be auto-set; I commented on a closed bug that claimed this was fixed, but I've tested and it very much isn't fixed in the current build. That was bug number one that I found. This is pretty basic functionality--an auto "createdAt" field--and it was a surprise to find that it was flaky.)
- Access that object using the PostgreSQL API.
- Look at the resulting date string.
In particular, if you're using the very standard pg Node.js library to access the PostgreSQL API, all resulting date fields will all be null, because it tries to parse the date strings as if they're ISO strings. Which is what PostgreSQL would put there.
This is two major bugs I've hit in two days of playing with ArcadeDB. It looks like an awesome project, and I love the philosophy, but two major bugs in two days that both required me to dig deeper to figure out what was happening means I'm going to be looking for a more mature alternative for now. Maybe I'll try it again in a year and see how you're all doing; I want to be working on my project, not spending all my time submitting bug reports on (or fixing) ArcadeDB.
It was already a huge red flag that you didn't have a standard Node library set up to work with ArcadeDB. I get that you're probably Java developers, but everyone knows they need to support Node and TypeScript at this point, yes?