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

null bit header error when the number of NULL columns is divisible by 8 and the last column is a NOT NULL

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 1.0.5
    • 1.0.6
    • None
    • None
    • 2016-24

    Description

      It appears that, at least for this case, if the first column in a column store table is not null then it errors out with:
      ERROR 1815 (HY000): Internal error: Null bit header is wrong size
      On an insert into select statement. A workaround is to remove the not null constraint on the first column.

      To reproduce:

      CREATE TABLE t1_cs (
         c1 varchar(7) NOT NULL,
         c2 varchar(3) NOT NULL,
         c3 varchar(6) NOT NULL,
         c4 varchar(18) DEFAULT NULL,
         c5 varchar(9) DEFAULT NULL,
         c6 varchar(10) DEFAULT NULL,
         n1 decimal(11,2) DEFAULT NULL,
         n2 decimal(13,2) DEFAULT NULL,
         c7 varchar(5) DEFAULT NULL,
         d1 date DEFAULT NULL,
         d2 datetime DEFAULT NULL,
         d3   datetime NOT NULL,
         d4 datetime NOT NULL
      ) ENGINE=columnstore;
       
      CREATE TABLE t1_in (
         c1 varchar(7) NOT NULL,
         c2 varchar(3) NOT NULL,
         c3 varchar(6) NOT NULL,
         c4 varchar(18) DEFAULT NULL,
         c5 varchar(9) DEFAULT NULL,
         c6 varchar(10) DEFAULT NULL,
         n1 decimal(11,2) DEFAULT NULL,
         n2 decimal(13,2) DEFAULT NULL,
         c7 varchar(5) DEFAULT NULL,
         d1 date DEFAULT NULL,
         d2 datetime DEFAULT NULL,
         d3   datetime NOT NULL,
         d4 datetime NOT NULL
      ) ENGINE=InnoDB;
       
       
      insert into t1_in values (
      'ABC',
      'ABC',
      'ABC',
      'ABC',
      'ABC',
      'ABC',
      1.2,
      1.2,
      'ABC',
      now(),
      now(),
      now(),
      now()
      );
       
      insert into t1_cs select * from t1_in;
      ERROR 1815 (HY000): Internal error: Null bit header is wrong size
       
      drop table t1_cs;
       
      CREATE TABLE t1_cs (
         c1 varchar(7),
         c2 varchar(3) NOT NULL,
         c3 varchar(6) NOT NULL,
         c4 varchar(18) DEFAULT NULL,
         c5 varchar(9) DEFAULT NULL,
         c6 varchar(10) DEFAULT NULL,
         n1 decimal(11,2) DEFAULT NULL,
         n2 decimal(13,2) DEFAULT NULL,
         c7 varchar(5) DEFAULT NULL,
         d1 date DEFAULT NULL,
         d2 datetime DEFAULT NULL,
         d3   datetime NOT NULL,
         d4 datetime NOT NULL
      ) ENGINE=columnstore;
       
      insert into t1_cs select * from t1_in;
      ERROR 1815 (HY000): Internal error: PM2 : Bulkload Parse (thread 2) Failed for Table test.t1_cs during parsing.  Terminating this job.
       
      exit
       
      mcsmysql test
      insert into t1_cs select * from t1_in;
      --works
      

      Attachments

        Activity

          People

            dleeyh Daniel Lee (Inactive)
            dthompson David Thompson (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.