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

Window functions: multiple cursors to read filesort result

    XMLWordPrintable

Details

    • 10.2.2-1

    Description

      This is to keep track of a known task:

      Computation of window function value involves moving multiple cursors through the result of filesort:

      • frame bound #1 (Implemented in classes produced by get_frame_cursor())
      • frame bound #2 (Implemented in classes produced by get_frame_cursor())
      • current row ( has no explicit cursor, just calls read_record.read_record()).

      right now, we are using "stub" code that only works when filesort result fits into an in-memory buffer:

      bool clone_read_record(const READ_RECORD *src, READ_RECORD *dst)
      {
        DBUG_ASSERT(src->table->sort.record_pointers);
        DBUG_ASSERT(src->read_record == rr_from_pointers);
        memcpy(dst, src, sizeof(READ_RECORD));
        return false;
      }
      

      This task is about being able to handle the case where filesort result didnt fit into the memory buffer and was partially dumped into a temp. file.

      Attachments

        Issue Links

          Activity

            People

              psergei Sergei Petrunia
              psergei Sergei Petrunia
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.