Skip to content

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

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jul 5, 2024

Conversation

Cythia828
Copy link
Collaborator

@Cythia828 Cythia828 commented Jun 20, 2024

Feature

  1. 收集字段时,收集字段的类型和字段注释
  2. 收集新建实体名时,收集实体的注释信息,如果有的话

Fix

  1. 修复 [Bug]: ctxToWord is a bad function  #305

Description

  1. 关于用带_取属性名,antlr4ng目前解析出来属性名都是带_,是公有的。甚至以type命名前后都有下划线,应该是以防重名,无关私有公有
  2. 关于findAttributeChildren方法里的child类型,因为antlr4ng 的ParserRuleContext里,children并未重申类型,导致children类型为ParseTree[],需要和三方提PR修改
  3. 关于table alias,需要作为实体去收集,当前PR不放相关内容
  4. 调整实体类型,将实体分为常规实体、方法实体、字段实体。值得一提的是,实体均带有isAlias属性和aliasreferencecomment几个可选属性,alias为别名,reference为被引用的实体。

@Cythia828 Cythia828 changed the base branch from main to next July 1, 2024 01:47
this.pushEntity(ctx, EntityContextType.DATABASE_CREATE, {
needCollectAttr: true,
attrList: [attrName.comment],
endContext: 'CreateDatabaseContext',
Copy link
Collaborator

Choose a reason for hiding this comment

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

可以用 CreateDatabaseContext.constructor.name 代替吗

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

不可以哦,在这里CreateDatabaseContext.constructor.name 是Function

Copy link
Collaborator

Choose a reason for hiding this comment

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

CreateDatabaseContext.name

@Cythia828
Copy link
Collaborator Author

@liuxy0551 @HaydenOrz 关于你们的comment,已经提交了新的commit,可以再次review一下

return 'line' in value;
}

export function isColumnEntityContext(value: EntityContext): value is ColumnEntityContext {
Copy link
Collaborator

Choose a reason for hiding this comment

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

同上

return 'params' in value && 'returns' in value && 'relatedEntities' in value;
}

export function isWordRange(value: any): value is WordRange {
Copy link
Collaborator

Choose a reason for hiding this comment

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

同上,且参数类型应该是 TextSlice | WordRange

this.pushEntity(ctx, EntityContextType.DATABASE_CREATE, {
needCollectAttr: true,
attrList: [attrName.comment],
endContext: 'CreateDatabaseContext',
Copy link
Collaborator

Choose a reason for hiding this comment

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

CreateDatabaseContext.name

@Cythia828
Copy link
Collaborator Author

@HaydenOrz 优化的commit已提交,可再次review

@HaydenOrz HaydenOrz merged commit a94e7fc into DTStack:next Jul 5, 2024
5 checks passed
@Cythia828 Cythia828 deleted the feat/collect_attribute branch July 5, 2024 08:03
Cythia828 added a commit to Cythia828/dt-sql-parser that referenced this pull request Aug 2, 2024
* feat(flinksql): collect comment, type attribute for entity

* feat(flinksql): delete console log

* fix(DTStack#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 <>
HaydenOrz pushed a commit that referenced this pull request Aug 2, 2024
* 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 <>
Cythia828 added a commit to Cythia828/dt-sql-parser that referenced this pull request Aug 2, 2024
* feat(flinksql): collect comment, type attribute for entity

* feat(flinksql): delete console log

* fix(DTStack#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 <>
HaydenOrz pushed a commit to HaydenOrz/dt-sql-parser that referenced this pull request Aug 27, 2024
* feat(flinksql): collect comment, type attribute for entity

* feat(flinksql): delete console log

* fix(DTStack#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 <>
HaydenOrz pushed a commit that referenced this pull request Oct 17, 2024
* 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 <>
liuxy0551 pushed a commit to liuxy0551/dt-sql-parser that referenced this pull request Nov 14, 2024
* feat(flinksql): collect comment, type attribute for entity

* feat(flinksql): delete console log

* fix(DTStack#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 <>
liuxy0551 pushed a commit that referenced this pull request Nov 14, 2024
* 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 <>
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants