Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-14509 Spider-VP Spiral Patches
  3. MDEV-7735

Spiral patch 039_mariadb-10.0.15.child_partition_pruning.diff

Details

    • Technical task
    • Status: Stalled (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Attachments

      Issue Links

        Activity

          psergei Sergei Petrunia added a comment - - edited

          The patch includes

             if (!pprune_cond)
             {
               mark_all_partitions_as_used(part_info);
          -    DBUG_RETURN(FALSE);
          +    retval= base_table->file->prune_partitions_for_child(thd, pprune_cond);
          +    DBUG_RETURN(retval);
             }

          Which doesnt seem to make sense: it does not make any sensse to call prune_partitions_for_child(thd, NULL).

          psergei Sergei Petrunia added a comment - - edited The patch includes if (!pprune_cond) { mark_all_partitions_as_used(part_info); - DBUG_RETURN(FALSE); + retval= base_table->file->prune_partitions_for_child(thd, pprune_cond); + DBUG_RETURN(retval); } Which doesnt seem to make sense: it does not make any sensse to call prune_partitions_for_child(thd, NULL).

          Looks weird. Why would one want to call prune_partitions() for individual partitions?

          psergei Sergei Petrunia added a comment - Looks weird. Why would one want to call prune_partitions() for individual partitions?
          jacob-mathew Jacob Mathew (Inactive) added a comment - - edited

          The only data node storage engine, i.e. the only storage engine that actually stores data, that needs prune_partitions_for_child() to be called is MyISAM for Merge tables. However, support for this functionality has not yet been added to MyISAM Merge. Therefore the data node storage engines will always execute

          virtual bool handler::prune_partitions_for_child(THD *thd, Item *pprune_cond) { return FALSE; }
          

          That is why this code looks weird right now. It looked weird to me too, until Kentoku explained it. In the meantime, this functionality is only supported by the Vertical Partioning Storage Engine for its vertical partitions. Until Kentoku merges that engine into MariaDB, refer to the tar at http://spiderformysql.com/downloads/spider-3.3/patch_mariadb-10.2.0.tgz to see the details of how that engine uses prune_partitions_for_child().

          jacob-mathew Jacob Mathew (Inactive) added a comment - - edited The only data node storage engine, i.e. the only storage engine that actually stores data, that needs prune_partitions_for_child() to be called is MyISAM for Merge tables. However, support for this functionality has not yet been added to MyISAM Merge. Therefore the data node storage engines will always execute virtual bool handler::prune_partitions_for_child(THD *thd, Item *pprune_cond) { return FALSE; } That is why this code looks weird right now. It looked weird to me too, until Kentoku explained it. In the meantime, this functionality is only supported by the Vertical Partioning Storage Engine for its vertical partitions. Until Kentoku merges that engine into MariaDB, refer to the tar at http://spiderformysql.com/downloads/spider-3.3/patch_mariadb-10.2.0.tgz to see the details of how that engine uses prune_partitions_for_child().

          Commit 9c8db1d integrates Spiral patches 039 and 047, for adding child partition pruning support to the Vertical Partition Engine, in branch bb-10.2-spider-extra-jacob.

          jacob-mathew Jacob Mathew (Inactive) added a comment - Commit 9c8db1d integrates Spiral patches 039 and 047, for adding child partition pruning support to the Vertical Partition Engine, in branch bb-10.2-spider-extra-jacob.

          I pushed this the followings. Please review it.
          3a6dbfd

          Kentoku Kentoku Shiba (Inactive) added a comment - I pushed this the followings. Please review it. 3a6dbfd

          People

            monty Michael Widenius
            svoj Sergey Vojtovich
            Votes:
            0 Vote for this issue
            Watchers:
            7 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.