mirror of
https://github.com/MariaDB/server.git
synced 2025-07-21 21:22:27 +03:00
There are 2 issues here: Issue #1: memory allocation. An IO_CACHE that uses encryption uses a larger buffer (it needs space for the encrypted data, decrypted data, IO_CACHE_CRYPT struct to describe encryption parameters etc). Issue #2: IO_CACHE::seek_not_done When IO_CACHE objects are cloned, they still share the file descriptor. This means, operation on one IO_CACHE may change the file read position which will confuse other IO_CACHEs using it. The fix of these issues would be: Allocate the buffer to also include the extra size needed for encryption. Perform seek again after one IO_CACHE reads the file.
32 lines
852 B
Plaintext
32 lines
852 B
Plaintext
--echo #
|
|
--echo # Tests when the temporary files are encrypted
|
|
--echo #
|
|
|
|
source include/have_file_key_management_plugin.inc;
|
|
source include/have_sequence.inc;
|
|
source include/have_innodb.inc;
|
|
|
|
select @@encrypt_tmp_files;
|
|
|
|
--source t/win.test
|
|
|
|
--echo #
|
|
--echo # MDEV-23867: select crash in compute_window_func
|
|
--echo #
|
|
|
|
set @save_sort_buffer_size=@@sort_buffer_size;
|
|
|
|
set sort_buffer_size= 2000;
|
|
CREATE TABLE t1( a INT, b INT, c INT);
|
|
INSERT INTO t1 select seq, seq, seq from seq_1_to_5000;
|
|
CREATE TABLE t2( a INT, b INT, c INT);
|
|
INSERT INTO t2 SELECT a, b, ROW_NUMBER() OVER (PARTITION BY b) FROM t1;
|
|
SELECT COUNT(*), MAX(c) FROM t2;
|
|
CREATE TABLE t3( a INT, b INT, c INT);
|
|
INSERT INTO t3 SELECT a, b, SUM(a) OVER () FROM t1;
|
|
SELECT COUNT(*), MAX(c) FROM t3;
|
|
set @@sort_buffer_size=@save_sort_buffer_size;
|
|
DROP TABLE t1,t2,t3;
|
|
|
|
--echo # end of 10.2 test
|