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

ColumnStore in 10.5 doesn't compile

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      numerous compilation errors related to 10.5 specific changes. An incomplete fix:

      diff --git a/dbcon/mysql/ha_mcs.cpp b/dbcon/mysql/ha_mcs.cpp
      index 67b683e2..546d977d 100644
      --- a/dbcon/mysql/ha_mcs.cpp
      +++ b/dbcon/mysql/ha_mcs.cpp
      @@ -146,10 +146,10 @@ static int columnstore_init_func(void* p)
       #ifndef _MSC_VER
           (void) pthread_mutex_init(&mcs_mutex, MY_MUTEX_INIT_FAST);
       #endif
      -    (void) my_hash_init(&mcs_open_tables, system_charset_info, 32, 0, 0,
      +    (void) my_hash_init(PSI_NOT_INSTRUMENTED, &mcs_open_tables,
      +                        system_charset_info, 32, 0, 0,
                               (my_hash_get_key) mcs_get_key, 0, 0);
       
      -    mcs_hton->state =   SHOW_OPTION_YES;
           mcs_hton->create =  mcs_create_handler;
           mcs_hton->flags =   HTON_CAN_RECREATE;
       //  mcs_hton->discover_table = mcs_discover;
      @@ -910,7 +910,7 @@ int ha_mcs::external_lock(THD* thd, int lock_type)
           {
               //@Bug 2526 Only register the transaction when autocommit is off
               if ((thd_test_options(thd, OPTION_NOT_AUTOCOMMIT | OPTION_BEGIN)))
      -            trans_register_ha( thd, true, mcs_hton);
      +            trans_register_ha( thd, true, mcs_hton, 0);
       
               rc = ha_mcs_impl_external_lock(thd, table, lock_type);
           }
      diff --git a/dbcon/mysql/ha_mcs_impl.cpp b/dbcon/mysql/ha_mcs_impl.cpp
      index 3ffa33cc..dc8d0cf4 100644
      --- a/dbcon/mysql/ha_mcs_impl.cpp
      +++ b/dbcon/mysql/ha_mcs_impl.cpp
      @@ -1336,10 +1336,10 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi)
                   string tmpTableName = bestTableName(item);
       
                   //@Bug 5312 populate aliasname with tablename if it is empty
      -            if (!item->table_name)
      +            if (!item->table_name.length)
                       aliasName = tmpTableName;
                   else
      -                aliasName = item->table_name;
      +                aliasName = item->table_name.str;
       
                   if (strcasecmp(tableName.c_str(), "") == 0)
                   {
      @@ -1355,7 +1355,7 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi)
                       return -1;
                   }
       
      -            if (!item->db_name)
      +            if (!item->db_name.length)
                   {
                       //@Bug 5312. if subselect, wait until the schema info is available.
                       if (thd->derived_tables_processing)
      @@ -1369,7 +1369,7 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi)
                       }
                   }
                   else
      -                schemaName = string(item->db_name);
      +                schemaName = string(item->db_name.str);
       
                   columnAssignmentPtr = new ColumnAssignment(item->name.str, "=", "");
                   if (item->field_type() == MYSQL_TYPE_TIMESTAMP ||
      @@ -1460,9 +1460,9 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi)
                           {
                               sectableName = bestTableName(tmpVec[i]);
       
      -                        if ( tmpVec[i]->db_name )
      +                        if ( tmpVec[i]->db_name.length )
                               {
      -                            secschemaName = string(tmpVec[i]->db_name);
      +                            secschemaName = string(tmpVec[i]->db_name.str);
                               }
       
                               if ( (strcasecmp(tableName.c_str(), sectableName.c_str()) != 0) ||
      @@ -1479,11 +1479,11 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi)
                       isFromCol = true;
                       columnAssignmentPtr->fFromCol = true;
                       Item_field* setIt = reinterpret_cast<Item_field*> (value);
      -                string sectableName = string(setIt->table_name);
      +                string sectableName = string(setIt->table_name.str);
       
      -                if ( setIt->db_name ) //derived table
      +                if ( setIt->db_name.length ) //derived table
                       {
      -                    string secschemaName = string(setIt->db_name);
      +                    string secschemaName = string(setIt->db_name.str);
       
                           if ( (strcasecmp(tableName.c_str(), sectableName.c_str()) != 0) || (strcasecmp(schemaName.c_str(), secschemaName.c_str()) != 0))
                           {
      

      see bb-10.5-cs

      Attachments

        Issue Links

          Activity

            People

              drrtuy Roman
              serg Sergei Golubchik
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.