I've started a [VOTE] thread for this FLIP
https://lists.apache.org/thread/f14jjhrscrdv7h6zw6h1k72nfx232qxs

On Wed, Nov 3, 2021 at 2:59 PM Sergey Nuyanzin <snuyan...@gmail.com> wrote:

> Hi Timo,
>
> I completely agree it would be great if we can propagate Calcite parser
> config in
> the way you have described. As you mentioned we could discuss this
> when it comes to the implementation.
>
> Meanwhile it looks like I can start voting (please correct me if I'm
> wrong).
> I will start it a bit later today
>
> On Wed, Nov 3, 2021 at 1:37 PM Timo Walther <twal...@apache.org> wrote:
>
>> Hi Sergey,
>>
>> thanks for your explanation.
>>
>> Regarding keywords and other info: We should receive the information
>> from the Flink SQL parser directly. We have added a couple of new
>> keywords such as WATERMARK or MATCH_RECOGNIZE clauses. SQL92 would not
>> help a user understand why a column name needs to be escaped. And in
>> general, we should not have duplicate code. Let's discuss this when it
>> comes to the implementation. I'm sure we can propagate the Calcite
>> parser config into a nice POJO that the CLI can receive from the Executor.
>>
>> Regards,
>> Timo
>>
>>
>> On 03.11.21 11:12, Sergey Nuyanzin wrote:
>> > Hi 李宇彬,
>> >
>> > I think you are right. Thank you very much for the idea.
>> > I came across MySQL[1] and PostgreSQL[2] prompts and also
>> > found several interesting features like control symbols to change style,
>> > showing current property value and different datetime formats.
>> >
>> > I have added your proposals and my findings to FLIP's page, please have
>> a
>> > look.
>> >
>> > [1] https://dev.mysql.com/doc/refman/8.0/en/mysql-commands.html
>> > [2] https://www.postgresql.org/docs/14/app-psql.html#APP-PSQL-PROMPTING
>> >
>> > On Wed, Nov 3, 2021 at 2:31 AM 李宇彬 <lixin58...@163.com> wrote:
>> >
>> >> Hi Sergey
>> >>
>> >>
>> >> It is a very useful improvement I'm looking forward to. in addition, I
>> >> think prompt
>> >> can play a greater role.
>> >>
>> >>
>> >> To help users call commands in expected context, we can get session
>> >> context
>> >> (current catalog/db/time) from cli prompt like MySQL,
>> >> please see details as below:
>> >>
>> >>
>> >> https://issues.apache.org/jira/browse/FLINK-24730
>> >>
>> >>
>> >>
>> >>
>> >> On 11/2/2021 21:09,Sergey Nuyanzin<snuyan...@gmail.com> wrote:
>> >> Hi Timo
>> >>
>> >> Thank you for your questions.
>> >>
>> >> I will answer your questions here and update FLIP's page as well
>> >>
>> >> For example, who is responsible for parsing comments? I guess the SQL
>> >> Client and not the Flink SQL parser will take care of this?
>> >> Yes, you are right. SQL Client is responsible for parsing here.
>> >> However it does not validate sql, it only validates that comments,
>> brackets
>> >> and quotes are closed and the statement ends with a semicolon.
>> >> Also under the hood jline's splits input into words and works with
>> them.
>> >> Within a custom parser it is possible to specify what should be
>> considered
>> >> as a word or not considered at all (e.g. it is possible to remove
>> >> all line and block comments before submitting a query,
>> >> probably as another non default option)... During parsing it marks
>> >> what is a comment, a keyword, a quoted string etc. based on rules
>> >> defined in SQL Client parser.
>> >> SQL Client highlighter could use the result of this marking to
>> highlight.
>> >> Completer could use it to do completion, e.g. if based on parser's
>> marks
>> >> completer knows that a cursor is inside a comment or a string
>> >> then no need to complete anything.
>> >>
>> >> Also, will the prompt hints for `'>` and ``>` support escaping? This
>> can
>> >> be a tricky topic sometimes.
>> >> Ideally yes, I played with lots of tricky cases and it behaves ok.
>> >> At least I do not see limitations here.
>> >> In case you do please share...
>> >>
>> >> In general, how do we deal with different SQL dialects in the SQL
>> >> Client. For example, it possible to `table.sql-dialect` to `HIVE`. Will
>> >> all highlighting, auto-complete and prompt hints be disabled in this
>> case?
>> >> It could be turned off for the beginning.
>> >> To make it supported across different dialects it is required to have
>> such
>> >> info:
>> >> 1) Set of keywords
>> >> 2) Quote sign
>> >> 3) SQL identifier quote
>> >> 4) Start of a line comment
>> >> 5) Start and end of a block comment
>> >> 6) Start and end of hints
>> >> I see at least 2 ways:
>> >> 1. provide such api
>> >> 2. create this mapping in SQL Client and use it based on current
>> dialect
>> >> Then it will be easy to support it for a new dialect
>> >> Here the only questionable thing is keywords.
>> >> Currently I made it pretty straightforward:
>> >> if a word not inside quoted string, not inside a comment or a hint
>> >> and matches anything from
>> >> SQL92 (
>> >>
>> >>
>> *org.apache.calcite.sql.parser.SqlAbstractParserImpl#getSql92ReservedWords*)),
>> >>
>> >> then it will be highlighted as a keyword.
>> >>
>> >> On Tue, Nov 2, 2021 at 12:09 PM Timo Walther <twal...@apache.org>
>> wrote:
>> >>
>> >> Hi Sergey,
>> >>
>> >> thanks for this nice demo video. It looks very nice and makes the SQL
>> >> Client an even more useful tool.
>> >>
>> >> What I miss a bit in the FLIP is the implementation details.
>> >>
>> >> For example, who is responsible for parsing comments? I guess the SQL
>> >> Client and not the Flink SQL parser will take care of this?
>> >>
>> >> Also, will the prompt hints for `'>` and ``>` support escaping? This
>> can
>> >> be a tricky topic sometimes.
>> >>
>> >> In general, how do we deal with different SQL dialects in the SQL
>> >> Client. For example, it possible to `table.sql-dialect` to `HIVE`. Will
>> >> all highlighting, auto-complete and prompt hints be disabled in this
>> case?
>> >>
>> >>
>> >> Looking forward to have this in Flink.
>> >>
>> >> Thanks,
>> >> Timo
>> >>
>> >>
>> >>
>> >> On 02.11.21 08:26, Till Rohrmann wrote:
>> >> Hi Sergey,
>> >>
>> >> I think that after answering/resolving Jark's comments, you can start a
>> >> [VOTE] thread for this FLIP. The process is described here [1]. Once
>> the
>> >> FLIP has been accepted, which it should, given the positive feedback,
>> you
>> >> can start working on it by creating the corresponding JIRA tickets and
>> >> then
>> >> start coding. I hope that there will be a committer familiar with the
>> SQL
>> >> client that can help you with the code review and merging of the code.
>> >> But
>> >> again, given the positive feedback, I think there will be a volunteer.
>> >>
>> >> [1]
>> >>
>> >>
>> >>
>> https://cwiki.apache.org/confluence/display/FLINK/Flink+Improvement+Proposals
>> >>
>> >> Cheers,
>> >> Till
>> >>
>> >> On Tue, Nov 2, 2021 at 4:25 AM Jark Wu <imj...@gmail.com> wrote:
>> >>
>> >> Awesome demo, looking forward to these features!
>> >>
>> >> I only have a minor comment: could we provide a config to
>> enable/disable
>> >> the prompt values?
>> >> We can also discuss whether we can enable all the new features by
>> >> default
>> >> to give them more exposure.
>> >>
>> >> Best,
>> >> Jark
>> >>
>> >> On Tue, 2 Nov 2021 at 10:48, JING ZHANG <beyond1...@gmail.com> wrote:
>> >>
>> >> Amazing improvements and impressive video.
>> >> Big +1.
>> >>
>> >> Best,
>> >> JING ZHANG
>> >>
>> >> Kurt Young <ykt...@gmail.com> 于2021年11月2日周二 上午9:37写道:
>> >>
>> >> Really cool improvements @Sergey. Can't wait to see it happen.
>> >>
>> >> Best,
>> >> Kurt
>> >>
>> >>
>> >> On Tue, Nov 2, 2021 at 1:56 AM Martijn Visser <mart...@ververica.com>
>> >> wrote:
>> >>
>> >> Hi Sergey,
>> >>
>> >> I guess you've just set a new standard ;-) I agree with Ingo, these
>> >> improvements look really good!
>> >>
>> >> Best regards,
>> >>
>> >> Martijn
>> >>
>> >> On Mon, 1 Nov 2021 at 18:23, Ingo Bürk <i...@ververica.com> wrote:
>> >>
>> >> Hi Sergey,
>> >>
>> >> I think those improvements look absolutely amazing. Thanks for the
>> >> little
>> >> video!
>> >>
>> >>
>> >> Best
>> >> Ingo
>> >>
>> >> On Mon, Nov 1, 2021, 17:15 Sergey Nuyanzin <snuyan...@gmail.com>
>> >> wrote:
>> >>
>> >> Thanks for the feedback Till.
>> >>
>> >> Martijn, I have created a short demo showing some of the features
>> >> mentioned
>> >> in FLIP.
>> >> It is available at https://asciinema.org/a/446247?speed=3.0
>> >> Could you please tell if it is what you are expecting or not?
>> >>
>> >> On Fri, Oct 29, 2021 at 4:59 PM Till Rohrmann <
>> >> trohrm...@apache.org>
>> >> wrote:
>> >>
>> >> Thanks for creating this FLIP Sergey. I think what you propose
>> >> sounds
>> >> like
>> >> very good improvements for the SQL client. This should make the
>> >> client
>> >> a
>> >> lot more ergonomic :-)
>> >>
>> >> Cheers,
>> >> Till
>> >>
>> >> On Fri, Oct 29, 2021 at 11:26 AM Sergey Nuyanzin <
>> >> snuyan...@gmail.com>
>> >> wrote:
>> >>
>> >> Hi Martijn,
>> >>
>> >> Thank you for your suggestion with POC.
>> >> Yes I will do that and come back to this thread probably
>> >> after
>> >> the
>> >> weekend
>> >>
>> >> On Thu, Oct 28, 2021 at 4:38 PM Martijn Visser <
>> >> mart...@ververica.com>
>> >> wrote:
>> >>
>> >> Hi Sergey,
>> >>
>> >> Thanks for taking the initiative to create a FLIP and
>> >> propose
>> >> improvements
>> >> on the SQL client. All usability improvements on the SQL
>> >> client
>> >> are
>> >> highly
>> >> appreciated, especially for new users of Flink. Multi-line
>> >> support
>> >> is
>> >> definitely one of those things I've run into myself.
>> >>
>> >> I do think it would be quite nice if there would be some
>> >> kind
>> >> of
>> >> POC
>> >> which
>> >> could show (some of) the proposed improvements. Is that
>> >> something
>> >> that
>> >> might be easily feasible?
>> >>
>> >> Best regards,
>> >>
>> >> Martijn
>> >>
>> >> On Thu, 28 Oct 2021 at 11:02, Sergey Nuyanzin <
>> >> snuyan...@gmail.com
>> >>
>> >> wrote:
>> >>
>> >> Hi all,
>> >>
>> >> I want to start a discussion about FLIP-189: SQL Client
>> >> Usability
>> >> Improvements.
>> >>
>> >> The main changes in this FLIP:
>> >>
>> >> - Flink sql client parser improvements so
>> >> that sql client does not ask for ; inside a quoted
>> >> string
>> >> or a
>> >> comment
>> >> - use prompt to show what sql client is waiting for
>> >> - introduce syntax highlighting
>> >> - improve completion
>> >>
>> >> For more detailed changes, please refer to FLIP-189[1].
>> >>
>> >> [1]
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-189%3A+SQL+Client+Usability+Improvements
>> >>
>> >>
>> >>
>> >> Look forward to your feedback.
>> >>
>> >> --
>> >> Best regards,
>> >> Sergey
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Best regards,
>> >> Sergey
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Best regards,
>> >> Sergey
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Best regards,
>> >> Sergey
>> >>
>> >
>> >
>>
>>
>
> --
> Best regards,
> Sergey
>


-- 
Best regards,
Sergey

Reply via email to