Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-6304 Improve the Arrow adapter
  3. CALCITE-6618

Support NOT EQUALS operator in Arrow adapter

    XMLWordPrintableJSON

Details

    Description

      Currently, Calcite's Arrow adapter does not support Not equal.
      For example,

          String sql = "select \"intField\", \"stringField\"\n"
              + "from arrowdata\n"
              + "where \"intField\" <> 12";
      
          String plan = "PLAN=EnumerableCalc(expr#0..1=[{inputs}], expr#2=[12], expr#3=[<>($t0, $t2)], proj#0..1=[{exprs}], $condition=[$t3])\n"
              + "  ArrowToEnumerableConverter\n"
              + "    ArrowProject(intField=[$0], stringField=[$1])\n"
              + "      ArrowTableScan(table=[[ARROW, ARROWDATA]], fields=[[0, 1, 2, 3]])\n\n";
      

      It can be optimized to

      
          String plan = "PLAN=ArrowToEnumerableConverter\n"
              + "  ArrowProject(intField=[$0], stringField=[$1])\n"
              + "    ArrowFilter(condition=[<>($0, 12)])\n"
              + "      ArrowTableScan(table=[[ARROW, ARROWDATA]], fields=[[0, 1, 2, 3]])\n\n";
      

      Attachments

        Issue Links

          Activity

            People

              caicancai Caican Cai
              caicancai Caican Cai
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: