Uploaded image for project: 'MariaDB ColumnStore'
  1. MariaDB ColumnStore
  2. MCOL-4719

ColumnStore ignores where clause: inline view with a window function

Details

    • Bug
    • Status: Closed (View Workflow)
    • Blocker
    • Resolution: Fixed
    • 5.5.1
    • 6.2.1, 6.2.2
    • None
    • None
    • 10.5.9-6-MariaDB-enterprise-log
      Columnstore 5.5
    • 2021-9, 2021-10

    Description

      When columnstore_select_handler=on this query should return only 2 rows. Instead it returns all rows.

      create database test1;
      use test1;
       
      CREATE TABLE test_table (
      category CHAR(1),
      count INTEGER(1)
      ) ENGINE=COLUMNSTORE;
       
      INSERT INTO test_table (category, count) VALUES ('A', 1);
      INSERT INTO test_table (category, count) VALUES ('A', 2);
      INSERT INTO test_table (category, count) VALUES ('B', 3);
      INSERT INTO test_table (category, count) VALUES ('B', 4);
       
      set columnstore_select_handler=off;
      select * FROM (
      SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
      FROM test_table
      ) a
      where ratio > .5;
      ratio
      0.6667
      0.5714
       
      set columnstore_select_handler=on;
      select * FROM (
      SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
      FROM test_table
      ) a
      where ratio > .5;
      ratio
      0.6667
      0.3333
      0.5714
      0.4286
      

      Attachments

        Activity

          edward Edward Stoever created issue -
          edward Edward Stoever made changes -
          Field Original Value New Value
          Description {{monospaced text}}
          create database test1;
          use test1;

          CREATE TABLE test_table (
          category CHAR(1),
          count INTEGER(1)
          ) ENGINE=COLUMNSTORE;

          INSERT INTO test_table (category, count) VALUES ('A', 1);
          INSERT INTO test_table (category, count) VALUES ('A', 2);
          INSERT INTO test_table (category, count) VALUES ('B', 3);
          INSERT INTO test_table (category, count) VALUES ('B', 4);

          set columnstore_select_handler=off;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.5714

          set columnstore_select_handler=on;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.3333
          0.5714
          0.4286
          {{create database test1;
          use test1;

          CREATE TABLE test_table (
          category CHAR(1),
          count INTEGER(1)
          ) ENGINE=COLUMNSTORE;

          INSERT INTO test_table (category, count) VALUES ('A', 1);
          INSERT INTO test_table (category, count) VALUES ('A', 2);
          INSERT INTO test_table (category, count) VALUES ('B', 3);
          INSERT INTO test_table (category, count) VALUES ('B', 4);

          set columnstore_select_handler=off;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.5714

          set columnstore_select_handler=on;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.3333
          0.5714
          0.4286}}
          edward Edward Stoever made changes -
          Description {{create database test1;
          use test1;

          CREATE TABLE test_table (
          category CHAR(1),
          count INTEGER(1)
          ) ENGINE=COLUMNSTORE;

          INSERT INTO test_table (category, count) VALUES ('A', 1);
          INSERT INTO test_table (category, count) VALUES ('A', 2);
          INSERT INTO test_table (category, count) VALUES ('B', 3);
          INSERT INTO test_table (category, count) VALUES ('B', 4);

          set columnstore_select_handler=off;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.5714

          set columnstore_select_handler=on;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.3333
          0.5714
          0.4286}}
          create database test1;
          use test1;

          CREATE TABLE test_table (
          category CHAR(1),
          count INTEGER(1)
          ) ENGINE=COLUMNSTORE;

          INSERT INTO test_table (category, count) VALUES ('A', 1);
          INSERT INTO test_table (category, count) VALUES ('A', 2);
          INSERT INTO test_table (category, count) VALUES ('B', 3);
          INSERT INTO test_table (category, count) VALUES ('B', 4);

          set columnstore_select_handler=off;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.5714

          set columnstore_select_handler=on;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.3333
          0.5714
          0.4286
          edward Edward Stoever made changes -
          Description create database test1;
          use test1;

          CREATE TABLE test_table (
          category CHAR(1),
          count INTEGER(1)
          ) ENGINE=COLUMNSTORE;

          INSERT INTO test_table (category, count) VALUES ('A', 1);
          INSERT INTO test_table (category, count) VALUES ('A', 2);
          INSERT INTO test_table (category, count) VALUES ('B', 3);
          INSERT INTO test_table (category, count) VALUES ('B', 4);

          set columnstore_select_handler=off;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.5714

          set columnstore_select_handler=on;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.3333
          0.5714
          0.4286
          When columnstore_select_handler=on this query should return only 2 rows. Instead it returns all rows.
          {noformat}
          create database test1;
          use test1;

          CREATE TABLE test_table (
          category CHAR(1),
          count INTEGER(1)
          ) ENGINE=COLUMNSTORE;

          INSERT INTO test_table (category, count) VALUES ('A', 1);
          INSERT INTO test_table (category, count) VALUES ('A', 2);
          INSERT INTO test_table (category, count) VALUES ('B', 3);
          INSERT INTO test_table (category, count) VALUES ('B', 4);

          set columnstore_select_handler=off;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.5714

          set columnstore_select_handler=on;
          select * FROM (
          SELECT count / SUM(count) OVER (PARTITION BY category) AS ratio
          FROM test_table
          ) a
          where ratio > .5;
          ratio
          0.6667
          0.3333
          0.5714
          0.4286
          {noformat}
          toddstoffel Todd Stoffel (Inactive) made changes -
          Rank Ranked higher
          gdorman Gregory Dorman (Inactive) made changes -
          Priority Major [ 3 ] Blocker [ 1 ]
          gdorman Gregory Dorman (Inactive) made changes -
          Fix Version/s 6.1.1 [ 25600 ]
          gdorman Gregory Dorman (Inactive) made changes -
          Assignee David Hall [ david.hall ]
          toddstoffel Todd Stoffel (Inactive) made changes -
          Rank Ranked higher
          gdorman Gregory Dorman (Inactive) made changes -
          Fix Version/s 6.5.1 [ 25801 ]
          Fix Version/s 6.1.1 [ 25600 ]
          David.Hall David Hall (Inactive) made changes -
          Fix Version/s 6.2.1 [ 26035 ]
          Fix Version/s 6.3.1 [ 25801 ]
          David.Hall David Hall (Inactive) made changes -
          Sprint 2021-9 [ 541 ]
          David.Hall David Hall (Inactive) made changes -
          Assignee David Hall [ david.hall ] Gagan Goel [ tntnatbry ]
          Status Open [ 1 ] In Review [ 10002 ]
          David.Hall David Hall (Inactive) made changes -
          Sprint 2021-9 [ 541 ] 2021-9, 2021-10 [ 541, 549 ]
          tntnatbry Gagan Goel (Inactive) made changes -
          Status In Review [ 10002 ] In Testing [ 10301 ]
          tntnatbry Gagan Goel (Inactive) made changes -
          Assignee Gagan Goel [ tntnatbry ] Daniel Lee [ dleeyh ]
          dleeyh Daniel Lee (Inactive) made changes -
          Resolution Fixed [ 1 ]
          Status In Testing [ 10301 ] Closed [ 6 ]
          toddstoffel Todd Stoffel (Inactive) made changes -
          Rank Ranked higher
          David.Hall David Hall (Inactive) made changes -
          Fix Version/s 6.2.2 [ 27000 ]
          Richard Richard Stracke made changes -
          Assignee Daniel Lee [ dleeyh ] Richard Stracke [ richard ]
          Richard Richard Stracke made changes -
          Assignee Richard Stracke [ richard ] Daniel Lee [ dleeyh ]
          mariadb-jira-automation Jira Automation (IT) made changes -
          Zendesk Related Tickets 112592

          People

            dleeyh Daniel Lee (Inactive)
            edward Edward Stoever
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.