Hi Ramin, Thanks for the very well-written FLIP. Very fluent to follow. +1 (binding).
One small thing I noticed: a duplicate key in VARIANT_OBJECT_AGG fails the job. I think different engines have different behaviors here, either first win, last win, or error. We could either think of this on the design or document SQL workarounds when adding the function. What do you think? Kind regards, Gustavo On Thu, 29 Oct 2026 at 18:00, Ramin Gharib <[email protected]> wrote: > Hi everyone, > > Thanks for all the feedback so far. This discussion has been open > for a week now. > > If there are no objections, I'd like to start the vote tomorrow. > > Best, > Ramin > > On Thu, Oct 22, 2026 at 5:36 PM Ramin Gharib <[email protected]> > wrote: > > > Hi everyone, > > > > I'd like to start a discussion on FLIP-618: Edit, Inspect and Build > > VARIANT Values. > > > > Wiki: > > > https://cwiki.apache.org/confluence/spaces/FLINK/pages/461570450/FLIP-618+Edit+Inspect+and+Build+VARIANT+Values > > > > Flink can store and read VARIANT values since 2.1. SQL users still > > cannot inspect or change one field and keep the rest, ask what a value > > contains, > > or build an object from columns without going through JSON text. > > Today each of these needs a UDF that rebuilds the whole value. > > > > The FLIP proposes built-in functions to edit (VARIANT_SET, > > VARIANT_DELETE, VARIANT_MERGE, ...), inspect (IS_VARIANT_NULL, > > VARIANT_KEYS, SCHEMA_OF_VARIANT, ...) and build (VARIANT_OBJECT, > > VARIANT_OBJECT_AGG) VARIANT values, plus a Java API to edit a value > > inside a UDF. > > > > Looking forward to your feedback. > > > > Best, > > Ramin Gharib > > >
