1. 30 Sep, 2023 7 commits
  2. 29 Sep, 2023 3 commits
  3. 27 Sep, 2023 1 commit
  4. 25 Sep, 2023 1 commit
  5. 24 Sep, 2023 4 commits
  6. 23 Sep, 2023 2 commits
  7. 21 Sep, 2023 4 commits
    • Nikita Malyavin's avatar
      fix rdb_i_s.cc build · e9573c05
      Nikita Malyavin authored
      e9573c05
    • Nikita Malyavin's avatar
      Merge branch '11.2' into 11.3 · 28b40372
      Nikita Malyavin authored
      28b40372
    • Alexander Barkov's avatar
      MDEV-32220 sql_yacc.yy: unify the drop_routine rule · d75ef02a
      Alexander Barkov authored
      - Removing two copies of the drop_routine.
        Adding a shared and much simplified version.
      
      - Removing LEX metods:
            bool stmt_drop_function(const DDL_options_st &options,
                                    const Lex_ident_sys_st &db,
                                    const Lex_ident_sys_st &name);
      
            bool stmt_drop_function(const DDL_options_st &options,
                                    const Lex_ident_sys_st &name);
      
            bool stmt_drop_procedure(const DDL_options_st &options,
                                     sp_name *name);
      
        The code inside the methods was very similar.
        Adding one method instead:
      
            bool stmt_drop_routine(const Sp_handler *sph,
                                const DDL_options_st &options,
                                const Lex_ident_sys_st &db,
                                const Lex_ident_sys_st &name);
      
      - Adding a new virtual method Sp_handler:sqlcom_drop().
        It helped to unify the code inside the new stmt_drop_routine().
      d75ef02a
    • Alexander Barkov's avatar
      MDEV-32219 Shift/reduce grammar conflict: GRANT .. ON FUNCTION · 19885128
      Alexander Barkov authored
      Resolving the shift/reduce conflict conflict in:
      
      GRANT ..  ON /*ambiguity*/ FUNCTION f1 TO foo@localhost;
      GRANT ... ON /*ambiguity*/ [TABLE] function TO foo@localhost;
      
      and in
      
      REVOKE ..  ON /*ambiguity*/ FUNCTION f1 TO foo@localhost;
      REVOKE ... ON /*ambiguity*/ [TABLE] function TO foo@localhost;
      
      using a new %prec directive.
      19885128
  8. 19 Sep, 2023 1 commit
    • Marko Mäkelä's avatar
      MDEV-32044 Mariadb crash after upgrading to 11.0.3 · 030ee267
      Marko Mäkelä authored
      ibuf_bitmap_buffered(): A new predicate, to check if the
      IBUF_BITMAP_BUFFERED bit for a particular page is set.
      
      ibuf_merge(): If ibuf_bitmap_buffered() does not hold,
      skip the records for the page. One reason why we might have
      this situation is the bug that was fixed in
      commit 34c283ba (MDEV-32132).
      030ee267
  9. 15 Sep, 2023 1 commit
  10. 14 Sep, 2023 2 commits
  11. 13 Sep, 2023 1 commit
    • Alexander Barkov's avatar
      MDEV-31606 Refactor check_db_name() to get a const argument · f5aae716
      Alexander Barkov authored
      Problem:
      Under terms of MDEV-27490, we'll update Unicode version used
      to compare identifiers to 14.0.0. Unlike in the old Unicode version,
      in the new version a string can grow during lower-case. We cannot
      perform check_db_name() inplace any more.
      
      Change summary:
      
      - Allocate memory to store lower-cased identifiers in memory root
      
      - Removing check_db_name() performing both in-place lower-casing and validation
        at the same time. Splitting it into two separate stages:
        * creating a memory-root lower-cased copy of an identifier
          (using new MEM_ROOT functions and Query_arena wrapper methods)
        * performing validation on a constant string
          (using Lex_ident_fs methods)
      
      Implementation details:
      
      - Adding a mysys helper function to allocate lower-cased strings on MEM_ROOT:
      
          lex_string_casedn_root()
      
        and a Query_arena wrappers for it:
      
          make_ident_casedn()
          make_ident_opt_casedn()
      
      - Adding a Query_arena method to perform both MEM_ROOT lower-casing and
        database name validation at the same time:
      
          to_ident_db_internal_with_error()
      
        This method is very close to the old (pre-11.3) check_db_name(),
        but performs lower-casing to a newly allocated MEM_ROOT
        memory (instead of performing lower-casing the original string in-place).
      
      - Adding a Table_ident method which additionally handles derived table names:
      
          to_ident_db_internal_with_error()
      
      - Removing the old check_db_name()
      f5aae716
  12. 12 Sep, 2023 1 commit
    • Sergei Petrunia's avatar
      MDEV-31496: Make optimizer handle UCASE(varchar_col)=... · e987b935
      Sergei Petrunia authored
      (Review input addressed)
      (Added handling of UPDATE/DELETE and partitioning w/o index)
      
      If the properties of the used collation allow, do the following
      equivalent rewrites:
      
      1. UPPER(key_col)=expr  ->  key_col=expr
         expr=UPPER(key_col)  ->  expr=key_col
         (also rewrite both sides of the equality at the same time)
      
      2. UPPER(key_col) IN (constant-list)  -> key_col IN (constant-list)
      
      - Mark utf8mb{3,4}_general_ci as collations that allow this.
      - Add optimizer_switch='sargable_casefold=ON' to control this.
        (ON by default in this patch)
      - Cover the rewrite in Optimizer Trace, rewrite name is
        "sargable_casefold_removal".
      e987b935
  13. 11 Sep, 2023 1 commit
  14. 09 Sep, 2023 2 commits
    • Monty's avatar
      Updated sql-bench to run with PostgreSQL 14.9 · e39ed5d7
      Monty authored
      - Updated capabilities for PostgreSQL in server.cfg
      - Updated test-ATIS & test-table-elimination to work with PostgreSQL
      - Updated test-transaction test to also work with non transactional tables
      
      Other things:
      - Added test of tables with many keys in test-insert
      - Added 2 new GROUP BY .. ORDER BY test
      e39ed5d7
    • Monty's avatar
      Added support for --skip-secure-file-priv · 69c420be
      Monty authored
      This works the same as secure-file-priv="", but is more obvious way to
      turn of secure-file-priv.
      69c420be
  15. 08 Sep, 2023 2 commits
  16. 04 Sep, 2023 2 commits
    • Alexander Barkov's avatar
      MDEV-32081 Remove my_casedn_str() from get_canonical_filename() · 8ad1e26b
      Alexander Barkov authored
      - Moving get_canonical_filename() from a public function to a method in handler.
      - Adding a helper method is_canonical_filename() to handler.
      - Adding helper methods left(), substr(), starts_with() to Lex_cstring.
      - Adding helper methods is_sane(), buffer_overlaps(),
        max_data_size() to CharBuffer.
      - Adding append_casedn() to CharBuffer. It implements the main functionality
        that replaces the being removed my_casedn_str() call.
      - Adding a class Table_path_buffer,
        a descendant of CharBuffer with size FN_REFLEN.
      - Changing get_canonical_filename() to get a pointer to Table_path_buffer
        instead just a pointer to char.
      - Changing the data type of the "path" parameter and the return type of
        get_canonical_filename() from char* to Lex_cstring.
      8ad1e26b
    • Alexander Barkov's avatar
      MDEV-31505 Deprecate mariabackup --innobackupex mode · 5de23b1d
      Alexander Barkov authored
      1. "mariabackup --innobackupex" now prints a new warning:
             '--innobackupex' is deprecated and will be removed in a future release
      
      2. "mariabackup --innobackupex" does not print this wrong warning any more:
              --innobackupex: Deprecated program name.
                It will be removed in a future release,
                use '/path/to/mariadb-backup' instead
      5de23b1d
  17. 30 Aug, 2023 2 commits
    • Federico Razzoli's avatar
      EXAMPLE storage engine: update comments · e666b865
      Federico Razzoli authored
      e666b865
    • Anel Husakovic's avatar
      MDEV-31231: Remove JavaWrappers.jar from mariadb-test-data and create new... · 7ba9c7fb
      Anel Husakovic authored
      MDEV-31231: Remove JavaWrappers.jar from mariadb-test-data and create new mariadb-plugin-connect-jdbc package
      
      - Jar file created
      ```bash
      $ find .|grep JdbcInterface
      ./storage/connect/connect_jars/JdbcInterface.jar
      ```
      - Debian package created
      ```bash
      $ dpkg -c mariadb-plugin-connect-jdbc_11.2.0+maria~ubu2004_amd64.deb
      drwxr-xr-x root/root         0 2023-05-16 09:50 ./
      drwxr-xr-x root/root         0 2023-05-16 09:50 ./usr/
      drwxr-xr-x root/root         0 2023-05-16 09:50 ./usr/share/
      drwxr-xr-x root/root         0 2023-05-16 09:50 ./usr/share/doc/
      drwxr-xr-x root/root         0 2023-05-16 09:50 ./usr/share/doc/mariadb-plugin-connect-jdbc/
      -rw-r--r-- root/root       253 2023-05-16 09:50 ./usr/share/doc/mariadb-plugin-connect-jdbc/changelog.gz
      -rw-r--r-- root/root      2502 2023-05-09 15:14 ./usr/share/doc/mariadb-plugin-connect-jdbc/copyright
      drwxr-xr-x root/root         0 2023-05-16 09:50 ./usr/share/mariadb/
      -rw-r--r-- root/root      7538 2023-05-16 09:50 ./usr/share/mariadb/JdbcInterface.jar
      ```
      
      - Tested on RPM
      ```
      $ ls -la|grep connect
      -rw-r--r--  1 root root  2633772 May 23 11:27 MariaDB-connect-engine-11.2.0-1.el7.x86_64.rpm
      -rw-r--r--  1 root root  3430040 May 23 11:27 MariaDB-connect-engine-debuginfo-11.2.0-1.el7.x86_64.rpm
      -rw-r--r--  1 root root     9872 May 23 11:27 MariaDB-connect-engine-jdbc-11.2.0-1.el7.x86_64.rpm
      -rw-r--r--  1 root root       36 May 23 11:21 install_manifest_connect-engine-jdbc.txt
      -rw-r--r--  1 root root      123 May 23 11:21 install_manifest_connect-engine.txt
      -rw-r--r--  1 root root        0 May 23 11:21 install_manifest_connect-engineSymlinks.txt
      
      $ rpm -qlp MariaDB-connect-engine-jdbc-11.2.0-1.el7.x86_64.rpm
      /usr/share/mariadb
      /usr/share/mariadb/JdbcInterface.jar
      
      $ for o in --conflicts --enhances --obsoletes --provides --recommends --requires --suggests --supplements ; do echo opt $o; rpm -q $o /home/dan/repos/build-mariadb-server-11.2/MariaDB-connect-engine-jdbc-11.2.0-1.fc38.x86_64.rpm; done
      opt --conflicts
      opt --enhances
      opt --obsoletes
      opt --provides
      MariaDB-connect-engine-jdbc = 11.2.0-1.fc38
      MariaDB-connect-engine-jdbc(x86-64) = 11.2.0-1.fc38
      opt --recommends
      MariaDB-connect-engine
      mariadb-java-client
      mysql-connector-java
      postgresql-jdbc
      opt --requires
      java-1.8.0-openjdk-headless
      rpmlib(CompressedFileNames) <= 3.0.4-1
      rpmlib(FileDigests) <= 4.6.0-1
      rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      rpmlib(PayloadIsZstd) <= 5.4.18-1
      opt --suggests
      opt --supplements
      ```
      
      Closes PR #1890  (MDEV-26218)
      
      Reviewer: <daniel@mariadb.org>
      7ba9c7fb
  18. 29 Aug, 2023 2 commits
    • Alexander Barkov's avatar
      MDEV-32026 lowercase_table2.test failures in 11.3 · 9cb75f33
      Alexander Barkov authored
      Also fixes MDEV-32025 Crashes in MDL_key::mdl_key_init with lower-case-table-names=2
      
      Change overview:
      - In changes made in MDEV-31948, MDEV-31982 the code path
        which originaly worked only in case of lower-case-table-names==1
        also started to work in case of lower-case-table-names==2 in a mistake.
      
        Restoring the original check_db_name() compatible behavior
        (but without re-using check_db_name() itself).
      - MDEV-31978 erroneously added a wrong DBUG_ASSERT. Removing.
      
      Details:
      
      - In mysql_change_db() the database name should be lower-cased only
        in case of lower_case_table_names==1. It should not be lower-cased
        for lower_case_table_names==2. The problem was caused by MDEV-31948.
        The new code version restored the pre-MDEV-31948 behavior, which
        used check_db_name() behavior.
      
      - Passing lower_case_table_names==1 instead of just lower_case_table_names
        to the "casedn" parameter to DBNameBuffer constructor in sql_parse.cc
        The database name should not be lower-cased for lower_case_table_names==2.
        This restores pre-MDEV-31982 behavioir which used check_db_name() here.
      
      - Adding a new data type Lex_ident_db_normalized, it stores database
        names which are both checked and normalized to lower case
        in case lower_case_table_names==1 and lower_case_table_names==2.
      
      - Changing the data type for the "db" parameter to Lex_ident_db_normalized in
        lock_schema_name(), lock_db_routines(), find_db_tables_and_rm_known_files().
      
        This is to avoid incorrectly passing a non-normalized name in the future.
      
      - Restoring the database name normalization in mysql_create_db_internal()
        and mysql_rm_db_internal() before calling lock_schema_name().
        The problem was caused MDEV-31982.
      
      - Adding database name normalization in mysql_alter_db_internal()
        and mysql_upgrade_db(). This fixes MDEV-32026.
      
      - Removing a wrong assert in Create_sp_func::create_with_db() was incorrect:
      
          DBUG_ASSERT(Lex_ident_fs(*db).ok_for_lower_case_names());
      
        The database name comes to here checked, but not normalized
        to lower case with lower-case-table-names=2.
        The assert was erroneously added by MDEV-31978.
      
      - Recording lowercase_tables2.results and lowercase_tables4.results
        according to
          MDEV-29446 Change SHOW CREATE TABLE to display default collations
        These tests are skipped on buildbot on all platforms, so this change
        was forgotten in the patch for MDEV-29446.
      9cb75f33
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-32008 auto_increment value on table increments by one after restart · cb384d0d
      Thirunarayanan Balathandayuthapani authored
      - This issue caused by commit 4700f2ac(MDEV-30796)
      During bulk insert operation, InnoDB wrongly stores the next autoincrement
      value as current autoincrement value. So update the current autoincrement
      value rather than next auto increment value.
      cb384d0d
  19. 28 Aug, 2023 1 commit