diff --git a/.gitmodules b/.gitmodules index ab4faf9..caa3a63 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,5 @@ [submodule "libpg_query"] path = libpg_query - url = https://github.com/pganalyze/libpg_query + # TODO: rollback to original repo after merge https://github.com/pganalyze/libpg_query/pull/368 + url = https://github.com/meskill/libpg_query + branch = fix-at-time-paranses diff --git a/libpg_query b/libpg_query index 204fbdb..7379642 160000 --- a/libpg_query +++ b/libpg_query @@ -1 +1 @@ -Subproject commit 204fbdbd3ed5f8691ab358e49f1fc5397b4679e2 +Subproject commit 73796421fbecca29967b458a79b319982a8bee2a diff --git a/src/deparse.rs b/src/deparse.rs index 5601247..d289212 100644 --- a/src/deparse.rs +++ b/src/deparse.rs @@ -87,4 +87,11 @@ fn test_deparse() { run_test("DELETE FROM users WHERE id = 1"); run_test("SET my_config TO 1"); run_test("TRUNCATE users"); + run_test("SELECT ts AT TIME ZONE tz FROM s"); + run_test("SELECT (ts -> 'a') AT TIME ZONE tz FROM s"); + run_test("SELECT ts AT TIME ZONE (a -> 'b') FROM s"); + run_test("SELECT ts AT TIME ZONE (tz || 'x') FROM s"); + run_test( + "SELECT ((summary ->> 'ts')::timestamptz AT TIME ZONE ((summary -> 'stop') ->> 'tz'))::date AS d FROM s", + ); }