Reply @Timo

> Remove the `used` column for SHOW MODULES. It will always show true.
>
Good catch. It's a copy-paste typo, and I forgot to remove that column.

How about creating a POJO (static inner class of ModuleManager) called
> `ModuleEntry` or similar.
>
+1 for better encapsulation.

Reply @Jark

> A minor comment on `useModules(List<String> names)`, would be better to
> use varargs here to a more fluent API: `useModules("a", "b", "c")`.
>
 +1, and that's better.

Do we also need to add these new methods (useModules, listFullModules)
> to TableEnvironment?
>
Yes, indeed.

Thank you all for polishing this proposal to make it more thorough.

Best,
Jane

On Wed, Feb 3, 2021 at 6:41 PM Jark Wu <imj...@gmail.com> wrote:

> A minor comment on `useModules(List<String> names)`,
> would be better to use varargs here to a more fluent API: `useModules("a",
> "b", "c")`.
>
> Besides, do we also need to add these new methods (useModules,
> listFullModules) to
> TableEnvironment?
>
> Best,
> Jark
>
> On Wed, 3 Feb 2021 at 18:36, Timo Walther <twal...@apache.org> wrote:
>
> > Thanks for the nice summary Jane. The summary looks great. Some minor
> > feedback:
> >
> > - Remove the `used` column for SHOW MODULES. It will always show true.
> >
> > - `List<Pair<String, Boolean>> listFullModules()` is a very long
> > signature. And `Pair` should be avoided in code because it is not very
> > descriptive. How about creating a POJO (static inner class of
> > ModuleManager) called `ModuleEntry` or similar.
> >
> > Otherwise +1 for the proposal.
> >
> > Regards,
> > Timo
> >
> > On 03.02.21 11:24, Jane Chan wrote:
> > > Hi everyone,
> > >
> > > I did a summary on the Jira issue page [1] since the discussion has
> > > achieved a consensus. If there is anything missed or not corrected,
> > please
> > > let me know.
> > >
> > > [1] https://issues.apache.org/jira/browse/FLINK-21045#
> > >
> > > Best,
> > > Jane
> > >
> > >
> > >
> > >
> > >
> > > On Wed, Feb 3, 2021 at 1:33 PM Jark Wu <imj...@gmail.com> wrote:
> > >
> > >> Hi Jane,
> > >>
> > >> Yes. I think we should fail fast.
> > >>
> > >> Best,
> > >> Jark
> > >>
> > >> On Wed, 3 Feb 2021 at 12:06, Jane Chan <qingyue....@gmail.com> wrote:
> > >>
> > >>> Hi everyone,
> > >>>
> > >>> Thanks for the discussion to make this improvement plan clearer.
> > >>>
> > >>> Hi, @Jark, @Rui, and @Timo, I'm collecting the final discussion
> > summaries
> > >>> now and want to confirm one thing that for the statement `USE
> MODULES x
> > >> [,
> > >>> y, z, ...]`, if the module name list contains an unexsited module,
> > shall
> > >> we
> > >>> #1 fail the execution for all of them or #2 enabled the rest modules
> > and
> > >>> return a warning to users? My personal preference goes to #1 for
> > >>> simplicity. What do you think?
> > >>>
> > >>> Best,
> > >>> Jane
> > >>>
> > >>> On Tue, Feb 2, 2021 at 3:53 PM Timo Walther <twal...@apache.org>
> > wrote:
> > >>>
> > >>>> +1
> > >>>>
> > >>>> @Jane Can you summarize our discussion in the JIRA issue?
> > >>>>
> > >>>> Thanks,
> > >>>> Timo
> > >>>>
> > >>>>
> > >>>> On 02.02.21 03:50, Jark Wu wrote:
> > >>>>> Hi Timo,
> > >>>>>
> > >>>>>> Another question is whether a LOAD operation also adds the module
> to
> > >>> the
> > >>>>> enabled list by default?
> > >>>>>
> > >>>>> I would like to add the module to the enabled list by default, the
> > >> main
> > >>>>> reasons are:
> > >>>>> 1) Reordering is an advanced requirement, adding modules needs
> > >>> additional
> > >>>>> USE statements with "core" module
> > >>>>>    sounds too burdensome. Most users should be satisfied with only
> > >> LOAD
> > >>>>> statements.
> > >>>>> 2) We should keep compatible for TableEnvironment#loadModule().
> > >>>>> 3) We are using the LOAD statement instead of CREATE, so I think
> it's
> > >>>> fine
> > >>>>> that it does some implicit things.
> > >>>>>
> > >>>>> Best,
> > >>>>> Jark
> > >>>>>
> > >>>>> On Tue, 2 Feb 2021 at 00:48, Timo Walther <twal...@apache.org>
> > >> wrote:
> > >>>>>
> > >>>>>> Not the module itself but the ModuleManager should handle this
> case,
> > >>>> yes.
> > >>>>>>
> > >>>>>> Regards,
> > >>>>>> Timo
> > >>>>>>
> > >>>>>>
> > >>>>>> On 01.02.21 17:35, Jane Chan wrote:
> > >>>>>>> +1 to Jark's proposal
> > >>>>>>>
> > >>>>>>>     To make it clearer,  will `module#getFunctionDefinition()`
> > >> return
> > >>>> empty
> > >>>>>>> suppose the module is loaded but not enabled?
> > >>>>>>>
> > >>>>>>> Best,
> > >>>>>>> Jane
> > >>>>>>>
> > >>>>>>> On Mon, Feb 1, 2021 at 10:02 PM Timo Walther <twal...@apache.org
> >
> > >>>> wrote:
> > >>>>>>>
> > >>>>>>>> +1 to Jark's proposal
> > >>>>>>>>
> > >>>>>>>> I like the difference between just loading and actually enabling
> > >>> these
> > >>>>>>>> modules.
> > >>>>>>>>
> > >>>>>>>> @Rui: I would use the same behavior as catalogs here. You cannot
> > >>>> `USE` a
> > >>>>>>>> catalog without creating it before.
> > >>>>>>>>
> > >>>>>>>> Another question is whether a LOAD operation also adds the
> module
> > >> to
> > >>>> the
> > >>>>>>>> enabled list by default?
> > >>>>>>>>
> > >>>>>>>> Regards,
> > >>>>>>>> Timo
> > >>>>>>>>
> > >>>>>>>> On 01.02.21 13:52, Rui Li wrote:
> > >>>>>>>>> If `USE MODULES` implies unloading modules that are not listed,
> > >>> does
> > >>>> it
> > >>>>>>>>> also imply loading modules that are not previously loaded,
> > >>> especially
> > >>>>>>>> since
> > >>>>>>>>> we're mapping modules by name now?
> > >>>>>>>>>
> > >>>>>>>>> On Mon, Feb 1, 2021 at 8:20 PM Jark Wu <imj...@gmail.com>
> wrote:
> > >>>>>>>>>
> > >>>>>>>>>> I agree with Timo that the USE implies the specified modules
> are
> > >>> in
> > >>>>>> use
> > >>>>>>>> in
> > >>>>>>>>>> the specified order and others are not used.
> > >>>>>>>>>> This would be easier to know what's the result list and order
> > >>> after
> > >>>>>> the
> > >>>>>>>> USE
> > >>>>>>>>>> statement.
> > >>>>>>>>>> That means: if current modules in order are x, y, z. And `USE
> > >>>> MODULES
> > >>>>>>>> z, y`
> > >>>>>>>>>> means current modules in order are z, y.
> > >>>>>>>>>>
> > >>>>>>>>>> But I would like to not unload the unmentioned modules in the
> > >> USE
> > >>>>>>>>>> statement. Because it seems strange that USE
> > >>>>>>>>>> will implicitly remove modules. In the above example, the user
> > >> may
> > >>>>>> type
> > >>>>>>>> the
> > >>>>>>>>>> wrong modules list using USE by mistake
> > >>>>>>>>>>      and would like to declare the list again, the user has to
> > >>> create
> > >>>>>> the
> > >>>>>>>>>> module again with some properties he may don't know.
> Therefore,
> > >> I
> > >>>>>>>> propose
> > >>>>>>>>>> the USE statement just specifies the current module lists and
> > >>>> doesn't
> > >>>>>>>>>> unload modules.
> > >>>>>>>>>> Besides that, we may need a new syntax to list all the modules
> > >>>>>> including
> > >>>>>>>>>> not used but loaded.
> > >>>>>>>>>> We can introduce SHOW FULL MODULES for this purpose with an
> > >>>> additional
> > >>>>>>>>>> `used` column.
> > >>>>>>>>>>
> > >>>>>>>>>> For example:
> > >>>>>>>>>>
> > >>>>>>>>>> Flink SQL> list modules:
> > >>>>>>>>>> -----------
> > >>>>>>>>>> | modules |
> > >>>>>>>>>> -----------
> > >>>>>>>>>> | x       |
> > >>>>>>>>>> | y       |
> > >>>>>>>>>> | z       |
> > >>>>>>>>>> -----------
> > >>>>>>>>>> Flink SQL> USE MODULES z, y;
> > >>>>>>>>>> Flink SQL> show modules:
> > >>>>>>>>>> -----------
> > >>>>>>>>>> | modules |
> > >>>>>>>>>> -----------
> > >>>>>>>>>> | z       |
> > >>>>>>>>>> | y       |
> > >>>>>>>>>> -----------
> > >>>>>>>>>> Flink SQL> show FULL modules;
> > >>>>>>>>>> -------------------
> > >>>>>>>>>> | modules |  used |
> > >>>>>>>>>> -------------------
> > >>>>>>>>>> | z       | true  |
> > >>>>>>>>>> | y       | true  |
> > >>>>>>>>>> | x       | false |
> > >>>>>>>>>> -------------------
> > >>>>>>>>>> Flink SQL> USE MODULES z, y, x;
> > >>>>>>>>>> Flink SQL> show modules;
> > >>>>>>>>>> -----------
> > >>>>>>>>>> | modules |
> > >>>>>>>>>> -----------
> > >>>>>>>>>> | z       |
> > >>>>>>>>>> | y       |
> > >>>>>>>>>> | x       |
> > >>>>>>>>>> -----------
> > >>>>>>>>>>
> > >>>>>>>>>> What do you think?
> > >>>>>>>>>>
> > >>>>>>>>>> Best,
> > >>>>>>>>>> Jark
> > >>>>>>>>>>
> > >>>>>>>>>> On Mon, 1 Feb 2021 at 19:02, Jane Chan <qingyue....@gmail.com
> >
> > >>>> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>>> Hi Timo, thanks for the discussion.
> > >>>>>>>>>>>
> > >>>>>>>>>>> It seems to reach an agreement regarding #3 that <1> Module
> > >> name
> > >>>>>> should
> > >>>>>>>>>>> better be a simple identifier rather than a string literal.
> <2>
> > >>>>>>>> Property
> > >>>>>>>>>>> `type` is redundant and should be removed, and mapping will
> > >> rely
> > >>> on
> > >>>>>> the
> > >>>>>>>>>>> module name because loading a module multiple times just
> using
> > >> a
> > >>>>>>>>>> different
> > >>>>>>>>>>> module name doesn't make much sense. <3> We should migrate to
> > >> the
> > >>>>>> newer
> > >>>>>>>>>> API
> > >>>>>>>>>>> rather than the deprecated `TableFactory` class.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Regarding #1, I think the point lies in whether changing the
> > >>>>>> resolution
> > >>>>>>>>>>> order implies an `unload` operation explicitly (i.e., users
> > >> could
> > >>>>>> sense
> > >>>>>>>>>>> it). What do others think?
> > >>>>>>>>>>>
> > >>>>>>>>>>> Best,
> > >>>>>>>>>>> Jane
> > >>>>>>>>>>>
> > >>>>>>>>>>> On Mon, Feb 1, 2021 at 6:41 PM Timo Walther <
> > >> twal...@apache.org>
> > >>>>>>>> wrote:
> > >>>>>>>>>>>
> > >>>>>>>>>>>> IMHO I would rather unload the not mentioned modules. The
> > >>>> statement
> > >>>>>>>>>>>> expresses `USE` that implicilty implies that the other
> modules
> > >>> are
> > >>>>>>>> "not
> > >>>>>>>>>>>> used". What do others think?
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> Regards,
> > >>>>>>>>>>>> Timo
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>> On 01.02.21 11:28, Jane Chan wrote:
> > >>>>>>>>>>>>> Hi Jark and Rui,
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Thanks for the discussions.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Regarding #1, I'm fine with `USE MODULES` syntax, and
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>> It can be interpreted as "setting the current order of
> > >>> modules",
> > >>>>>>>>>> which
> > >>>>>>>>>>>> is
> > >>>>>>>>>>>>>> similar to "setting the current catalog" for `USE
> CATALOG`.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>> I would like to confirm that the unmentioned modules remain
> > >> in
> > >>>> the
> > >>>>>>>>>> same
> > >>>>>>>>>>>>> relative order? E.g., if there are three loaded modules
> `X`,
> > >>> `Y`,
> > >>>>>>>>>> `Z`,
> > >>>>>>>>>>>> then
> > >>>>>>>>>>>>> `USE MODULES Y, Z` means shifting the order to `Y`, `Z`,
> `X`.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Regarding #3, I'm fine with mapping modules purely by name,
> > >>> and I
> > >>>>>>>>>> think
> > >>>>>>>>>>>>> Jark raised a good point on making the module name a simple
> > >>>>>>>>>> identifier
> > >>>>>>>>>>>>> instead of a string literal. For backward compatibility,
> > >> since
> > >>> we
> > >>>>>>>>>>> haven't
> > >>>>>>>>>>>>> supported this syntax yet, the affected users are those who
> > >>>> defined
> > >>>>>>>>>>>> modules
> > >>>>>>>>>>>>> in the YAML configuration file. Maybe we can eliminate the
> > >>> 'type'
> > >>>>>>>>>> from
> > >>>>>>>>>>>> the
> > >>>>>>>>>>>>> 'requiredContext' to make it optional. Thus the proposed
> > >>> mapping
> > >>>>>>>>>>>> mechanism
> > >>>>>>>>>>>>> could use the module name to lookup the suitable factory,
> > >> and
> > >>> in
> > >>>>>> the
> > >>>>>>>>>>>>> meanwhile updating documentation to encourage users to
> > >> simplify
> > >>>>>> their
> > >>>>>>>>>>>> YAML
> > >>>>>>>>>>>>> configuration. And in the long run, we can deprecate the
> > >>> 'type'.
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>> Jane
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>> On Mon, Feb 1, 2021 at 4:19 PM Rui Li <
> lirui.fu...@gmail.com
> > >>>
> > >>>>>> wrote:
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Thanks Jane for starting the discussion.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Regarding #1, I also prefer `USE MODULES` syntax. It can
> be
> > >>>>>>>>>>> interpreted
> > >>>>>>>>>>>> as
> > >>>>>>>>>>>>>> "setting the current order of modules", which is similar
> to
> > >>>>>> "setting
> > >>>>>>>>>>> the
> > >>>>>>>>>>>>>> current catalog" for `USE CATALOG`.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> Regarding #3, I'm fine to map modules purely by name
> > >> because I
> > >>>>>> think
> > >>>>>>>>>>> it
> > >>>>>>>>>>>>>> satisfies all the use cases we have at hand. But I guess
> we
> > >>> need
> > >>>>>> to
> > >>>>>>>>>>> make
> > >>>>>>>>>>>>>> sure we're backward compatible, i.e. users don't need to
> > >>> change
> > >>>>>>>>>> their
> > >>>>>>>>>>>> yaml
> > >>>>>>>>>>>>>> files to configure the modules.
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> On Mon, Feb 1, 2021 at 3:10 PM Jark Wu <imj...@gmail.com>
> > >>>> wrote:
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Thanks Jane for the summary and starting the discussion
> in
> > >>> the
> > >>>>>>>>>>> mailing
> > >>>>>>>>>>>>>>> list.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Here are my thoughts:
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> 1) syntax to reorder modules
> > >>>>>>>>>>>>>>> I agree with Rui Li it would be quite useful if we can
> have
> > >>>> some
> > >>>>>>>>>>> syntax
> > >>>>>>>>>>>>>> to
> > >>>>>>>>>>>>>>> reorder modules.
> > >>>>>>>>>>>>>>> I slightly prefer `USE MODULES x, y, z` than `RELOAD
> > >> MODULES
> > >>> x,
> > >>>>>> y,
> > >>>>>>>>>>> z`,
> > >>>>>>>>>>>>>>> because USE has a more sense of effective and specifying
> > >>>>>> ordering,
> > >>>>>>>>>>> than
> > >>>>>>>>>>>>>>> RELOAD.
> > >>>>>>>>>>>>>>>      From my feeling, RELOAD just means we unregister and
> > >>>> register
> > >>>>>>>>>> x,y,z
> > >>>>>>>>>>>>>> modules
> > >>>>>>>>>>>>>>> again,
> > >>>>>>>>>>>>>>> it sounds like other registered modules are still in use
> > >> and
> > >>> in
> > >>>>>> the
> > >>>>>>>>>>>>>> order.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> 3) mapping modules purely by name
> > >>>>>>>>>>>>>>> This can definitely improve the usability of loading
> > >> modules,
> > >>>>>>>>>> because
> > >>>>>>>>>>>>>>> the 'type=' property
> > >>>>>>>>>>>>>>> looks really redundant. We can think of this as a syntax
> > >>> sugar
> > >>>>>> that
> > >>>>>>>>>>> the
> > >>>>>>>>>>>>>>> default type value is the module name.
> > >>>>>>>>>>>>>>> And we can support to specify 'type=' property in the
> > >> future
> > >>> to
> > >>>>>>>>>> allow
> > >>>>>>>>>>>>>>> multiple modules for one module type.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Besides, I would like to mention one more change, that
> the
> > >>>> module
> > >>>>>>>>>>> name
> > >>>>>>>>>>>>>>> proposed in FLIP-68 is a string literal.
> > >>>>>>>>>>>>>>> But I think we are all on the same page to change it
> into a
> > >>>>>> simple
> > >>>>>>>>>>>>>>> (non-compound) identifier.
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> LOAD/UNLOAD MODULE 'core'
> > >>>>>>>>>>>>>>> ==>
> > >>>>>>>>>>>>>>> LOAD/UNLOAD MODULE core
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>>> Jark
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>> On Sat, 30 Jan 2021 at 04:00, Jane Chan <
> > >>> qingyue....@gmail.com
> > >>>>>
> > >>>>>>>>>>> wrote:
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Hi everyone,
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> I would like to start a discussion on FLINK-21045 [1]
> > >> about
> > >>>>>>>>>>> supporting
> > >>>>>>>>>>>>>>>> `LOAD MODULE` and `UNLOAD MODULE` SQL syntax. It's first
> > >>>>>> proposed
> > >>>>>>>>>> by
> > >>>>>>>>>>>>>>>> FLIP-68 [2] as following.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> -- load a module with the given name and append it to
> the
> > >>> end
> > >>>> of
> > >>>>>>>>>> the
> > >>>>>>>>>>>>>>> module
> > >>>>>>>>>>>>>>>> list
> > >>>>>>>>>>>>>>>> LOAD MODULE 'name' [WITH ('type'='xxx', 'prop'='myProp',
> > >>> ...)]
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> --unload a module by name from the module list and other
> > >>>> modules
> > >>>>>>>>>>>> remain
> > >>>>>>>>>>>>>>> in
> > >>>>>>>>>>>>>>>> the same relative positions
> > >>>>>>>>>>>>>>>> UNLOAD MODULE 'name'
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> After a round of discussion on the Jira ticket, it seems
> > >>> some
> > >>>>>>>>>>>>>> unanswered
> > >>>>>>>>>>>>>>>> questions need more opinions and suggestions.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> 1. The way to redefine resolution order easily
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>          Rui Li suggested introducing `USE MODULES` and
> > >>> adding
> > >>>>>>>> similar
> > >>>>>>>>>>>>>>>> functionality to the API because
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>       1) It's very tedious to unload old modules just
> to
> > >>>> reorder
> > >>>>>>>>>> them.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>       2) Users may not even know how to "re-load" an old
> > >>> module
> > >>>>>> if it
> > >>>>>>>>>>> was
> > >>>>>>>>>>>>>> not
> > >>>>>>>>>>>>>>>>> initially loaded by the user, e.g. don't know which
> type
> > >> to
> > >>>>>> use.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>          Jane Chan wondered that module is not like the
> > >>> catalog
> > >>>>>> which
> > >>>>>>>>>>> has
> > >>>>>>>>>>>> a
> > >>>>>>>>>>>>>>>> concept of namespace could specify, and `USE` sounds
> like
> > >> a
> > >>>>>>>>>>>>>>>> mutual-exclusive concept.
> > >>>>>>>>>>>>>>>>          Maybe `RELOAD MODULES` can express upgrading
> the
> > >>>>>> priority of
> > >>>>>>>>>>> the
> > >>>>>>>>>>>>>>> loaded
> > >>>>>>>>>>>>>>>> module(s).
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> 2. `LOAD/UNLOAD MODULE` v.s. `CREATE/DROP MODULE` syntax
> > >>>>>>>>>>>>>>>>          Jark Wu and Nicholas Jiang proposed to use
> > >>>> `CREATE/DROP
> > >>>>>>>>>> MODULE`
> > >>>>>>>>>>>>>>> instead
> > >>>>>>>>>>>>>>>> of `LOAD/UNLOAD MODULE` because
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>>       1) From a pure SQL user's perspective, maybe
> > `CREATE
> > >>>>>> MODULE +
> > >>>>>>>>>> USE
> > >>>>>>>>>>>>>>>> MODULE`
> > >>>>>>>>>>>>>>>>> is easier to use rather than `LOAD/UNLOAD`.
> > >>>>>>>>>>>>>>>>>       2) This will be very similar to what the catalog
> > >> used
> > >>>> now.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>        Timo Walther would rather stick to the agreed
> > design
> > >>>>>> because
> > >>>>>>>>>>>>>>>> loading/unloading modules is a concept known from
> kernels
> > >>> etc.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> 3. Simplify the module design by mapping modules purely
> by
> > >>>> name
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> LOAD MODULE geo_utils
> > >>>>>>>>>>>>>>>> LOAD MODULE hive WITH ('version'='2.1')  -- no dedicated
> > >>>>>>>>>>>>>>> 'type='/'module='
> > >>>>>>>>>>>>>>>> but allow only 1 module to be loaded parameterized
> > >>>>>>>>>>>>>>>> UNLOAD hive
> > >>>>>>>>>>>>>>>> USE MODULES hive, core
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Please find more details in the reference link. Looking
> > >>>> forward
> > >>>>>> to
> > >>>>>>>>>>>> your
> > >>>>>>>>>>>>>>>> feedback.
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> [1] https://issues.apache.org/jira/browse/FLINK-21045#
> > >>>>>>>>>>>>>>>> <
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-68%3A+Extend+Core+Table+System+with+Pluggable+Modules
> > >>>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> [2]
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>
> > >>>>>>
> > >>>>
> > >>>
> > >>
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-68%3A+Extend+Core+Table+System+with+Pluggable+Modules
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>> Best,
> > >>>>>>>>>>>>>>>> Jane
> > >>>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>> --
> > >>>>>>>>>>>>>> Best regards!
> > >>>>>>>>>>>>>> Rui Li
> > >>>>>>>>>>>>>>
> > >>>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>>
> > >>>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>
> > >>>>
> > >>>
> > >>
> > >
> >
> >
>

Reply via email to