maria:bb-11.2-MDEV-31799

Last commit made on 2023-08-10
Get this branch:
git clone -b bb-11.2-MDEV-31799 https://git.launchpad.net/maria

Branch merges

Branch information

Name:
bb-11.2-MDEV-31799
Repository:
lp:maria

Recent commits

f329fe1... by Dmitry Shulga <email address hidden>

MDEV-31799 Unexpected ER_TRG_NO_SUCH_ROW_IN_TRG and server crash after ALTER TABLE

This bug report was caused by implementation of the task MDEV-5816
(Stored programs: validation of stored program statements).
Changing metadata of a table that has a trigger on AFTER UPDATE or AFTER DELETE
resulted in unexpected output of the error ER_TRG_NO_SUCH_ROW_IN_TR.
It was caused by the fact that characteristics of the trigger dependent on
changed table's metadata wasn't set in a new lex object created on re-parsing
of a failing trigger statement.

To fix the bug the data member lex->trg_chistics.action_time and
lex->trg_chistics.event must be set into real values of the trigger
whose statement being re-parsed.

00089ea... by Sergei Golubchik

MDEV-31633 Assertion `!item->null_value' failed in Type_handler::Item_send_str

5de39c5... by Sergei Golubchik

MDEV-9069 extend AES_ENCRYPT() and AES_DECRYPT() to support IV and the algorithm

AES_ENCRYPT(str, key, [, iv [, mode ]])
AES_DECRYPT(str, key, [, iv [, mode ]])

mode is aes-{128,192,256}-{ecb,cbc,ctr} e.g. "aes-128-cbc".

and a @@block_encryption_mode variable for the default value of mode

change in behavior: AES_ENCRYPT(str, key) can no longer
be used in persistent virtual columns (and alike)

f94d467... by Sergei Golubchik

enable AES-CTR with wolfssl

apparently it works now just fine, tests don't fail anymore

75f5cc4... by Sergei Golubchik

MDEV-30905 Remove old_alter_table variable

98de117... by Sergei Golubchik

cleanup: extern -> static

in particular, this fixes a compiler warning:
sql/sql_lex.h:406:19: warning: ‘sp_data_access_name’ defined but not used [-Wunused-variable]

f9003c7... by THIRUNARAYANAN BALATHANDAYUTHAPANI

MDEV-14795 InnoDB system tablespace cannot be shrunk

- Introduce the option :autoshrink attribute to be
added to innodb_data_file_path variable to allow
the shrinking of system tablespace during startup process.

Steps for shrinking the system tablespace:

1) Find the last used extent in system tablespace
by iterating through the BITMAP in extent descriptor pages

2) If the last used extent is lesser than user specified size
then set desired target size to user specified size.

3) Store the page contents of "to be modified" extent
descriptor pages, latches the "to be modified"
extent descriptor pages and check for buffer pool
memory availability

4) Make checkpoint to flush all pages in buffer pool, so
that pages in flush list doesn't have to use doublewrite
buffer and disable doublewrite buffer during shrinking process

5) Update the FSP_SIZE and FSP_FREE_LIMIT in header page

6) Remove the "to be truncated" pages from FSP_FREE and
FSP_FREE_FRAG list

7) Reset the bitmap in the last descriptor pages for the
"to be truncated" pages.

8) In case of multiple files, calculate the truncated last
file size and do the truncation in last file

9) Check whether mini-transaction log size doesn't exceed
the minimum value of innodb_log_buffer_size which is 2MB.
In that case, replace the modified buffer pool pages with
the page old content.

11) Commit the mini-transaction for shrinking the tablespace
and enable/disable the doublewrite buffer depends on user
specified value.

recv_sys_t::apply(): Handle the truncation of system tablespace
only if the recovered tablespace size is lesser than actual
existing size.

e81fa34... by Marko Mäkelä

Merge 11.1 into 11.2

c6ac1e3... by Marko Mäkelä

Merge 11.0 into 11.1

f2b4972... by Marko Mäkelä

Merge 10.11 into 11.0