1. 16 Apr, 2024 1 commit
  2. 02 Apr, 2024 1 commit
  3. 01 Apr, 2024 1 commit
  4. 29 Mar, 2024 1 commit
  5. 19 Mar, 2024 1 commit
  6. 18 Mar, 2024 1 commit
  7. 14 Mar, 2024 3 commits
    • Sergei Petrunia's avatar
      MDEV-12404: Add assertions about Index Condition Pushdown use · da4e1297
      Sergei Petrunia authored
      Add assertions about limitations one has when using Index Condition
      Pushdown:
      - add handler::assert_icp_limitations()
      - call this function from functions that may attempt violations.
      
      Verified that assert_icp_limitations() as well as calls to it are
      compiled away in release build.
      da4e1297
    • Dave Gosselin's avatar
      MDEV-12404 Index condition pushdown on partitioned tables · 817b8d49
      Dave Gosselin authored
      Support index condition pushdown within partitioned tables.
      - ha_partition will pass the pushed index condition into all of the used
        partitions.
        - We require that all of the partitions to handle the pushed index
          condition in the same way.
      - When using ICP, one may read rows (e.g. call h->index_read_map(buf, ...)
        only to buf= table->record[0], for two reasons:
        * Pushed index condition's Item_field objects point into record[0]
        * InnoDB requires this: it calls offset() which assumes record[0].
        So, when using ICP, ha_partition will read partition records to
        table->record[0] and then will copy record away if it needs it to be
        elsewhere.
      817b8d49
    • Sergei Petrunia's avatar
  8. 13 Mar, 2024 1 commit
    • Sergei Petrunia's avatar
      MDEV-18478 ANALYZE for statement should show selectivity of pushed index condition · 01df0496
      Sergei Petrunia authored
      Part#2, variant 2: Make the printed r_ values in JSON output consistent.
      After this patch, ANALYZE output has:
      
      - r_index_rows (NEW) - Observed number of rows before ICP or Rowid Filtering
        checks. This is a per-scan average. like r_rows and "rows" are.
      
      - r_rows (AS BEFORE) - Observed number of rows after ICP and Rowid Filtering.
      
      - r_icp_filtered (NEW) - Observed selectivity of ICP condition.
      
      - (AS BEFORE) observed selectivity of Rowid Filter is in
        $.rowid_filter.r_selectivity_pct
      
      - r_total_filtered - Observed combined selectivity: fraction of rows left
        after applying ICP condition, Rowid Filter, and attached_condition.
        This is now comparable with "filtered" and is printed right after it.
      
      - r_filtered (AS BEFORE) - Observed selectivity of "attached_condition".
      
      Tabular ANALYZE output is not changed. Note that JSON's r_filtered and
      r_rows have the same meanings as before and have the same meaning as in
      tabular output.
      01df0496
  9. 30 Dec, 2023 1 commit
  10. 22 Dec, 2023 1 commit
  11. 21 Dec, 2023 4 commits
  12. 20 Dec, 2023 7 commits
  13. 19 Dec, 2023 11 commits
  14. 18 Dec, 2023 6 commits
    • Sergei Golubchik's avatar
      hashicorp plugin: any 404 from the vault means "no key found" · 25c62788
      Sergei Golubchik authored
      e.g. it could be
      
      {"errors":["no handler for route \"mariadbtest/data/1\". route entry not found."]}
      25c62788
    • Sergei Golubchik's avatar
      fix test failures with ASAN · eb37a766
      Sergei Golubchik authored
      ASAN uses *a lot* more stack. use not_asan.inc for tests
      that recursively put a lot of data on the stack
      eb37a766
    • Sergei Golubchik's avatar
      InnoDB: downgrade a warning to a note · 11ae6c9a
      Sergei Golubchik authored
      "InnoDB: The last skipped log record LSN X is not equal to page LSN Y"
      is not an actionable message for the user, so it should be a note, not
      a warning
      11ae6c9a
    • Sergei Golubchik's avatar
      perfschema: LOCK_all_status_vars not LOCK_status · 07a0173f
      Sergei Golubchik authored
      to iterate over all status variables one should use
      LOCK_all_status_vars not LOCK_status
      
      this fixes sporadic mutex lock inversion in plugins.password_reuse_check:
      * acl_cache->lock is taken over complex operations that might increment
        status counters (under LOCK_status).
      * acl_cache->lock is needed to get the values of Acl% status variables
        when iterating over status variables
      07a0173f
    • Sergei Golubchik's avatar
      Merge branch '10.6' into 10.11 · fd0b47f9
      Sergei Golubchik authored
      fd0b47f9
    • Alexander Barkov's avatar
      MDEV-32101 CREATE PACKAGE [BODY] for sql_mode=DEFAULT · aed9c656
      Alexander Barkov authored
      This patch adds PACKAGE support with SQL/PSM dialect for sql_mode=DEFAULT:
      
      - CREATE PACKAGE
      - DROP PACKAGE
      - CREATE PACKAGE BODY
      - DROP PACKAGE BODY
      - Package function and procedure invocation from outside of the package:
          -- using two step identifiers
          SELECT pkg.f1();
          CALL pkg.p1()
      
          -- using three step identifiers
          SELECT db.pkg.f1();
          CALL db.pkg.p1();
      
      This is a non-standard MariaDB extension.
      
      However, later this code can be used to implement
      the SQL Standard and DB2 dialects of CREATE MODULE.
      aed9c656