-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Description
Feature Request
Is your feature request related to a problem?
No
Describe the feature you would like.
Currently, TablesContext is used to process tables in SQL statements, as well as the database and schema information to which the tables belong. It also provides the findTableNames
method, which is responsible for finding the table information based on columns and metadata.
This method can handle simple SQL scenarios, but for complex multi-table associations and nested subqueries, findTableNames has difficulty analyzing the correct table, which can cause some functional abnormalities.
In order to completely solve this problem, we need to use SQLBindEngine to process these statements. Currently, statements that implement the TableAvailable interface need to be bound in SQL BindEngine. The binding goal is to find the library and schema to which the TableNameSegment in SimpleTableSegement belongs, and then set the TableSegmentBoundInfo object.
The following are the statements that need to implement SQLBind.
- AlterIndexStatementContext @YaoFly
- AlterTableStatementContext @strongduanmu
- AlterViewStatementContext
- AnalyzeTableStatementContext
- CloseStatementContext
- CommentStatementContext
- CopyStatementContext @lubochen
- CreateIndexStatementContext
- CreateTableStatementContext @strongduanmu
- CreateViewStatementContext
- CursorStatementContext
- DeleteStatementContext @strongduanmu
- DenyUserStatementContext
- DropIndexStatementContext @YaoFly
- DropTableStatementContext
- DropViewStatementContext @chakkk309
- ExplainStatementContext
- FetchStatementContext
- FlushStatementContext
- GrantStatementContext
- InsertStatementContext @strongduanmu
- LoadDataStatementContext @YaoFly
- LoadXMLStatementContext @YaoFly
- MoveStatementContext
- OptimizeTableStatementContext
- PrepareStatementContext
- RenameTableStatementContext
- RevokeStatementContext
- SelectStatementContext @strongduanmu
- ShowColumnsStatementContext
- ShowCreateTableStatementContext
- ShowIndexStatementContext
- TruncateStatementContext
- UpdateStatementContext @strongduanmu