test casepyarrow tablecast result
types:downcast{a: [1, 2, 3], b: [1.5, 2.5, 3.5]}@Table[a: int64, b: float64]{a: [1, 2, 3], b: [1.5, 2.5, 3.5]}@Table[a: int32, b: float32]
types:upcast{a: [1, 2, 3], b: [1.5, 2.5, 3.5]}@Table[a: int32, b: float32]{a: [1, 2, 3], b: [1.5, 2.5, 3.5]}@Table[a: int64, b: float64]
overflow:int64->int32{a: [1099511627776, 1]}@Table[a: int64]ERR@ArrowInvalid
truncate:float->int{a: [1.9, -2.1]}@Table[a: float64]ERR@ArrowInvalid
names:mismatch{a: [1, 2], b: [1.5, 2.5]}@Table[a: int64, b: float64]ERR@ValueError
names:reordered{a: [1, 2], b: [1.5, 2.5]}@Table[a: int64, b: float64]ERR@ValueError
names:field-count{a: [1, 2], b: [1.5, 2.5]}@Table[a: int64, b: float64]ERR@ValueError
nullable:false-with-nulls{a: [1, None]}@Table[a: int64]ERR@ValueError
nullable:false-no-nulls{a: [1, 2]}@Table[a: int64]{a: [1, 2]}@Table[a: int32]
timestamp:us->ns{ts: [1970-01-01 00:00:00, 1970-01-01 00:00:01]}@Table[ts: timestamp[us]]{ts: [1970-01-01 00:00:00, 1970-01-01 00:00:01]}@Table[ts: timestamp[ns]]
timestamp:attach-tz{ts: [1970-01-01 00:00:00, 1970-01-01 00:00:01]}@Table[ts: timestamp[us]]{ts: [1970-01-01 00:00:00+00:00, 1970-01-01 00:00:01+00:00]}@Table[ts: timestamp[us, tz=UTC]]
string->large_string{s: [hello, world, None]}@Table[s: string]{s: [hello, world, None]}@Table[s: large_string]
binary->large_binary{b: [b‘x’, b‘yz’, None]}@Table[b: binary]{b: [b‘x’, b‘yz’, None]}@Table[b: large_binary]
nested:list{lst: [[1, 2], [3], None]}@Table[lst: list<item: int64>]{lst: [[1, 2], [3], None]}@Table[lst: list<item: int32>]
nested:list-overflow{lst: [[1099511627776, 1]]}@Table[lst: list<item: int64>]ERR@ArrowInvalid
nested:struct{st: [[(‘x’, 1), (‘y’, ‘a’)], None]}@Table[st: struct<x: int64, y: string>]{st: [[(‘x’, 1), (‘y’, ‘a’)], None]}@Table[st: struct<x: int32, y: large_string>]
nested:map{m: [[(‘k’, 1), (‘j’, 2)], None]}@Table[m: map<string, int64>]{m: [[(‘k’, 1), (‘j’, 2)], None]}@Table[m: map<string, int32>]
multi-chunk-column{a: [1, 2, 3, None]}@Table[a: int64]{a: [1, 2, 3, None]}@Table[a: int32]
empty:0-columns{}@Table[]{}@Table[]
empty:columns-no-rows{i: [], s: []}@Table[i: int64, s: string]{i: [], s: []}@Table[i: int32, s: large_string]