Skip to content

Commit b7b88cd

Browse files
committed
Rework sql implementation to add SQLTable trait and support for parameterized views
This PR primarily aims to refactor the SQL implementation and additionally extends the traits and their default implementation to support storing function arguments for table. - Adds a SQLTable trait that is to be used within SQLTableSource. SQLTable trait abstracts information about the remote table and allows of the trait to hook into the final stages where they can change logical plan and the final AST for sql query that is being federated via VirtualExecutionPlan. - Adds RemoteTable, a default implementation for SQLTable trait, capable of handing table and parameterized views. - Adds RemoteTableRef, a extention to default TableReference capable of storing function args. - Provides a default AST Analyzer for rewriting Statement for tables which contain RemoteTableRef with some functional Args - Extends SqlExecutor trait with logical_optimizer method, this can allow executor to hook into federation planning, allowing for rewriting LogicalPlan and even placement of FederationPlanNode. This is useful for avoiding federating nodes that are only part of datafusion eg. UDF, UDAF.. etc. - Refactors and testing related to usage of this feature
1 parent 47b0086 commit b7b88cd

File tree

8 files changed

+1856
-896
lines changed

8 files changed

+1856
-896
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
/node_modules
44
package-lock.json
55
package.json
6-
.DS_Store
6+
.DS_Store
7+
.cargo

0 commit comments

Comments
 (0)