mirror of
https://github.com/MariaDB/server.git
synced 2025-02-12 00:15:35 +01:00
![Marko Mäkelä](/assets/img/avatar_default.png)
Starting with commit baf276e6d4
(MDEV-19229)
the parameter innodb_undo_tablespaces can be increased from its
previous default value 0 while allowing an upgrade from old databases.
We will change the default setting to innodb_undo_tablespaces=3
so that the space occupied by possible bursts of undo log records
can be reclaimed after SET GLOBAL innodb_undo_log_truncate=ON.
We will not enable innodb_undo_log_truncate by default, because it
causes some observable performance degradation.
Special thanks to Thirunarayanan Balathandayuthapani for diagnosing
and fixing a number of bugs related to this new default setting.
Tested by: Matthias Leich, Axel Schwenke, Vladislav Vaintroub
(with both values of innodb_undo_log_truncate)
51 lines
2.2 KiB
Text
51 lines
2.2 KiB
Text
CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT,
|
|
c VARCHAR(256), coordinate POINT NOT NULL, SPATIAL index(coordinate)) ENGINE=INNODB
|
|
ENCRYPTED=YES;
|
|
Got one of the listed errors
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT,
|
|
c VARCHAR(256), coordinate POINT NOT NULL, SPATIAL index(coordinate)) ENGINE=INNODB;
|
|
ALTER TABLE t1 ENCRYPTED=YES;
|
|
Got one of the listed errors
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT,
|
|
c VARCHAR(256), coordinate POINT NOT NULL)
|
|
PAGE_COMPRESSED=YES, ENCRYPTED=YES ENGINE=INNODB;
|
|
ALTER TABLE t1 ADD SPATIAL INDEX b1(coordinate), ALGORITHM=COPY;
|
|
Got one of the listed errors
|
|
ALTER TABLE t1 ADD SPATIAL INDEX b2(coordinate), FORCE, ALGORITHM=INPLACE;
|
|
Got one of the listed errors
|
|
ALTER TABLE t1 ADD SPATIAL INDEX(coordinate);
|
|
Got one of the listed errors
|
|
CREATE SPATIAL INDEX b3 on t1(coordinate);
|
|
Got one of the listed errors
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT,
|
|
c VARCHAR(256), coordinate POINT NOT NULL) ENCRYPTED=DEFAULT ENGINE=INNODB;
|
|
CREATE SPATIAL INDEX b on t1(coordinate);
|
|
INSERT INTO t1 values(1, 'secret', ST_GeomFromText('POINT(903994614 180726515)'));
|
|
ALTER TABLE t1 DROP INDEX b;
|
|
INSERT INTO t1 values(2, 'secret', ST_GeomFromText('POINT(903994614 180726515)'));
|
|
ALTER TABLE t1 ADD SPATIAL INDEX b(coordinate);
|
|
INSERT INTO t1 values(3, 'secret', ST_GeomFromText('POINT(903994614 180726515)'));
|
|
DROP TABLE t1;
|
|
CREATE TABLE t1 (pk INT PRIMARY KEY AUTO_INCREMENT,
|
|
c VARCHAR(256), coordinate POINT NOT NULL, SPATIAL index(coordinate)) ENGINE=INNODB;
|
|
CREATE TABLE t2 (pk INT PRIMARY KEY AUTO_INCREMENT,
|
|
c VARCHAR(256), coordinate POINT NOT NULL, SPATIAL index(coordinate)) ENGINE=INNODB PAGE_COMPRESSED=YES;
|
|
INSERT INTO t1 values(1, 'secret', ST_GeomFromText('POINT(903994614 180726515)'));
|
|
INSERT INTO t2 values(1, 'secret', ST_GeomFromText('POINT(903994614 180726515)'));
|
|
# Success!
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION > 0;
|
|
NAME
|
|
innodb_system
|
|
innodb_undo001
|
|
innodb_undo002
|
|
innodb_undo003
|
|
mysql/innodb_index_stats
|
|
mysql/innodb_table_stats
|
|
mysql/transaction_registry
|
|
test/t1
|
|
test/t2
|
|
SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
|
|
NAME
|
|
DROP TABLE t1, t2;
|