Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-33003

long uniques don't work with spider

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.5, 10.6, 10.11, 11.1(EOL), 11.2, 10.4(EOL), 11.0(EOL), 11.3(EOL)
    • 10.5, 10.6, 10.11, 11.2
    • None
    • None

    Description

      or any other federated engine, fwiw.

      In, for example, a test like

      --disable_warnings
      --disable_query_log
      --disable_result_log
      --source test_init.inc
      --enable_result_log
      --enable_query_log
       
      --connection child2_1
      create database auto_test_remote;
      use auto_test_remote;
       
      create table ta_r (
        f1 bigint(20) not null auto_increment primary key,
        f2 varchar(30) default null,
        f3 varchar(30) default null,
        f4 varchar(25) default null,
        f5 varchar(30) default null,
        f6 varchar(25) default null,
        f7 varchar(25) default null,
        unique problem_key (f3,f5,f6,f2,f4,f7) using hash
      ) engine=myisam;
       
      --connection master_1
      create database auto_test_local;
      use auto_test_local;
       
      eval create table t1 (
        f1 bigint(20) not null auto_increment primary key,
        f2 varchar(30) default null,
        f3 varchar(30) default null,
        f4 varchar(25) default null,
        f5 varchar(30) default null,
        f6 varchar(25) default null,
        f7 varchar(25) default null,
        unique problem_key (f3,f5,f6,f2,f4,f7) using hash
      ) engine=spider
        $MASTER_1_ENGINE $MASTER_1_CHARSET $MASTER_1_COMMENT_2_1;
       
      insert  t1 (f2, f3, f4, f5, f6, f7) values ('00004', '0001009089999', '', 'netstes', 'psit', 'd');
      replace t1 (f2, f3, f4, f5, f6, f7) values ('00004', '0001009089999', '', 'netstes', 'psit', 'd');
      insert  t1 (f2, f3, f4, f5, f6, f7) values ('00004', '0001009089999', '', 'netstes', 'psit', 'e');
      replace t1 (f2, f3, f4, f5, f6, f7) values ('00004', '0001009089999', '', 'netstes', 'psit', 'e');
      select * from t1;
      drop database auto_test_local;
       
      --connection child2_1
      drop database auto_test_remote;
       
      --disable_warnings
      --disable_query_log
      --disable_result_log
      --source test_deinit.inc
      --enable_result_log
      --enable_query_log
      

      On the second replace:

      • master_1 needs to check if there's a duplicate
      • calculates the hash value and needs to read it from the table
      • sends SELECT f1 FROM ta_r WHERE DB_ROW_HASH_1=<hash value> to child2_1
      • child2_1 doesn't have such a column, it's "fully invisible", so the whole fails with

        1054: Unknown column 'DB_ROW_HASH_1' in 'field list'
        

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

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