You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Dan Di Spaltro (JIRA)" <ji...@apache.org> on 2016/04/21 09:17:25 UTC

[jira] [Created] (CALCITE-1211) limit > 7 on the Cassandra Adapter switches to EnumerableLimit rule

Dan Di Spaltro created CALCITE-1211:
---------------------------------------

             Summary: limit > 7 on the Cassandra Adapter switches to EnumerableLimit rule
                 Key: CALCITE-1211
                 URL: https://issues.apache.org/jira/browse/CALCITE-1211
             Project: Calcite
          Issue Type: Bug
    Affects Versions: 1.7.0
            Reporter: Dan Di Spaltro
            Assignee: Julian Hyde
            Priority: Minor


I copied the testProject query because I was noticing a {{EnumerableLimit}} showing up on explains when a limit was higher than `1`.  So I narrowed it down to 7, anything above 7 and the plan looks like this

{code}
Plan after physical tweaks: EnumerableLimit(fetch=[8]): rowcount = 8.0, cumulative cost = {112.5 rows, 122.0 cpu, 0.0 io}, id = 2083
  CassandraToEnumerableConverter: rowcount = 15.0, cumulative cost = {104.5 rows, 114.0 cpu, 0.0 io}, id = 2081
    CassandraProject(tweet_id=[$2]): rowcount = 15.0, cumulative cost = {103.0 rows, 112.5 cpu, 0.0 io}, id = 2079
      CassandraFilter(condition=[=(CAST($0):CHAR(8) CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary", '!PUBLIC!')]): rowcount = 15.0, cumulative cost = {101.5 rows, 111.0 cpu, 0.0 io}, id = 2077
        CassandraTableScan(table=[[twissandra, userline]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io}, id = 1915
{code}

anything {{7}} or below looks like this
{code}
CassandraToEnumerableConverter: rowcount = 7.0, cumulative cost = {111.07282262603232 rows, 112.75 cpu, 0.0 io}, id = 2257
  CassandraProject(tweet_id=[$2]): rowcount = 7.0, cumulative cost = {110.37282262603232 rows, 112.05 cpu, 0.0 io}, id = 2255
    CassandraSort(fetch=[7]): rowcount = 7.0, cumulative cost = {109.67282262603231 rows, 111.35 cpu, 0.0 io}, id = 2253
      CassandraFilter(condition=[=(CAST($0):CHAR(8) CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary", '!PUBLIC!')]): rowcount = 15.0, cumulative cost = {101.5 rows, 111.0 cpu, 0.0 io}, id = 2251
        CassandraTableScan(table=[[twissandra, userline]]): rowcount = 100.0, cumulative cost = {100.0 rows, 101.0 cpu, 0.0 io}, id = 2089
{code}

If I wanted to change that would I alter the cost of the sort rule?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)