[ 
https://issues.apache.org/jira/browse/CALCITE-6272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Caican Cai updated CALCITE-6272:
--------------------------------
    Description: 
In the ToLogicalConvert test, the LogicalPlan parsed with or without the 
distinct keyword is the same. I think this is an improvement.

 
{code:java}
@Test void testdistnct() {
  // Equivalent SQL:
  //   SELECT DISTINCT *
  //   FROM emp
  final RelBuilder builder = builder();
  final RelNode rel =
      builder.scan("EMP")
          .distinct()
          .build();
  String expectedPhysical = ""
      + "EnumerableTableScan(table=[[scott, EMP]])\n";
  String expectedLogical = ""
      + "LogicalTableScan(table=[[scott, EMP]])\n";
  verify(rel, expectedPhysical, expectedLogical);
}

@Test void test() {
  // Equivalent SQL:
  //   SELECT DISTINCT *
  //   FROM emp
  final RelBuilder builder = builder();
  final RelNode rel =
      builder.scan("EMP")
          .build();
  String expectedPhysical = ""
      + "EnumerableTableScan(table=[[scott, EMP]])\n";
  String expectedLogical = ""
      + "LogicalTableScan(table=[[scott, EMP]])\n";
  verify(rel, expectedPhysical, expectedLogical);
} {code}
I think it can be improved to something like
{code:java}
Logical Project (DISTINCT)
+- Logical Scan (Table: employees){code}
 

 

  was:
In the ToLogicalConvert test, the LogicalPlan parsed with or without the 
distinct keyword is the same. I think this is an improvement.

 
{code:java}
@Test void testdistnct() {
  // Equivalent SQL:
  //   SELECT DISTINCT *
  //   FROM emp
  final RelBuilder builder = builder();
  final RelNode rel =
      builder.scan("EMP")
          .distinct()
          .build();
  String expectedPhysical = ""
      + "EnumerableTableScan(table=[[scott, EMP]])\n";
  String expectedLogical = ""
      + "LogicalTableScan(table=[[scott, EMP]])\n";
  verify(rel, expectedPhysical, expectedLogical);
}

@Test void test() {
  // Equivalent SQL:
  //   SELECT DISTINCT *
  //   FROM emp
  final RelBuilder builder = builder();
  final RelNode rel =
      builder.scan("EMP")
          .build();
  String expectedPhysical = ""
      + "EnumerableTableScan(table=[[scott, EMP]])\n";
  String expectedLogical = ""
      + "LogicalTableScan(table=[[scott, EMP]])\n";
  verify(rel, expectedPhysical, expectedLogical);
} {code}
I think it can be improved to something like

 

 
{code:java}
Logical Project
+- Logical Scan (Table: employees){code}
 

 


> Improved LogicalPlan representation of distinct keyword
> -------------------------------------------------------
>
>                 Key: CALCITE-6272
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6272
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.36.0
>            Reporter: Caican Cai
>            Priority: Minor
>             Fix For: 1.37.0
>
>
> In the ToLogicalConvert test, the LogicalPlan parsed with or without the 
> distinct keyword is the same. I think this is an improvement.
>  
> {code:java}
> @Test void testdistnct() {
>   // Equivalent SQL:
>   //   SELECT DISTINCT *
>   //   FROM emp
>   final RelBuilder builder = builder();
>   final RelNode rel =
>       builder.scan("EMP")
>           .distinct()
>           .build();
>   String expectedPhysical = ""
>       + "EnumerableTableScan(table=[[scott, EMP]])\n";
>   String expectedLogical = ""
>       + "LogicalTableScan(table=[[scott, EMP]])\n";
>   verify(rel, expectedPhysical, expectedLogical);
> }
> @Test void test() {
>   // Equivalent SQL:
>   //   SELECT DISTINCT *
>   //   FROM emp
>   final RelBuilder builder = builder();
>   final RelNode rel =
>       builder.scan("EMP")
>           .build();
>   String expectedPhysical = ""
>       + "EnumerableTableScan(table=[[scott, EMP]])\n";
>   String expectedLogical = ""
>       + "LogicalTableScan(table=[[scott, EMP]])\n";
>   verify(rel, expectedPhysical, expectedLogical);
> } {code}
> I think it can be improved to something like
> {code:java}
> Logical Project (DISTINCT)
> +- Logical Scan (Table: employees){code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to