datatable
datatable copied to clipboard
Implement Array[T] column type
Array column is a column where each element is a list (array) of items. We will support arr32 and arr64 types, and the elements in each array will have arbitrary types.
Array columns can be implemented in a way similar to strings: as a list of offsets into a column of some other type. For str32/str64 stypes this "other column" is really just a char* string data section; for arrays, it will be a generic column of type T. Otherwise, arrays are not too different from strings.
The reason we need arrays is so that we can support string split function and regular expression matches. The operators we can support for arrays are:
- [ ] extract an item from an array
- [ ] concatenate arrays
- [ ] slice an array
- [ ] append something to the array
- [ ] sort each array
- [ ] string-join values in the array
- [ ] use array in a format string (e.g. "$0-$1-$2 $3:$4" to format a 5-element array as a time string)
- [ ] make array out of several columns
- [ ] expand array into columns
- [ ] "melt" array into rows (essentially, retrieve the "content" column)
- [x] #3050
- [x] #3052
- [x] #3053
- [x] #3054
- [x] #3116
- [ ] #3117
- [ ] #3118
- [x] #3119
- [x] #3120
- [x] #3121
- [x] #3122
- [ ] #3123
- [x] #3113
- [x] #3124