Hi, Timo. thanks.

I have copied the content of docs and updated the FLIP.

Thanks for your advice about consistency(ILIKE).
Because calcite already support parse ILIKE and exist
SqlLibraryOperators.ILIKE(which means it's not std).
It's will not difficult to support it, and we just need to support it in
table & sql api and not need to change sql keywords or Parser.jj.

However, in flink docs, we may let users know that this is not standard,
just for better use.

Best Regards,
Ran Tao


Timo Walther <twal...@apache.org> 于2023年2月28日周二 22:23写道:

> Hi Ran Tao,
>
> Thanks for working on this FLIP. The FLIP is in a pretty good shape
> already and I don't have much to add.
>
> Will we also support ILIKE in queries? Or is this a pure DDL
> expressions? For consistency, we should support it in SELECT and Table
> API as well. I hope this is not too much effort. I hope everybody is
> aware that ILIKE is not standard compliant but seems to be used by a
> variety of vendors.
>
>  > Because it may be modified under discuss, we put it on the google
> docs. please see FLIP-297: Improve Auxiliary Sql Statements Docs
>
> This comment confused me. It would be nice to have the Wiki page as the
> single source of truth and abandon the Google doc. In the past we used
> Google Docs more but nowadays I support using only the Wiki to avoid any
> confusion.
>
> Regards,
> Timo
>
>
> On 28.02.23 12:51, Ran Tao wrote:
> > thanks Sergey, sounds good.
> > You can add in FLIP ticket[1].
> >
> > [1] https://issues.apache.org/jira/browse/FLINK-31256
> >
> > Best Regards,
> > Ran Tao
> > https://github.com/chucheng92
> >
> >
> > Sergey Nuyanzin <snuyan...@gmail.com> 于2023年2月28日周二 19:44写道:
> >
> >>>> Currently I think we can load from the jar and check the services
> file to
> >>>> get the connector type. but is it necessary we may continue to
> discuss.
> >>>> Hi, Sergey, WDYT?
> >>
> >> Another idea is FactoryUtil#discoverFactories and
> >> check if it implements DynamicTableSourceFactory or
> DynamicTableSinkFactory
> >> with versions it could be trickier...
> >> Moreover it seems the version could be a part of the name sometimes[1].
> >> I think name and type could be enough or please correct me if I'm wrong
> >>
> >>>> or can we open a single ticket under this FLIP?
> >> I have a relatively old jira issue[2] for showing connectors with a poc
> pr.
> >> Could I propose to move this jira issue as a subtask under the FLIP one
> and
> >> revive it?
> >>
> >> [1]
> >>
> >>
> https://github.com/apache/flink/blob/161014149e803bfd1d3653badb230b2ed36ce3cb/flink-table/flink-table-common/src/main/java/org/apache/flink/table/factories/Factory.java#L65-L69
> >> [2] https://issues.apache.org/jira/browse/FLINK-25788
> >>
> >> On Tue, Feb 28, 2023 at 11:56 AM Ran Tao <chucheng...@gmail.com> wrote:
> >>
> >>> Hi, Jark. thanks.
> >>>> About ILIKE
> >>> I have updated the FLIP for ILIKE support (Including existing
> showTables
> >> &
> >>> showColumns how to change).
> >>>
> >>>> About show connectors @Sergey,
> >>> Currently I think we can load from the jar and check the services file
> to
> >>> get the connector type. but is it necessary we may continue to discuss.
> >>> Hi, Sergey, WDYT?or can we open a single ticket under this FLIP?
> >>>
> >>>
> >>> Best Regards,
> >>> Ran Tao
> >>>
> >>>
> >>> Jark Wu <imj...@gmail.com> 于2023年2月28日周二 17:45写道:
> >>>
> >>>> Besides, if we introduce the ILIKE, we should also add this feature
> for
> >>>> the previous SHOW with LIKE statements. They should be included in
> this
> >>>> FLIP.
> >>>>
> >>>> Best,
> >>>> Jark
> >>>>
> >>>>> 2023年2月28日 17:40,Jark Wu <imj...@gmail.com> 写道:
> >>>>>
> >>>>> Hi Ran,
> >>>>>
> >>>>> Could you add descriptions about what’s the behavior and differences
> >>>> between the LIKE and ILIKE?
> >>>>>
> >>>>> Besides, I don’t see the SHOW CONNECTOR syntax and description and
> >> how
> >>>> it works in the FLIP. Is it intended to be included in this FLIP?
> >>>>>
> >>>>> Best,
> >>>>> Jark
> >>>>>
> >>>>>
> >>>>>> 2023年2月28日 10:58,Ran Tao <chucheng...@gmail.com> 写道:
> >>>>>>
> >>>>>> Hi, guys. thanks for advices.
> >>>>>>
> >>>>>> allow me to make a small summary:
> >>>>>>
> >>>>>> 1.Support ILIKE
> >>>>>> 2.Using catalog api to support show operations
> >>>>>> 3.Need a dedicated FLIP try to support INFORMATION_SCHEMA
> >>>>>> 4.Support SHOW CONNECTORS
> >>>>>>
> >>>>>> If there are no other questions, i will try to start a VOTE for this
> >>>> FLIP.
> >>>>>> WDYT?
> >>>>>>
> >>>>>> Best Regards,
> >>>>>> Ran Tao
> >>>>>>
> >>>>>>
> >>>>>> Sergey Nuyanzin <snuyan...@gmail.com> 于2023年2月27日周一 21:12写道:
> >>>>>>
> >>>>>>> Hi Jark,
> >>>>>>>
> >>>>>>> thanks for your comment.
> >>>>>>>
> >>>>>>>> Considering they
> >>>>>>>> are orthogonal and information schema requires more complex design
> >>> and
> >>>>>>>> discussion, it deserves a separate FLIP
> >>>>>>> I'm ok with a separate FLIP for INFORMATION_SCHEMA.
> >>>>>>>
> >>>>>>>> Sergey, are you willing to contribute this FLIP?
> >>>>>>> Seems I need to have more research done for that.
> >>>>>>> I would try to help/contribute here
> >>>>>>>
> >>>>>>>
> >>>>>>> On Mon, Feb 27, 2023 at 3:46 AM Ran Tao <chucheng...@gmail.com>
> >>> wrote:
> >>>>>>>
> >>>>>>>> HI, Jing. thanks.
> >>>>>>>>
> >>>>>>>> @about ILIKE, from my collections of some popular engines founds
> >>> that
> >>>>>>> just
> >>>>>>>> snowflake has this syntax in show with filtering.
> >>>>>>>> do we need to support it? if yes, then current some existed show
> >>>>>>> operations
> >>>>>>>> need to be addressed either.
> >>>>>>>> @about ShowOperation with like. it's a good idea. yes, two
> >>> parameters
> >>>> for
> >>>>>>>> constructor can work. thanks for your advice.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Best Regards,
> >>>>>>>> Ran Tao
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Jing Ge <j...@ververica.com.invalid> 于2023年2月27日周一 06:29写道:
> >>>>>>>>
> >>>>>>>>> Hi,
> >>>>>>>>>
> >>>>>>>>> @Aitozi
> >>>>>>>>>
> >>>>>>>>> This is exactly why LoD has been introduced: to avoid exposing
> >>>> internal
> >>>>>>>>> structure(2nd and lower level API).
> >>>>>>>>>
> >>>>>>>>> @Jark
> >>>>>>>>>
> >>>>>>>>> IMHO, there is no conflict between LoD and "High power-to-weight
> >>>> ratio"
> >>>>>>>>> with the given example, List.subList() returns List interface
> >>> itself,
> >>>>>>> no
> >>>>>>>>> internal or further interface has been exposed. After offering
> >>>>>>>>> tEvn.getCatalog(), "all" methods in Catalog Interface have been
> >>>>>>> provided
> >>>>>>>> by
> >>>>>>>>> TableEnvironment(via getCatalog()). From user's perspective and
> >>>>>>>> maintenance
> >>>>>>>>> perspective there is no/less difference between providing them
> >>>> directly
> >>>>>>>> via
> >>>>>>>>> TableEnvironment or via getCatalog(). They are all exposed. Using
> >>>>>>>>> getCatalog() will reduce the number of boring wrapper methods,
> >> but
> >>> on
> >>>>>>> the
> >>>>>>>>> other hand not every method in Catalog needs to be exposed, so
> >> the
> >>>>>>> number
> >>>>>>>>> of wrapper methods would be limited/less, if we didn't expose
> >>>> Catalog.
> >>>>>>>>> Nevertheless, since we already offered getCatalog(), it makes
> >> sense
> >>>> to
> >>>>>>>>> continue using it. The downside is the learning effort for users
> >> -
> >>>> they
> >>>>>>>>> have to know that listDatabases() is hidden in Catalog, go to
> >>> another
> >>>>>>>>> haystack and then find the needle in there.
> >>>>>>>>>
> >>>>>>>>> +1 for Information schema with a different FLIP. From a design
> >>>>>>>> perspective,
> >>>>>>>>> information schema should be the first choice for most cases and
> >>> easy
> >>>>>>> to
> >>>>>>>>> use. Catalog, on the other hand, will be more powerful and offer
> >>> more
> >>>>>>>>> advanced features.
> >>>>>>>>>
> >>>>>>>>> Best regards,
> >>>>>>>>> Jing
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Sat, Feb 25, 2023 at 3:57 PM Jark Wu <imj...@gmail.com>
> >> wrote:
> >>>>>>>>>
> >>>>>>>>>> Hi Sergey,
> >>>>>>>>>>
> >>>>>>>>>> I think INFORMATION_SCHEMA is a very interesting idea, and I
> >> hope
> >>> we
> >>>>>>>> can
> >>>>>>>>>> support it. However, it doesn't conflict with the idea of
> >>> auxiliary
> >>>>>>>>>> statements. I can see different benefits of them. The
> >> information
> >>>>>>>> schema
> >>>>>>>>>> provides powerful and flexible capabilities but needs to learn
> >> the
> >>>>>>>>> complex
> >>>>>>>>>> entity relationship[1]. The auxiliary SQL statements are super
> >>> handy
> >>>>>>>> and
> >>>>>>>>>> can resolve most problems, but they offer limited features.
> >>>>>>>>>>
> >>>>>>>>>> I can see almost all the mature systems support both of them. I
> >>>> think
> >>>>>>>> it
> >>>>>>>>>> also makes sense to support both of them in Flink. Considering
> >>> they
> >>>>>>>>>> are orthogonal and information schema requires more complex
> >> design
> >>>>>>> and
> >>>>>>>>>> discussion, it deserves a separate FLIP. Sergey, are you willing
> >>> to
> >>>>>>>>>> contribute this FLIP?
> >>>>>>>>>>
> >>>>>>>>>> Best,
> >>>>>>>>>> Jark
> >>>>>>>>>>
> >>>>>>>>>> [1]:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>
> >>>
> >>
> https://docs.databricks.com/sql/language-manual/sql-ref-information-schema.html
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On Fri, 24 Feb 2023 at 22:43, Ran Tao <chucheng...@gmail.com>
> >>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Thanks John.
> >>>>>>>>>>>
> >>>>>>>>>>> It seems that most people prefer the information_schema
> >>>>>>>> implementation.
> >>>>>>>>>>> information_schema does have more benefits (however, the show
> >>>>>>>> operation
> >>>>>>>>>> is
> >>>>>>>>>>> also an option and supplement).
> >>>>>>>>>>> Otherwise, the sql syntax and keywords may be changed
> >> frequently.
> >>>>>>>>>>> Of course, it will be more complicated than the extension of
> >> the
> >>>>>>> show
> >>>>>>>>>>> operation.
> >>>>>>>>>>> It is necessary to design various tables in information_schema,
> >>>>>>>> which
> >>>>>>>>>> may
> >>>>>>>>>>> take a period of effort.
> >>>>>>>>>>>
> >>>>>>>>>>> I will try to design the information_schema and integrate it
> >> with
> >>>>>>>>> flink.
> >>>>>>>>>>> This may be a relatively big feature for me. I hope you guys
> >> can
> >>>>>>> give
> >>>>>>>>>>> comments and opinions later.
> >>>>>>>>>>> Thank you all.
> >>>>>>>>>>>
> >>>>>>>>>>> Best Regards,
> >>>>>>>>>>> Ran Tao
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> John Roesler <vvcep...@apache.org> 于2023年2月24日周五 21:53写道:
> >>>>>>>>>>>
> >>>>>>>>>>>> Hello Ran,
> >>>>>>>>>>>>
> >>>>>>>>>>>> Thanks for the FLIP!
> >>>>>>>>>>>>
> >>>>>>>>>>>> Do you mind if we revisit the topic of doing this by adding an
> >>>>>>>>>>> Information
> >>>>>>>>>>>> schema? The SHOW approach requires modifying the
> >> parser/language
> >>>>>>>> for
> >>>>>>>>>>> every
> >>>>>>>>>>>> gap we identify. On the flip side, an Information schema is
> >> much
> >>>>>>>>> easier
> >>>>>>>>>>> to
> >>>>>>>>>>>> discover and remember how to use, and the ability to run
> >> queries
> >>>>>>> on
> >>>>>>>>> it
> >>>>>>>>>> is
> >>>>>>>>>>>> quite valuable for admins. It’s also better for Flink
> >>>>>>> maintainers,
> >>>>>>>>>>> because
> >>>>>>>>>>>> the information tables’ schemas can be evolved over time just
> >>>>>>> like
> >>>>>>>>>>> regular
> >>>>>>>>>>>> tables, whereas every change to a SHOW statement would be a
> >>>>>>>> breaking
> >>>>>>>>>>>> change.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I understand that it may seem like a big effort, but we’re
> >>>>>>>> proposing
> >>>>>>>>>>> quite
> >>>>>>>>>>>> a big extension to the space of SHOW statement, so it seems
> >>>>>>>>> appropriate
> >>>>>>>>>>> to
> >>>>>>>>>>>> take the opportunity and migrate to a better framework rather
> >>>>>>> than
> >>>>>>>>>>>> incrementally building on (and tying us even more firmly to)
> >> the
> >>>>>>>>>> existing
> >>>>>>>>>>>> approach.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Thanks for your consideration,
> >>>>>>>>>>>> John
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Fri, Feb 24, 2023, at 05:58, Sergey Nuyanzin wrote:
> >>>>>>>>>>>>> thanks for explanation
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> But it's not clear to me what exactly
> >>>>>>>>>>>>>> you want to display? Is it the name of the plugin?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I was thinking about name, type (source/sink) and may be
> >>>>>>> version
> >>>>>>>>> (not
> >>>>>>>>>>>> sure
> >>>>>>>>>>>>> if it's possible right now)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On Fri, Feb 24, 2023 at 12:46 PM Ran Tao <
> >>>>>>> chucheng...@gmail.com>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Hi, Sergey. thanks. first step we can support filtering for
> >>>>>>> show
> >>>>>>>>>>>> operations
> >>>>>>>>>>>>>> in this FLIP try to align other engines.
> >>>>>>>>>>>>>> If we want to support describe other objects, of course we
> >>>>>>> need
> >>>>>>>> to
> >>>>>>>>>>>> design
> >>>>>>>>>>>>>> how to get these metadatas or informations and printAsStyle.
> >>>>>>> (So
> >>>>>>>>> it
> >>>>>>>>>>>> maybe
> >>>>>>>>>>>>>> need another FLIP for more details).
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Does it make sense to add support for connectors e.g. show
> >>>>>>>>>>>>>>> {sink|source|all} connectors?
> >>>>>>>>>>>>>> I think we can support it, currently flink do support some
> >>>>>>>>>> operations
> >>>>>>>>>>>> only
> >>>>>>>>>>>>>> for flink itself such as showJobs. But it's not clear to me
> >>>>>>> what
> >>>>>>>>>>> exactly
> >>>>>>>>>>>>>> you want to display? Is it the name of the plugin?
> >>>>>>>>>>>>>> Just Like:
> >>>>>>>>>>>>>> Kafka
> >>>>>>>>>>>>>> Hudi
> >>>>>>>>>>>>>> Files
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Best Regards,
> >>>>>>>>>>>>>> Ran Tao
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Sergey Nuyanzin <snuyan...@gmail.com> 于2023年2月24日周五
> >> 19:11写道:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks for driving the FLIP
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> I have a couple of questions
> >>>>>>>>>>>>>>> Am I right that INFORMATION_SCHEMA mentioned by Timo[1]  is
> >>>>>>>> out
> >>>>>>>>> of
> >>>>>>>>>>>> scope
> >>>>>>>>>>>>>> of
> >>>>>>>>>>>>>>> this FLIP?
> >>>>>>>>>>>>>>> I noticed there are some support of it in
> >>>>>>>>>>>> Spark[2]/Hive[3]/Snowflake[4]
> >>>>>>>>>>>>>> and
> >>>>>>>>>>>>>>> others
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Does it make sense to add support for connectors e.g. show
> >>>>>>>>>>>>>>> {sink|source|all} connectors?
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> [1]
> >>>>>>>>>>>
> >> https://lists.apache.org/thread/2g108qlfwbhb56wnoc5qj0yq29dvq1vv
> >>>>>>>>>>>>>>> [2] https://issues.apache.org/jira/browse/SPARK-16452
> >>>>>>>>>>>>>>> [3] https://issues.apache.org/jira/browse/HIVE-1010
> >>>>>>>>>>>>>>> [4]
> >> https://docs.snowflake.com/en/sql-reference/info-schema
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Fri, Feb 24, 2023 at 4:19 AM Jark Wu <imj...@gmail.com>
> >>>>>>>>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Hi Jing,
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> we'd better reduce the dependency chain and follow the
> >>>>>>> Law
> >>>>>>>>> of
> >>>>>>>>>>>>>>>> Demeter(LoD, clean code).
> >>>>>>>>>>>>>>>>> Adding a new method in TableEnvironment is therefore
> >>>>>>>> better
> >>>>>>>>>> than
> >>>>>>>>>>>>>>> calling
> >>>>>>>>>>>>>>>> an API chain
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> I think I don't fully agree that LoD is a good practice.
> >>>>>>>>>>> Actually, I
> >>>>>>>>>>>>>>> would
> >>>>>>>>>>>>>>>> prefer to keep the API clean and concise.
> >>>>>>>>>>>>>>>> This is also the Java Collection Framework design
> >>>>>>> principle
> >>>>>>>>> [1]:
> >>>>>>>>>>>> "High
> >>>>>>>>>>>>>>>> power-to-weight ratio". Otherwise,
> >>>>>>>>>>>>>>>> it will explode the API interfaces with different
> >>>>>>>> combinations
> >>>>>>>>>> of
> >>>>>>>>>>>>>>> methods.
> >>>>>>>>>>>>>>>> Currently, TableEnvironment
> >>>>>>>>>>>>>>>> already provides 60+ methods.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> IMO, with the increasing methods of accessing and
> >>>>>>>> manipulating
> >>>>>>>>>>>>>> metadata,
> >>>>>>>>>>>>>>>> they can be extracted to
> >>>>>>>>>>>>>>>> a separate interface, where we can add richer methods.
> >>>>>>> This
> >>>>>>>>> work
> >>>>>>>>>>>> can be
> >>>>>>>>>>>>>>>> aligned with the
> >>>>>>>>>>>>>>>> CatalogManager interface (FLIP-295) [2].
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Best,
> >>>>>>>>>>>>>>>> Jark
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> [1]:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>
> >>>
> >>
> https://stackoverflow.com/questions/7568819/why-no-tail-or-head-method-in-list-to-get-last-or-first-element
> >>>>>>>>>>>>>>>> [2]:
> >>>>>>>>>>>>
> >>> https://lists.apache.org/thread/9bnjblgd9wvrl75lkm84oo654c4lqv70
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> On Fri, 24 Feb 2023 at 10:38, Aitozi <
> >>>>>>> gjying1...@gmail.com>
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Hi,
> >>>>>>>>>>>>>>>>>    Thanks for the nice proposal, Ran.
> >>>>>>>>>>>>>>>>>    Regarding this api usage, I have some discussion
> >>>>>>> with
> >>>>>>>>>>> @twalthr
> >>>>>>>>>>>>>>> before
> >>>>>>>>>>>>>>>>> as here <
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>> https://github.com/apache/flink/pull/15137#issuecomment-1356124138
> >>>>>>>>>
> >>>>>>>>>>>>>>>>> Personally, I think leaking the Catalog to the user side
> >>>>>>>> is
> >>>>>>>>>> not
> >>>>>>>>>>>>>>> suitable,
> >>>>>>>>>>>>>>>>> since there are some read/write operations in the
> >>>>>>> Catalog,
> >>>>>>>>> the
> >>>>>>>>>>>>>>>>> TableEnvironment#getCatalog will expose all of them to
> >>>>>>> the
> >>>>>>>>>> user
> >>>>>>>>>>>> side.
> >>>>>>>>>>>>>>> So
> >>>>>>>>>>>>>>>> I
> >>>>>>>>>>>>>>>>> learned to add a new api in TableEnvironment to reduce
> >>>>>>>>>> reliance
> >>>>>>>>>>> on
> >>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>> current TableEnvironment#getCatalog.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>>>>> Aitozi
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Ran Tao <chucheng...@gmail.com> 于2023年2月23日周四 23:44写道:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Hi, JingSong, Jing.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> thank for sharing your opinions.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> What you say makes sense, both approaches have pros
> >>>>>>> and
> >>>>>>>>>> cons.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> If it is a modification of `TableEnvrionment`, such as
> >>>>>>>>>>>>>>>>>> listDatabases(catalog). It is actually consistent with
> >>>>>>>> the
> >>>>>>>>>>> other
> >>>>>>>>>>>>>>>>> overloaded
> >>>>>>>>>>>>>>>>>> methods before,
> >>>>>>>>>>>>>>>>>> and defining this method means that TableEnvrionment
> >>>>>>>> does
> >>>>>>>>>>>> provide
> >>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>> capability (rather than relying on the functionality
> >>>>>>> of
> >>>>>>>>>>> another
> >>>>>>>>>>>>>>> class).
> >>>>>>>>>>>>>>>>>> The disadvantage is that api changes may be required,
> >>>>>>>> and
> >>>>>>>>>> may
> >>>>>>>>>>>>>>> continue
> >>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>> be modified in the future.
> >>>>>>>>>>>>>>>>>> But from the TableEnvrionment itself, it really
> >>>>>>> doesn't
> >>>>>>>>> pay
> >>>>>>>>>>>>>> attention
> >>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>> how the underlying layer is implemented.
> >>>>>>>>>>>>>>>>>> (Although it is actually taken from the catalogManager
> >>>>>>>> at
> >>>>>>>>>>>> present,
> >>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>> another question)
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Judging from the current dependencies,
> >>>>>>>>> flink-table-api-java
> >>>>>>>>>>>>>> strongly
> >>>>>>>>>>>>>>>>> relies
> >>>>>>>>>>>>>>>>>> on flink-table-common to use various common classes
> >>>>>>> and
> >>>>>>>>>>>> interfaces,
> >>>>>>>>>>>>>>>>>> especially the catalog interface.
> >>>>>>>>>>>>>>>>>> So we can extract various metadata information in the
> >>>>>>>>>> catalog
> >>>>>>>>>>>>>> through
> >>>>>>>>>>>>>>>>>> `tEnv.getCatalog`.
> >>>>>>>>>>>>>>>>>> The advantage is that it will not cause api
> >>>>>>>> modification,
> >>>>>>>>>> but
> >>>>>>>>>>>> this
> >>>>>>>>>>>>>>>> method
> >>>>>>>>>>>>>>>>>> of use breaks LoD.
> >>>>>>>>>>>>>>>>>> In fact, the current flink-table-api-java design is
> >>>>>>>>>> completely
> >>>>>>>>>>>>>> bound
> >>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>> catalog interface.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> If the mandatory modification of PublicApi is
> >>>>>>>> constrained
> >>>>>>>>>> (may
> >>>>>>>>>>>> be
> >>>>>>>>>>>>>>>>> modified
> >>>>>>>>>>>>>>>>>> again and later), I tend to use `tEnv.getCatalog`
> >>>>>>>>> directly,
> >>>>>>>>>>>>>> otherwise
> >>>>>>>>>>>>>>>>>> It would actually be more standard to add overloaded
> >>>>>>>>> methods
> >>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>> `TableEnvrionment`.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Another question, can the later capabilities of
> >>>>>>>>>>>> TableEnvrionment be
> >>>>>>>>>>>>>>>>>> implemented through SupportXXX?
> >>>>>>>>>>>>>>>>>> In order to solve the problem that the method needs to
> >>>>>>>> be
> >>>>>>>>>>> added
> >>>>>>>>>>>> in
> >>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>> future. This kind of usage occurs frequently in flink.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Looking forward to your other considerations,
> >>>>>>>>>>>>>>>>>> and also try to wait to see if there are other
> >>>>>>> relevant
> >>>>>>>>> API
> >>>>>>>>>>>>>> designers
> >>>>>>>>>>>>>>>> or
> >>>>>>>>>>>>>>>>>> committers to provide comments.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Best Regards,
> >>>>>>>>>>>>>>>>>> Ran Tao
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Jing Ge <j...@ververica.com.invalid> 于2023年2月23日周四
> >>>>>>>>> 18:58写道:
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Hi Jingson,
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Thanks for sharing your thoughts. Please see my
> >>>>>>> reply
> >>>>>>>>>> below.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 10:16 AM Jingsong Li <
> >>>>>>>>>>>>>>> jingsongl...@gmail.com
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Hi Jing Ge,
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> First, flink-table-common contains all common
> >>>>>>>> classes
> >>>>>>>>> of
> >>>>>>>>>>>> Flink
> >>>>>>>>>>>>>>>> Table,
> >>>>>>>>>>>>>>>>>>>> I think it is hard to bypass its dependence.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> If any time when we use flink-table-api-java, we
> >>>>>>> have
> >>>>>>>> to
> >>>>>>>>>>> cross
> >>>>>>>>>>>>>>>> through
> >>>>>>>>>>>>>>>>>>> flink-table-api-java and use flink-table-common, we
> >>>>>>>>> should
> >>>>>>>>>>>>>>> reconsider
> >>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>> design of these two modules and how
> >>>>>>> interfaces/classes
> >>>>>>>>> are
> >>>>>>>>>>>>>>> classified
> >>>>>>>>>>>>>>>>>> into
> >>>>>>>>>>>>>>>>>>> those modules.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Secondly, almost all methods in Catalog looks
> >>>>>>> useful
> >>>>>>>>> to
> >>>>>>>>>>> me,
> >>>>>>>>>>>> so
> >>>>>>>>>>>>>> if
> >>>>>>>>>>>>>>>> we
> >>>>>>>>>>>>>>>>>>>> are following LoD, we should add all methods again
> >>>>>>>> to
> >>>>>>>>>>>>>>>>>>>> TableEnvironment. I think it is redundant.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> That is the enlarged issue I mentioned previously. A
> >>>>>>>>>> simple
> >>>>>>>>>>>>>>> solution
> >>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>> move Catalog to the top level API. The fact is that
> >>>>>>> a
> >>>>>>>>>>> catalog
> >>>>>>>>>>>>>>> package
> >>>>>>>>>>>>>>>>>>> already exists in flink-table-api-java but the
> >>>>>>> Catalog
> >>>>>>>>>>>> interface
> >>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>> in
> >>>>>>>>>>>>>>>>>>> flink-table-common. I don't know the historical
> >>>>>>>> context
> >>>>>>>>> of
> >>>>>>>>>>>> this
> >>>>>>>>>>>>>>>> design.
> >>>>>>>>>>>>>>>>>>> Maybe you could share some insight with us? Thanks
> >>>>>>> in
> >>>>>>>>>>> advance.
> >>>>>>>>>>>>>>> Beyond
> >>>>>>>>>>>>>>>>>> that,
> >>>>>>>>>>>>>>>>>>> there should be other AOP options but need more time
> >>>>>>>> to
> >>>>>>>>>>>> figure it
> >>>>>>>>>>>>>>>> out.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> And, this API chain does not look deep.
> >>>>>>>>>>>>>>>>>>>> -
> >>>>>>>>>>>>>>>
> >>>>>>>>> "tEnv.getCatalog(tEnv.getCurrentCatalog()).get().listDatabases()"
> >>>>>>>>>>>>>>>>>>>> looks a little complicated. The complex part is
> >>>>>>>> ahead.
> >>>>>>>>>>>>>>>>>>>> - If we have a method to get Catalog directly, can
> >>>>>>>> be
> >>>>>>>>>>>> simplify
> >>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>> "tEnv.catalog().listDatabase()", this is simple.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Commonly, it will need more effort to always follow
> >>>>>>>> LoD,
> >>>>>>>>>> but
> >>>>>>>>>>>> for
> >>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>> top
> >>>>>>>>>>>>>>>>>>> level facade API like TableEnvironment, both the API
> >>>>>>>>>>>> developer,
> >>>>>>>>>>>>>> API
> >>>>>>>>>>>>>>>>>>> consumer and the project itself from a long-term
> >>>>>>>>>> perspective
> >>>>>>>>>>>> will
> >>>>>>>>>>>>>>>>> benefit
> >>>>>>>>>>>>>>>>>>> from sticking to LoD. Since we already have the
> >>>>>>>>>>>> getCatalog(String
> >>>>>>>>>>>>>>>>>> catalog)
> >>>>>>>>>>>>>>>>>>> method in TableEnvironment, it also makes sense to
> >>>>>>>>> follow
> >>>>>>>>>>> your
> >>>>>>>>>>>>>>>>>> suggestion,
> >>>>>>>>>>>>>>>>>>> if we only want to limit/avoid public API changes.
> >>>>>>> But
> >>>>>>>>>>> please
> >>>>>>>>>>>> be
> >>>>>>>>>>>>>>>> aware
> >>>>>>>>>>>>>>>>>> that
> >>>>>>>>>>>>>>>>>>> we will have all known long-term drawbacks because
> >>>>>>> of
> >>>>>>>>> LoD
> >>>>>>>>>>>>>>>>>>> violation, especially the cross modules violation. I
> >>>>>>>>> just
> >>>>>>>>>>>> checked
> >>>>>>>>>>>>>>> all
> >>>>>>>>>>>>>>>>>>> usages of getCatalog(String catalog) in the master
> >>>>>>>>> branch.
> >>>>>>>>>>>>>>> Currently
> >>>>>>>>>>>>>>>>>> there
> >>>>>>>>>>>>>>>>>>> are very limited calls. It is better to pay
> >>>>>>> attention
> >>>>>>>> to
> >>>>>>>>>> it
> >>>>>>>>>>>>>> before
> >>>>>>>>>>>>>>> it
> >>>>>>>>>>>>>>>>>> goes
> >>>>>>>>>>>>>>>>>>> worse. Just my 2 cents. :)
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Best,
> >>>>>>>>>>>>>>>>>>>> Jingsong
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 4:47 PM Jing Ge
> >>>>>>>>>>>>>>> <j...@ververica.com.invalid
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Hi Jingson,
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Thanks for the knowledge sharing. IMHO, it looks
> >>>>>>>>> more
> >>>>>>>>>>>> like a
> >>>>>>>>>>>>>>>> design
> >>>>>>>>>>>>>>>>>>>>> guideline question than just avoiding public API
> >>>>>>>>>> change.
> >>>>>>>>>>>>>> Please
> >>>>>>>>>>>>>>>>>> correct
> >>>>>>>>>>>>>>>>>>>> me
> >>>>>>>>>>>>>>>>>>>>> if I'm wrong.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Catalog is in flink-table-common module and
> >>>>>>>>>>>> TableEnvironment
> >>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>> in
> >>>>>>>>>>>>>>>>>>>>> flink-table-api-java. Depending on how and where
> >>>>>>>>> those
> >>>>>>>>>>>>>> features
> >>>>>>>>>>>>>>>>>>> proposed
> >>>>>>>>>>>>>>>>>>>> in
> >>>>>>>>>>>>>>>>>>>>> this FLIP will be used, we'd better reduce the
> >>>>>>>>>>> dependency
> >>>>>>>>>>>>>> chain
> >>>>>>>>>>>>>>>> and
> >>>>>>>>>>>>>>>>>>>> follow
> >>>>>>>>>>>>>>>>>>>>> the Law of Demeter(LoD, clean code) [1]. Adding
> >>>>>>> a
> >>>>>>>>> new
> >>>>>>>>>>>> method
> >>>>>>>>>>>>>> in
> >>>>>>>>>>>>>>>>>>>>> TableEnvironment is therefore better than
> >>>>>>> calling
> >>>>>>>> an
> >>>>>>>>>> API
> >>>>>>>>>>>>>> chain.
> >>>>>>>>>>>>>>>> It
> >>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>> also
> >>>>>>>>>>>>>>>>>>>>> more user friendly for the caller, because there
> >>>>>>>> is
> >>>>>>>>> no
> >>>>>>>>>>>> need
> >>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>> understand
> >>>>>>>>>>>>>>>>>>>>> the internal structure of the called API. The
> >>>>>>>>> downside
> >>>>>>>>>>> of
> >>>>>>>>>>>>>> doing
> >>>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>> that we might have another issue with the
> >>>>>>> current
> >>>>>>>>>>>>>>>> TableEnvironment
> >>>>>>>>>>>>>>>>>>>> design -
> >>>>>>>>>>>>>>>>>>>>> the TableEnvironment interface got enlarged with
> >>>>>>>>> more
> >>>>>>>>>>>> wrapper
> >>>>>>>>>>>>>>>>>> methods.
> >>>>>>>>>>>>>>>>>>>> This
> >>>>>>>>>>>>>>>>>>>>> is a different issue that could be solved with
> >>>>>>>>>> improved
> >>>>>>>>>>>>>>>> abstraction
> >>>>>>>>>>>>>>>>>>>> design
> >>>>>>>>>>>>>>>>>>>>> in the future. After considering pros and cons,
> >>>>>>> if
> >>>>>>>>> we
> >>>>>>>>>>>> want to
> >>>>>>>>>>>>>>> add
> >>>>>>>>>>>>>>>>>> those
> >>>>>>>>>>>>>>>>>>>>> features now, I would prefer following LoD than
> >>>>>>>> API
> >>>>>>>>>>> chain
> >>>>>>>>>>>>>>> calls.
> >>>>>>>>>>>>>>>>>> WDYT?
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>>>>>>>> Jing
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>
> >>>
> >>
> https://hackernoon.com/object-oriented-tricks-2-law-of-demeter-4ecc9becad85
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 6:26 AM Ran Tao <
> >>>>>>>>>>>>>> chucheng...@gmail.com
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Hi Jingsong. thanks. i got it.
> >>>>>>>>>>>>>>>>>>>>>> In this way, there is no need to introduce new
> >>>>>>>> API
> >>>>>>>>>>>> changes.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Best Regards,
> >>>>>>>>>>>>>>>>>>>>>> Ran Tao
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Jingsong Li <jingsongl...@gmail.com>
> >>>>>>>>> 于2023年2月23日周四
> >>>>>>>>>>>>>> 12:26写道:
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> Hi Ran,
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> I mean we can just use
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>
> >> TableEnvironment.getCatalog(getCurrentCatalog).get().listDatabases().
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> We don't need to provide new apis just for
> >>>>>>>>> utils.
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> Best,
> >>>>>>>>>>>>>>>>>>>>>>> Jingsong
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 12:11 PM Ran Tao <
> >>>>>>>>>>>>>>>>> chucheng...@gmail.com>
> >>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Hi Jingsong, thanks.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> The implementation of these statements in
> >>>>>>>>>>>>>>>>> TableEnvironmentImpl
> >>>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>>> called
> >>>>>>>>>>>>>>>>>>>>>>>> through the catalog api.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> but it does support some new override
> >>>>>>>> methods
> >>>>>>>>> on
> >>>>>>>>>>> the
> >>>>>>>>>>>>>>>> catalog
> >>>>>>>>>>>>>>>>>> api
> >>>>>>>>>>>>>>>>>>>> side,
> >>>>>>>>>>>>>>>>>>>>>>> and
> >>>>>>>>>>>>>>>>>>>>>>>> I will update it later. Thank you.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> e.g.
> >>>>>>>>>>>>>>>>>>>>>>>> TableEnvironmentImpl
> >>>>>>>>>>>>>>>>>>>>>>>>    @Override
> >>>>>>>>>>>>>>>>>>>>>>>>    public String[] listDatabases() {
> >>>>>>>>>>>>>>>>>>>>>>>>        return catalogManager
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> .getCatalog(catalogManager.getCurrentCatalog())
> >>>>>>>>>>>>>>>>>>>>>>>>                .get()
> >>>>>>>>>>>>>>>>>>>>>>>>                .listDatabases()
> >>>>>>>>>>>>>>>>>>>>>>>>                .toArray(new String[0]);
> >>>>>>>>>>>>>>>>>>>>>>>>    }
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Best Regards,
> >>>>>>>>>>>>>>>>>>>>>>>> Ran Tao
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Jingsong Li <jingsongl...@gmail.com>
> >>>>>>>>>>> 于2023年2月23日周四
> >>>>>>>>>>>>>>>> 11:47写道:
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> Thanks for the proposal.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> +1 for the proposal.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> I am confused about "Proposed
> >>>>>>>>> TableEnvironment
> >>>>>>>>>>> SQL
> >>>>>>>>>>>>>> API
> >>>>>>>>>>>>>>>>>>> Changes",
> >>>>>>>>>>>>>>>>>>>> can
> >>>>>>>>>>>>>>>>>>>>>>>>> we just use catalog api for this
> >>>>>>>>> requirement?
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> Best,
> >>>>>>>>>>>>>>>>>>>>>>>>> Jingsong
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Feb 23, 2023 at 10:48 AM Jacky
> >>>>>>>> Lau <
> >>>>>>>>>>>>>>>>>>> liuyong...@gmail.com
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Hi Ran:
> >>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for driving the FLIP. the
> >>>>>>> google
> >>>>>>>>> doc
> >>>>>>>>>>>> looks
> >>>>>>>>>>>>>>>> really
> >>>>>>>>>>>>>>>>>>> good.
> >>>>>>>>>>>>>>>>>>>> it
> >>>>>>>>>>>>>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>>>>>>> important to improve user interactive
> >>>>>>>>>>>> experience.
> >>>>>>>>>>>>>> +1
> >>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>> support
> >>>>>>>>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>>>>>>>>>> feature.
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Jing Ge <j...@ververica.com.invalid>
> >>>>>>>>>>>> 于2023年2月23日周四
> >>>>>>>>>>>>>>>>>> 00:51写道:
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Ran,
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks for driving the FLIP.  It
> >>>>>>> looks
> >>>>>>>>>>> overall
> >>>>>>>>>>>>>>> good.
> >>>>>>>>>>>>>>>>>> Would
> >>>>>>>>>>>>>>>>>>>> you
> >>>>>>>>>>>>>>>>>>>>>>> like to
> >>>>>>>>>>>>>>>>>>>>>>>>> add
> >>>>>>>>>>>>>>>>>>>>>>>>>>> a description of useLike and
> >>>>>>> notLike?
> >>>>>>>> I
> >>>>>>>>>>> guess
> >>>>>>>>>>>>>>> useLike
> >>>>>>>>>>>>>>>>>> true
> >>>>>>>>>>>>>>>>>>>> is for
> >>>>>>>>>>>>>>>>>>>>>>>>> "LIKE"
> >>>>>>>>>>>>>>>>>>>>>>>>>>> and notLike true is for "NOT LIKE"
> >>>>>>>> but I
> >>>>>>>>>> am
> >>>>>>>>>>>> not
> >>>>>>>>>>>>>>> sure
> >>>>>>>>>>>>>>>>> if I
> >>>>>>>>>>>>>>>>>>>>>>> understood it
> >>>>>>>>>>>>>>>>>>>>>>>>>>> correctly. Furthermore, does it make
> >>>>>>>>> sense
> >>>>>>>>>>> to
> >>>>>>>>>>>>>>> support
> >>>>>>>>>>>>>>>>>>> "ILIKE"
> >>>>>>>>>>>>>>>>>>>>>> too?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Jing
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> On Wed, Feb 22, 2023 at 1:17 PM Ran
> >>>>>>>> Tao
> >>>>>>>>> <
> >>>>>>>>>>>>>>>>>>>> chucheng...@gmail.com>
> >>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Currently flink sql auxiliary
> >>>>>>>>> statements
> >>>>>>>>>>> has
> >>>>>>>>>>>>>>>>> supported
> >>>>>>>>>>>>>>>>>>> some
> >>>>>>>>>>>>>>>>>>>>>> good
> >>>>>>>>>>>>>>>>>>>>>>>>> features
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> such as catalog/databases/table
> >>>>>>>>> support.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> But these features are not very
> >>>>>>>>> complete
> >>>>>>>>>>>>>> compared
> >>>>>>>>>>>>>>>>> with
> >>>>>>>>>>>>>>>>>>>> other
> >>>>>>>>>>>>>>>>>>>>>>> popular
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> engines such as spark, presto,
> >>>>>>> hive
> >>>>>>>>> and
> >>>>>>>>>>>>>>> commercial
> >>>>>>>>>>>>>>>>>>> engines
> >>>>>>>>>>>>>>>>>>>> such
> >>>>>>>>>>>>>>>>>>>>>>> as
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> snowflake.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> For example, many engines support
> >>>>>>>> show
> >>>>>>>>>>>>>> operation
> >>>>>>>>>>>>>>>> with
> >>>>>>>>>>>>>>>>>>>> filtering
> >>>>>>>>>>>>>>>>>>>>>>>>> except
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> flink, and support describe other
> >>>>>>>>>>>> object(flink
> >>>>>>>>>>>>>>> only
> >>>>>>>>>>>>>>>>>>> support
> >>>>>>>>>>>>>>>>>>>>>>> describe
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> table).
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> I wonder can we add these useful
> >>>>>>>>>> features
> >>>>>>>>>>>> for
> >>>>>>>>>>>>>>>> flink?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> You can find details in this
> >>>>>>> doc.[1]
> >>>>>>>>> or
> >>>>>>>>>>>>>> FLIP.[2]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Also, please let me know if there
> >>>>>>>> is a
> >>>>>>>>>>>> mistake.
> >>>>>>>>>>>>>>>>> Looking
> >>>>>>>>>>>>>>>>>>>> forward
> >>>>>>>>>>>>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>>>>>>> your
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> reply.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>
> >>>
> >>
> https://docs.google.com/document/d/1hAiOfPx14VTBTOlpyxG7FA2mB1k5M31VnKYad2XpJ1I/
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> [2]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>
> >>>
> >>
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-297%3A+Improve+Auxiliary+Sql+Statements
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Best Regards,
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Ran Tao
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> --
> >>>>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>>>> Sergey
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> --
> >>>>>>>>>>>>> Best regards,
> >>>>>>>>>>>>> Sergey
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Best regards,
> >>>>>>> Sergey
> >>>>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>
> >>
> >> --
> >> Best regards,
> >> Sergey
> >>
> >
>
>

Reply via email to