Hi, would a command that shows the available table source/sink factories be implemented? Something that can show that a factory is loaded, etc.
- Daisy On Thu, Nov 4, 2021 at 8:30 AM Sergey Nuyanzin <snuyan...@gmail.com> wrote: > 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 >