Skip to content

Commit b8b20ef

Browse files
committed
fixes
1 parent a4f41ee commit b8b20ef

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/query_farm_server_base/duckdb_serialized_expression.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22
import codecs
33
import math
44
import uuid
5-
from datetime import date, timedelta, time
5+
from datetime import date, datetime, time, timedelta, timezone
66
from decimal import Decimal
77
from typing import Any
8-
from datetime import datetime, timezone
8+
9+
10+
def interpret_timestamp_with_time_zone(value: str) -> str:
11+
return datetime.fromtimestamp(int(value) / 1_000_000, tz=timezone.utc).strftime(
12+
"%Y-%m-%d %H:%M:%S.%f"
13+
)
914

1015

1116
def _quote_string(value: str) -> str:
@@ -363,8 +368,7 @@ def e_to_s(expr: dict[str, Any]) -> str:
363368
elif expression["value"]["type"]["id"] == "TIMESTAMP":
364369
return f"make_timestamp({expression['value']['value']}::bigint)"
365370
elif expression["value"]["type"]["id"] == "TIMESTAMP WITH TIME ZONE":
366-
breakpoint()
367-
return f"to_timestamp({expression['value']['value']}::bigint)"
371+
return interpret_timestamp_with_time_zone(expression["value"]["value"])
368372
elif expression["value"]["type"]["id"] == "TIME":
369373
return f"TIME '{interpret_time(expression['value']['value'])}'"
370374
elif expression["value"]["type"]["id"] == "TIMESTAMP_S":

0 commit comments

Comments
 (0)