Skip to content
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

Introduce User-defined Polymorphic Table Function #14791

Open
wants to merge 71 commits into
base: master
Choose a base branch
from
Open

Introduce User-defined Polymorphic Table Function #14791

wants to merge 71 commits into from

Conversation

Cpaulyz
Copy link
Contributor

@Cpaulyz Cpaulyz commented Feb 5, 2025

Description

This pull requst introduces User-defined Polymorphic table functions(https://www.iso.org/standard/78938.html).

See https://apache-iotdb-project.feishu.cn/docx/TpK1df8NMoMpRLxGqKWcILKCncc for detail functional definition and discussion.

Code Modification

  • Parser:
    • RelationalSql.g4
    • Package org.apache.iotdb.db.queryengine.plan.relational.sql
  • Semantic Check
    • StatementAnalyzer.java
  • Planner
    • Package org.apache.iotdb.db.queryengine.plan.relational.plannner
    • OptimizedRule:
      • ImplementTableFunctionSource.java
      • PruneTableFunctionProcessorColumns.java
      • PruneTableFunctionProcessorSourceColumns.java
  • Execution
    • TableFunctionLeafOperator.java
    • TableFunctionOperator.java
      • Core implementation:PartitionRecognizer.java
      • Stateful argorithm:
image

Copy link

codecov bot commented Feb 7, 2025

Codecov Report

Attention: Patch coverage is 49.55331% with 847 lines in your changes missing coverage. Please review.

Project coverage is 39.36%. Comparing base (69d9dae) to head (03464e3).
Report is 13 commits behind head on master.

Files with missing lines Patch % Lines
...lan/relational/planner/node/TableFunctionNode.java 28.73% 124 Missing ⚠️
...ne/plan/relational/analyzer/StatementAnalyzer.java 66.31% 96 Missing ⚠️
...erator/process/function/TableFunctionOperator.java 0.00% 85 Missing ⚠️
...ional/planner/node/TableFunctionProcessorNode.java 33.04% 77 Missing ⚠️
...yengine/plan/relational/sql/util/SqlFormatter.java 0.00% 62 Missing ⚠️
...eryengine/plan/planner/TableOperatorGenerator.java 0.00% 46 Missing ⚠️
...planner/optimizations/UnaliasSymbolReferences.java 55.07% 31 Missing ⚠️
...relational/sql/ast/TableFunctionTableArgument.java 24.39% 31 Missing ⚠️
...yengine/plan/relational/sql/parser/AstBuilder.java 52.30% 31 Missing ⚠️
...an/relational/sql/ast/TableFunctionInvocation.java 23.68% 29 Missing ⚠️
... and 27 more
Additional details and impacted files
@@             Coverage Diff             @@
##             master   #14791     +/-   ##
===========================================
  Coverage     39.36%   39.36%             
  Complexity      193      193             
===========================================
  Files          4490     4523     +33     
  Lines        286232   288519   +2287     
  Branches      35484    35751    +267     
===========================================
+ Hits         112663   113584    +921     
- Misses       173569   174935   +1366     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

sonarqubecloud bot commented Feb 9, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
C Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@Cpaulyz Cpaulyz changed the title [Draft] Introduce User-defined Polymorphic Table Function Introduce User-defined Polymorphic Table Function Feb 10, 2025
@Cpaulyz Cpaulyz marked this pull request as ready for review February 10, 2025 05:17
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.

1 participant