-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support fenl types in Collection
#494
Labels
enhancement
New feature or request
Comments
This was referenced Jul 10, 2023
github-merge-queue bot
pushed a commit
that referenced
this issue
Jul 18, 2023
Adds the `get` function for maps for string and large_string to primitive types. Further additions can support more types. See #494 for task list Testing: * verified that the sample map data (with a largeutf8) produces results as expected.
github-merge-queue bot
pushed a commit
that referenced
this issue
Jul 21, 2023
Uses get index kernels to simplify evaluator types. Supports `Boolean/String/Primitive` types for `get` on maps. Part of #494
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
FenlType::Collection
currently only supports type variables, meaning we can't domap<i32, V>
type signatures. We should refactor theCollection
type to acceptFenlTypes
instead of just type vars, then clean up the parsing and inference code around that.Tasks:
map<k,v>
in type inferenceDataType::Map
inmerge
(spread operation)DataType::Map
infirst/last
aggregationslist<e>
in type inference feat:index
for DataType::List #562DataType::List
inmerge
(spread operation)DataType::List
in aggregationsList
construction usingcollect
functionDataType::Struct
in collect function #602Map
constructionmap[key]
list[index]
get
by key function for maps (get(key, map)
) (feat: support more types for get evaluator for maps #532)get
by index for lists feat:index
for DataType::List #562LargetUtf8
eq_dyn
kernel: https://docs.rs/arrow-ord/44.0.0/src/arrow_ord/comparison.rsmap
is ordered, but trickier to do (efficiently) if not:[{f1: _, f2: _}]
must still equal[{f2: _, f1: _}]
.GetIndex
andtake
kernel to reduce duplication of evaluators/improve iterationDictionary
types for efficientList
(andMap
?) aggregationcolumn<T: Struct, N: any>(input: list<T>, field: string) -> list<N>
list<N>
The text was updated successfully, but these errors were encountered: