Aldrin M
Aldrin M
Edit: wait, there's a `NamedStruct`: https://github.com/substrait-io/substrait/blob/main/proto/substrait/type.proto#L248-L273. Where are you using `Struct` directly? Edit: Re-reading this, I think "Substrait has decided not to name the inner fields in the types..." isn't...
```sql SELECT COALESCE( {'key1': 'value1', 'key2': 42} ,{'key3': 'value2', 'key4': 44}); ``` Unfortunately, my dev version of duckdb is not based on a recent version at the moment. Could you...
I've thought about this more and I think we've all reached an understanding that `Type.Struct` and `ReadRel` do not need to be changed (or at least the proposed changes don't...
> I don't understand why having two types would be better than adding the names It's not, I think you misread my comment. > VirtualTables... Doesn't do anything to help...
> The return type of the function depends on the field names of the input structs. I could definitely see that `Expression.output_type` is not capable of propagating names of struct...
I assume ``` values ( array( named_struct('inner_struct_field', 'a') ) ) ,(null) as table(array_struct_col) ``` should construct a virtual table like so: | Row ID | array_struct_col | | ------- |...
@ingomueller-net so you think that an empty named_struct should always reflect the other input? I suppose that seems consistent given that the expectation seems to be that the producer would...
Moving my comment from #726 to here since it made more sense. I'm assuming the `relations` field refers to inputs of the `ExpressionReference` and are not meant to be pointers...
> see [an example](https://github.com/substrait-io/substrait-python/blob/1d9fbdaf9b906db14a465a6132c016dc27878002/examples/builder_example.py#L16). I think I can follow that the `scalar_function` builder returns a "resolver" and that the resolver is used to set an `expression` field. I do not...
This sounds cool and potentially related to something I'm working on. > Functions in substrait fortunately let you define "pointers" in a relaxed fashion with anchors. This means that as...