[ ] integration tests where we perform from index* | eval x = to_integer(field) (resp. to_string, to_ip etc.) for 2 - 3 indices with field mapped to different types (all types that work for a given conversion function like to_integer); also tests with subfields, i.e. when field is replaced by parent.subfield.subsubfield; there's already known problems with gauge fields https://github.com/elastic/elasticsearch/issues/111687.
[ ] a couple of analyzer tests that demonstrate a) the field attributes in the EsRelation after analyzing a plan with different union types and b) the projection we add at the top of the plan to project out the added synthetic attributes
[ ] potentially a couple more csv tests that look for edge cases with keep/drop, and that use union type conversions like client_ip::ip in different, subsequent stats/eval commands
Not being able to use small numeric types like
short
andbyte
as union types indicates that we need to expand test coverage for union types.Let's add:
from index* | eval x = to_integer(field)
(resp.to_string
,to_ip
etc.) for 2 - 3 indices withfield
mapped to different types (all types that work for a given conversion function liketo_integer
); also tests with subfields, i.e. whenfield
is replaced byparent.subfield.subsubfield
; there's already known problems with gauge fields https://github.com/elastic/elasticsearch/issues/111687.EsRelation
after analyzing a plan with different union types and b) the projection we add at the top of the plan to project out the added synthetic attributesclient_ip::ip
in different, subsequent stats/eval commands