When you query Teradata data through a remote Arrow Flight SQL client (for example, through CommandStatementQuery), Teradata Fabric converts Teradata global types to arrow data types before sending the results to the client. See the global to arrow mapping below.
| Global Data Type | Arrow Data Type | Notes |
|---|---|---|
| G_Boolean | Bool | |
| G_Bit | Not supported | G_Bit is not compatible with Teradata data types. |
| G_Blob | Binary | |
| G_ByteInt | Int, BitWidth 8 | |
| G_SmallInt | Int, BitWidth 16 | |
| G_Integer | Int, BitWidth 32 | |
| G_BigInt | Int, BitWidth 64 | |
| G_Byte | Binary | |
| G_Varbyte | Binary | |
| G_Char_Latin | Utf8 | |
| G_Char_UTF16 | Utf8 | |
| G_Clob_Latin | Utf8 | |
| G_Clob_UTF16 | Utf8 | |
| G_Clob | Utf8 | |
| G_Date | Date (DateUnit.DAY) | |
| G_Decimal | Decimal | |
| G_Number | Decimal | |
| G_Double | FloatingPoint, Precision DOUBLE | |
| G_Float | FloatingPoint, Precision SINGLE | |
| G_Time | Time | |
| G_TimeWithTimeZone | Time | |
| G_Timestamp | Timestamp (timezone = null, time unit determined from schema) | |
| G_TimestampWithTimeZone | Timestamp (timezone = "UTC", time unit determined from schema) | Timezone info from the initiator system is lost after conversion because Arrow accepts UTC only. |
| G_Varchar_Latin | Utf8 | |
| G_Varchar_UTF16 | Utf8 | |
| G_Row | Not supported | JDBC mapping does not return G_Row during the schema discovery. |
| G_Array_VC | ListVector | |
| G_Array | ListVector | |
| G_IntervalYearToMonth | Interval, YEAR_MONTH | |
| G_IntervalYear, G_IntervalMonth, G_IntervalDay, G_IntervalDayToHour, G_IntervalDayToMinute, G_IntervalDayToSecond, G_IntervalHour, G_IntervalHourToMinute, G_IntervalHourToSecond, G_IntervalMinute, G_IntervalMinuteToSecond, G_IntervalSecond | Utf8 | Teradata Fabric converts all interval types except G_IntervalYearToMonth to string representation. |
| G_Json | Utf8 | |
| G_XML | Utf8 | |
| G_STGeometry | Utf8 | |
| G_MBB | Utf8 | |
| G_MBR | Utf8 | |
| G_DatasetAvro | VarBinary / LargeBinary | |
| G_Period | Struct | |
| G_Vector | List<FloatingPoint, Precision DOUBLE> | |
| G_Vector32 | List<FloatingPoint, Precision FLOAT> |