iotdb icon indicating copy to clipboard operation
iotdb copied to clipboard

Add join operator implementation, fix the problem in join logical planner and distributed planner

Open Beyyes opened this issue 1 year ago • 2 comments

Description

As the title, see the key changed classes for more details.

  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InnerJoinOperator.java
  • iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java

Integration test is shown in: integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBMultiIDsWithAttributesTableIT.java


This PR has:

  • [x] been self-reviewed.
    • [ ] concurrent read
    • [ ] concurrent write
    • [ ] concurrent read and write
  • [ ] added documentation for new or modified features or behaviors.
  • [x] added Javadocs for most classes and all non-trivial methods.
  • [x] added or updated version, license, or notice information
  • [x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • [x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage.
  • [x] added integration tests.
  • [X] been tested in a test IoTDB cluster.

Key changed/added classes (or packages if there are too many classes) in this PR
  • JoinOperator

Beyyes avatar Sep 18 '24 03:09 Beyyes

Codecov Report

Attention: Patch coverage is 30.34826% with 280 lines in your changes missing coverage. Please review.

Project coverage is 41.69%. Comparing base (3f922e7) to head (68e6d8f). Report is 16 commits behind head on master.

Files with missing lines Patch % Lines
.../operator/source/relational/InnerJoinOperator.java 0.00% 189 Missing :warning:
...yengine/plan/relational/planner/node/JoinNode.java 0.00% 58 Missing :warning:
...eryengine/plan/planner/TableOperatorGenerator.java 0.00% 24 Missing :warning:
...execution/relational/ColumnTransformerBuilder.java 0.00% 2 Missing :warning:
...otdb/db/queryengine/plan/analyze/TypeProvider.java 0.00% 2 Missing :warning:
...ngine/plan/planner/plan/node/PlanGraphPrinter.java 0.00% 2 Missing :warning:
...ne/execution/fragment/FragmentInstanceContext.java 0.00% 1 Missing :warning:
...eryengine/plan/planner/plan/node/PlanNodeType.java 50.00% 1 Missing :warning:
...e/plan/planner/plan/node/process/ExchangeNode.java 75.00% 1 Missing :warning:
Additional details and impacted files
@@             Coverage Diff              @@
##             master   #13529      +/-   ##
============================================
- Coverage     41.77%   41.69%   -0.09%     
  Complexity       71       71              
============================================
  Files          3978     3983       +5     
  Lines        247469   247847     +378     
  Branches      29962    30033      +71     
============================================
- Hits         103377   103331      -46     
- Misses       144092   144516     +424     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Sep 18 '24 04:09 codecov[bot]

Quality Gate Failed Quality Gate failed

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

See analysis details on SonarCloud

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

sonarqubecloud[bot] avatar Sep 23 '24 02:09 sonarqubecloud[bot]