I also think `UNKNOWN` is not suitable here.
Because we already have `UNKNOWN` value in SQL, i.e. the three-valued logic
(TRUE, FALSE, UNKNOWN) of BOOLEAN type.
It will confuse users here, what's the relationship between them.

Best,
Jark

On Mon, 21 Oct 2019 at 17:53, Paul Lam <paullin3...@gmail.com> wrote:

> Hi,
>
> IMHO, `UNKNOWN` does not fully reflects the situation here, because the
> types are
> actually “known” to users, and users just want to leave them out of Flink
> type system.
>
> +1 for `RAW`, for it's more intuitive than `OPAQUE`.
>
> Best,
> Paul Lam
>
> > 在 2019年10月21日,16:43,Kurt Young <ykt...@gmail.com> 写道:
> >
> > OPAQUE seems to be a little bit advanced to a lot non-english
> > speakers (including me). I think Xuefu raised a good alternative:
> > UNKNOWN. What do you think about it?
> >
> > Best,
> > Kurt
> >
> >
> > On Mon, Oct 21, 2019 at 3:49 PM Aljoscha Krettek <aljos...@apache.org>
> > wrote:
> >
> >> I prefer OPAQUE compared to ANY because any is often the root object in
> an
> >> object hierarchy and would indicate to users the wrong thing.
> >>
> >> Aljoscha
> >>
> >>> On 18. Oct 2019, at 18:41, Xuefu Z <usxu...@gmail.com> wrote:
> >>>
> >>> Thanks to Timo for bringing up an interesting topic.
> >>>
> >>> Personally, "OPAQUE" doesn't seem very intuitive with respect to types.
> >> (It
> >>> suits pretty well to glasses, thought. :)) Anyway, could we just use
> >>> "UNKNOWN", which is more explicit and true reflects its nature?
> >>>
> >>> Thanks,
> >>> Xuefu
> >>>
> >>>
> >>> On Fri, Oct 18, 2019 at 7:51 AM Timo Walther <twal...@apache.org>
> wrote:
> >>>
> >>>> Hi everyone,
> >>>>
> >>>> Stephan pointed out that our naming of a generic/blackbox/opaque type
> in
> >>>> SQL might be not intuitive for users. As the term ANY rather
> describes a
> >>>> "super-class of all types" which is not the case in our type system.
> Our
> >>>> current ANY type stands for a type that is just a blackbox within SQL,
> >>>> serialized by some custom serializer, that can only be modified within
> >>>> UDFs.
> >>>>
> >>>> I also gathered feedback from a training instructor and native English
> >>>> speaker (David in CC) where I received the following:
> >>>>
> >>>> "The way I’m thinking about this is this: there’s a concept here that
> >>>> people have to become aware of, which is that Flink SQL is able to
> >>>> operate generically on opaquely typed things — and folks need to be
> able
> >>>> to connect what they see in code examples, etc. with this concept
> (which
> >>>> they may be unaware of initially).
> >>>> I feel like ANY misses the mark a little bit, but isn’t particularly
> >>>> bad. I do worry that it may cause some confusion about its purpose and
> >>>> power. I think OPAQUE would more clearly express what’s going on."
> >>>>
> >>>> Also resources like Wikipedia [1] show that this terminology is
> common:
> >>>>
> >>>> "a data type whose concrete data structure is not defined [...] its
> >>>> values can only be manipulated by calling subroutines that have access
> >>>> to the missing information"
> >>>>
> >>>> I would therefore vote for refactoring the type name because it is not
> >>>> used much yet.
> >>>>
> >>>> Implications are:
> >>>>
> >>>> - a new parser keyword "OPAQUE" and changed SQL parser
> >>>>
> >>>> - changes for logical type root, logical type visitors, and their
> usages
> >>>>
> >>>> What do you think?
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Timo
> >>>>
> >>>> [1] https://en.wikipedia.org/wiki/Opaque_data_type
> >>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> Xuefu Zhang
> >>>
> >>> "In Honey We Trust!"
> >>
> >>
>
>

Reply via email to