|
| 1 | +The SQLite destination supports most [Apache Arrow](https://arrow.apache.org/docs/index.html) |
| 2 | +types. The following table shows the supported types and how they are mapped |
| 3 | +to [SQLite data types](https://www.sqlite.org/datatype3.html). |
| 4 | + |
| 5 | +:::callout{type="info"} |
| 6 | +Unsupported types are always mapped to `text`. |
| 7 | +::: |
| 8 | + |
| 9 | +| Arrow Column Type | Supported? | SQLite Type | |
| 10 | +|------------------------|------------|-------------| |
| 11 | +| Binary | ✅ Yes | `blob` | |
| 12 | +| Boolean | ✅ Yes | `boolean` | |
| 13 | +| Date32 | ✅ Yes | `text` | |
| 14 | +| Date64 | ✅ Yes | `text` | |
| 15 | +| Decimal | ✅ Yes | `text` | |
| 16 | +| Dense Union | ✅ Yes | `text` | |
| 17 | +| Dictionary | ✅ Yes | `text` | |
| 18 | +| Duration | ✅ Yes | `text` | |
| 19 | +| Fixed Size List | ✅ Yes | `text` | |
| 20 | +| Float16 | ✅ Yes | `real` | |
| 21 | +| Float32 | ✅ Yes | `real` | |
| 22 | +| Float64 | ✅ Yes | `real` | |
| 23 | +| Inet | ✅ Yes | `text` | |
| 24 | +| Int8 | ✅ Yes | `integer` | |
| 25 | +| Int16 | ✅ Yes | `integer` | |
| 26 | +| Int32 | ✅ Yes | `integer` | |
| 27 | +| Int64 | ✅ Yes | `integer` | |
| 28 | +| Interval[DayTime] | ✅ Yes | `text` | |
| 29 | +| Interval[MonthDayNano] | ✅ Yes | `text` | |
| 30 | +| Interval[Month] | ✅ Yes | `text` | |
| 31 | +| JSON | ✅ Yes | `text` | |
| 32 | +| Large Binary | ✅ Yes | `blob` | |
| 33 | +| Large List | ✅ Yes | `text` | |
| 34 | +| Large String | ✅ Yes | `text` | |
| 35 | +| List | ✅ Yes | `text` | |
| 36 | +| MAC | ✅ Yes | `text` | |
| 37 | +| Map | ✅ Yes | `text` | |
| 38 | +| String | ✅ Yes | `text` | |
| 39 | +| Struct | ✅ Yes | `text` | |
| 40 | +| Time32 | ✅ Yes | `text` | |
| 41 | +| Time64 | ✅ Yes | `text` | |
| 42 | +| Timestamp | ✅ Yes | `timestamp` | |
| 43 | +| UUID | ✅ Yes | `text` | |
| 44 | +| Uint8 | ✅ Yes | `integer` | |
| 45 | +| Uint16 | ✅ Yes | `integer` | |
| 46 | +| Uint32 | ✅ Yes | `integer` | |
| 47 | +| Uint64 | ✅ Yes | `integer` | |
| 48 | +| Union | ✅ Yes | `text` | |
| 49 | + |
| 50 | +## Notes |
| 51 | + |
| 52 | +- SQLite has a simplified type system with only 5 storage classes: NULL, INTEGER, REAL, TEXT, and BLOB |
| 53 | +- All integer types (signed and unsigned, 8-bit to 64-bit) are stored as SQLite `integer` |
| 54 | +- All floating-point types (Float16, Float32, Float64) are stored as SQLite `real` |
| 55 | +- Complex data types like JSON, List, and Struct are serialized and stored as `text` |
| 56 | +- Binary data uses SQLite's `blob` storage class |
| 57 | +- SQLite's dynamic typing system allows flexible data storage regardless of declared column type |
0 commit comments