MCPcopy Create free account
hub / github.com/PostHog/duckgres / formatArgValue

Function formatArgValue

server/flightclient/flight_executor.go:980–1024  ·  view source on GitHub ↗
(v any)

Source from the content-addressed store, hash-verified

978 return c.exactDatabaseTypeName, c.hasExactDatabaseType
979}
980
981// arrowTypeToDuckDB maps an Arrow DataType back to a DuckDB type name string.
982func arrowTypeToDuckDB(dt arrow.DataType) string {
983 switch dt.ID() {
984 case arrow.BOOL:
985 return "BOOLEAN"
986 case arrow.INT8:
987 return "TINYINT"
988 case arrow.INT16:
989 return "SMALLINT"
990 case arrow.INT32:
991 return "INTEGER"
992 case arrow.INT64:
993 return "BIGINT"
994 case arrow.UINT8:
995 return "UTINYINT"
996 case arrow.UINT16:
997 return "USMALLINT"
998 case arrow.UINT32:
999 return "UINTEGER"
1000 case arrow.UINT64:
1001 return "UBIGINT"
1002 case arrow.FLOAT32:
1003 return "FLOAT"
1004 case arrow.FLOAT64:
1005 return "DOUBLE"
1006 case arrow.STRING, arrow.LARGE_STRING:
1007 return "VARCHAR"
1008 case arrow.BINARY, arrow.LARGE_BINARY:
1009 return "BLOB"
1010 case arrow.DATE32:
1011 return "DATE"
1012 case arrow.TIME64:
1013 return "TIME"
1014 case arrow.TIMESTAMP:
1015 ts := dt.(*arrow.TimestampType)
1016 if ts.TimeZone != "" {
1017 return "TIMESTAMPTZ"
1018 }
1019 return "TIMESTAMP"
1020 case arrow.DECIMAL128:
1021 dec := dt.(*arrow.Decimal128Type)
1022 return fmt.Sprintf("DECIMAL(%d,%d)", dec.Precision, dec.Scale)
1023 case arrow.INTERVAL_MONTH_DAY_NANO:
1024 return "INTERVAL"
1025 case arrow.LIST:
1026 elem := dt.(*arrow.ListType).Elem()
1027 return arrowTypeToDuckDB(elem) + "[]"

Callers 1

interpolateArgsFunction · 0.85

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected