Skip to content

fix(flink): fix flinksql syntax error about ROW and function using #383

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Feb 13, 2025

Conversation

Cythia828
Copy link
Collaborator

@Cythia828 Cythia828 commented Jan 2, 2025

修复FlinkSQL语法错误飘红问题 #382

发现问题方

stream产品客户方发现,具体禅道地址:http://zenpms.dtstack.cn/zentao/bug-view-123456.html

出现报错sql

create view v_search_product as select * from ( select request_id, click_time, date_format (click_time, 'yyyy-MM-dd') as click_date, cast(wid as bigint) as wid, query, row_number() over ( partition by wid, date_format (click_time, 'yyyy-MM-dd') order by click_time ) as ranks from search_product where wid is not null and wid <> 'None' and date_format (click_time, 'yyyy-MM-dd') >= to_date ('2024-12-04', 'yyyy-MM-dd') ) t where ranks = 1 and wid > 0;

出现飘红原因

  • 数据类型ROW的使用可以ROW<>也可以ROW(),而我们语法文件只支持了ROW<>
    参考文档地址
image - 在使用`partition by`时,后面即可以接字段也可以接方法

基础使用文档

验证截图

image

Copy link
Collaborator

@LuckyFBB LuckyFBB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@Cythia828 Cythia828 added the bug Something isn't working label Jan 3, 2025
@mumiao
Copy link
Collaborator

mumiao commented Feb 13, 2025

+1

@mumiao mumiao merged commit 188d42d into DTStack:next Feb 13, 2025
6 checks passed
mumiao added a commit that referenced this pull request Feb 13, 2025
* feat: improve errorListener msg (#281)

* feat: add mysql errorListener and commonErrorListener

* feat: improve other sql error msg

* feat: support i18n for error msg

* feat: add all sql errorMsg unit test

* feat: update locale file and change i18n funtion name

* test: upate error unit test

* feat(flinksql): collect comment, type attribute for entity (#319)

* feat(flinksql): collect comment, type attribute for entity

* feat(flinksql): delete console log

* fix(#305): delete function ctxToWord,using ctxToText instead of ctxToWord

* feat: update attribute's type

* feat(flinksql): update flinksql's entitycollect unit test

* feat: optimize interface and update unit test

* feat: update collect attr detail

* feat: optimize interface and some function's arguments

* feat: add comment and update params' name

* feat: collect alias in select statement

* feat: update collect attribute function and update unit test

---------

Co-authored-by: zhaoge <>

* fix: spell check (#337)

Co-authored-by: liuyi <liuyi@dtstack.com>

* ci: check-types and test unit update

* feat: collect entity's attribute(#333)

* feat(trinosql): collect trino sql's attribute(comment,alias,colType)

* feat(hivesql): collect hive sql's attribute(comment,alias,colType)

* feat(impalasql): collect attribute(comment, colType, alias)

* feat(sparksql): collect entity's attribute (comment,alias, colType)

* feat: update endContextList of collect attribute

* feat(postgresql): collect hive sql's attribute(alias,colType)

* feat: update interface of attrInfo and alter entitycollect ts file

* feat(mysql): collect entity's attribute(comment,colType,alias)

* ci: fix check-types problem

---------

Co-authored-by: zhaoge <>

* chore(release): 4.1.0-beta.0

* fix: #362 set hiveVar value (#369)

* fix: #371 export EntityContext types (#372)

* fix: minimum collect candidates boundary to fix parse performance (#378)

* fix: minimum collect candidates boundary to fix parse performance

* fix: fix check-types

* fix: remove debugger code

* fix(flink): fix flinksql syntax error about ROW and function using (#383)

Co-authored-by: zhaoge <>

* build: pnpm antlr4 --lang all

---------

Co-authored-by: 霜序 <976060700@qq.com>
Co-authored-by: XCynthia <942884029@qq.com>
Co-authored-by: 琉易 <liuxy0551@qq.com>
Co-authored-by: liuyi <liuyi@dtstack.com>
Co-authored-by: zhaoge <>
Co-authored-by: Hayden <hayden9653@gmail.com>
Co-authored-by: JackWang032 <64318393+JackWang032@users.noreply.github.com>
mumiao added a commit that referenced this pull request May 8, 2025
* feat: improve errorListener msg (#281)

* feat: add mysql errorListener and commonErrorListener

* feat: improve other sql error msg

* feat: support i18n for error msg

* feat: add all sql errorMsg unit test

* feat: update locale file and change i18n funtion name

* test: upate error unit test

* feat(flinksql): collect comment, type attribute for entity (#319)

* feat(flinksql): collect comment, type attribute for entity

* feat(flinksql): delete console log

* fix(#305): delete function ctxToWord,using ctxToText instead of ctxToWord

* feat: update attribute's type

* feat(flinksql): update flinksql's entitycollect unit test

* feat: optimize interface and update unit test

* feat: update collect attr detail

* feat: optimize interface and some function's arguments

* feat: add comment and update params' name

* feat: collect alias in select statement

* feat: update collect attribute function and update unit test

---------

Co-authored-by: zhaoge <>

* fix: spell check (#337)

Co-authored-by: liuyi <liuyi@dtstack.com>

* ci: check-types and test unit update

* feat: collect entity's attribute(#333)

* feat(trinosql): collect trino sql's attribute(comment,alias,colType)

* feat(hivesql): collect hive sql's attribute(comment,alias,colType)

* feat(impalasql): collect attribute(comment, colType, alias)

* feat(sparksql): collect entity's attribute (comment,alias, colType)

* feat: update endContextList of collect attribute

* feat(postgresql): collect hive sql's attribute(alias,colType)

* feat: update interface of attrInfo and alter entitycollect ts file

* feat(mysql): collect entity's attribute(comment,colType,alias)

* ci: fix check-types problem

---------

Co-authored-by: zhaoge <>

* chore(release): 4.1.0-beta.0

* fix: #362 set hiveVar value (#369)

* fix: #371 export EntityContext types (#372)

* fix: minimum collect candidates boundary to fix parse performance (#378)

* fix: minimum collect candidates boundary to fix parse performance

* fix: fix check-types

* fix: remove debugger code

* fix(flink): fix flinksql syntax error about ROW and function using (#383)

Co-authored-by: zhaoge <>

* build: pnpm antlr4 --lang all

* Feat/follow keywords (#407)

* feat: provide follow keywords when get suggestions

* chore: add watch script

* refactor: optimize spark grammar (#360)

* feat: support semantic context of isNewStatement (#361)

* feat: support semantic context of isStatamentBeginning

* docs: add docs for semantic context

* feat: unify variables in lexer (#366)

* feat: unify variables in lexer

* fix: all sql use WHITE_SPACE

* feat: complete after error syntax (#334)

* refactor: split getMinimumParserInfo to slice input and parser again

* test: complete after error syntax

* feat: complete after error syntax

* feat: use createParser to get parserIns and remove parserWithNewInput

* feat(all sql): add all sql expression column (#358)

* feat(impala): add impala expression column

* feat(trino): add expression column

* feat(hive): add hive expression column

* feat(spark): add spark expression column

* feat(mysql): add mysql expression column unit test

* feat(flink): add flink expression column

* feat(postgresql): add pg expression column

* feat: #410 optimize processCandidates tokenIndexOffset (#411)

* test: test suggestion wordRanges with range when processCandidates without tokenIndexOffset

* feat: #410 optimize processCandidates tokenIndexOffset

---------

Co-authored-by: 霜序 <976060700@qq.com>
Co-authored-by: XCynthia <942884029@qq.com>
Co-authored-by: 琉易 <liuxy0551@qq.com>
Co-authored-by: liuyi <liuyi@dtstack.com>
Co-authored-by: zhaoge <>
Co-authored-by: Hayden <hayden9653@gmail.com>
Co-authored-by: JackWang032 <64318393+JackWang032@users.noreply.github.com>
Co-authored-by: JackWang032 <2522134117@qq.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants