Skip to content

Commit de0d237

Browse files
committed
fixes
1 parent ed760f0 commit de0d237

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

src/query_farm_server_base/duckdb_serialized_expression.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ def interpret_timestamp_ms(value: int) -> str:
5959
return dt.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] # Trim to milliseconds
6060

6161

62+
def interpret_uhugeint(value: dict[str, Any]) -> str:
63+
upper = value["upper"]
64+
lower = value["lower"]
65+
return str((upper << 64) | lower)
66+
67+
6268
def decode_uuid(value: dict[str, int]) -> str:
6369
assert "upper" in value and "lower" in value, "Invalid GUID format"
6470

@@ -324,14 +330,15 @@ def e_to_s(expr: dict[str, Any]) -> str:
324330
return str(decimal_value)
325331
elif expression["value"]["type"]["id"] in ("FLOAT", "DOUBLE"):
326332
return interpret_real(expression["value"]["value"])
333+
elif expression["value"]["type"]["id"] == "UHUGEINT":
334+
return interpret_uhugeint(expression["value"]["value"])
327335
elif expression["value"]["type"]["id"] in (
328336
"BIGINT",
329337
"INTEGER",
330338
"HUGEINT",
331339
"TINYINT",
332340
"SMALLINT",
333341
"UBIGINT",
334-
"UHUGEINT",
335342
"UINTEGER",
336343
"USMALLINT",
337344
"UTINYINT",

0 commit comments

Comments
 (0)