should be it
This commit is contained in:
85
external/duckdb/test/sql/copy/encryption/different_aes_ciphers.test
vendored
Normal file
85
external/duckdb/test/sql/copy/encryption/different_aes_ciphers.test
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
# name: test/sql/copy/encryption/different_aes_ciphers.test
|
||||
# group: [encryption]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY '');
|
||||
----
|
||||
Binder Error: Not a valid key. A key cannot be empty
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER 'random');
|
||||
----
|
||||
Binder Error: "random" is not a valid cipher. Try 'GCM' or 'CTR'.
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER '');
|
||||
----
|
||||
Binder Error: "" is not a valid cipher. Try 'GCM' or 'CTR'.
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER 42);
|
||||
----
|
||||
Binder Error: "42" is not a valid cipher. Try 'GCM' or 'CTR'.
|
||||
|
||||
foreach cipher GCM CTR
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted_${cipher}.duckdb' AS encrypted_${cipher} (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER '${cipher}');
|
||||
|
||||
query I
|
||||
select encrypted from duckdb_databases() where database_name = 'encrypted_${cipher}' and cipher='${cipher}';
|
||||
----
|
||||
true
|
||||
|
||||
endloop
|
||||
|
||||
|
||||
# we can create a database with a specific cipher (CTR)
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted_default_cipher.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER 'CTR');
|
||||
|
||||
statement ok
|
||||
create table encrypted.fuu as select 42;
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
# we can open it again by specifying that same cipher again
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted_default_cipher.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER 'CTR');
|
||||
|
||||
query I
|
||||
FROM encrypted.fuu
|
||||
----
|
||||
42
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
# or open it without specifying the cipher, it will be read from file
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted_default_cipher.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
query I
|
||||
FROM encrypted.fuu
|
||||
----
|
||||
42
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
# but it will fail if we specify the wrong one
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted_default_cipher.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER 'GCM');
|
||||
----
|
||||
with a different cipher (GCM) than the one used to create it (CTR)
|
||||
|
||||
|
||||
# CBC is disabled (for now)
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/CBC.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf', ENCRYPTION_CIPHER 'CBC');
|
||||
----
|
||||
CBC encryption is disabled
|
||||
50
external/duckdb/test/sql/copy/encryption/encrypted_to_unencrypted.test_slow
vendored
Normal file
50
external/duckdb/test/sql/copy/encryption/encrypted_to_unencrypted.test_slow
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
# name: test/sql/copy/encryption/encrypted_to_unencrypted.test_slow
|
||||
# group: [encryption]
|
||||
|
||||
require skip_reload
|
||||
|
||||
require tpch
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted.duckdb' as unencrypted;
|
||||
|
||||
statement ok
|
||||
USE encrypted;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
COPY FROM DATABASE encrypted to unencrypted;
|
||||
|
||||
statement ok
|
||||
USE memory;
|
||||
|
||||
statement ok
|
||||
DETACH unencrypted
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted.duckdb' AS unencrypted;
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM unencrypted.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
143
external/duckdb/test/sql/copy/encryption/encryption_storage_versions.test
vendored
Normal file
143
external/duckdb/test/sql/copy/encryption/encryption_storage_versions.test
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
# name: test/sql/copy/encryption/encryption_storage_versions.test
|
||||
# group: [encryption]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted.duckdb' as unencrypted;
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/v_0_10_2.duckdb' as v_0_10_2 (STORAGE_VERSION 'v0.10.2');
|
||||
|
||||
statement ok
|
||||
CREATE OR REPLACE TABLE unencrypted.tbl AS SELECT * FROM range(10) t(i);
|
||||
|
||||
statement ok
|
||||
CREATE OR REPLACE TABLE v_0_10_2.tbl AS SELECT * FROM range(10) t(i);
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM unencrypted.tbl
|
||||
----
|
||||
45
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM v_0_10_2.tbl
|
||||
----
|
||||
45
|
||||
|
||||
statement ok
|
||||
DETACH unencrypted
|
||||
|
||||
statement ok
|
||||
DETACH v_0_10_2
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted_v2.duckdb' AS encrypted_v2 (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/v_0_10_2.duckdb' as v_0_10_2;
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted.duckdb' as unencrypted;
|
||||
|
||||
# copy from unencrypted to encrypted
|
||||
statement ok
|
||||
COPY FROM DATABASE unencrypted TO encrypted;
|
||||
|
||||
# copy from version 0.10.2 to an encrypted db
|
||||
statement ok
|
||||
COPY FROM DATABASE v_0_10_2 TO encrypted_v2;
|
||||
|
||||
statement ok
|
||||
DETACH unencrypted
|
||||
|
||||
statement ok
|
||||
DETACH v_0_10_2
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement ok
|
||||
DETACH encrypted_v2
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted_v2.duckdb' AS encrypted_v2 (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
# check if we can read the encrypted data
|
||||
query I
|
||||
SELECT SUM(i) FROM encrypted.tbl
|
||||
----
|
||||
45
|
||||
|
||||
# check if we can read the encrypted data from the original v0.10.2 db
|
||||
query I
|
||||
SELECT SUM(i) FROM encrypted_v2.tbl
|
||||
----
|
||||
45
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted_new.duckdb' as unencrypted_new;
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted_v_1_2_0.duckdb' as unencrypted_v_1_2_0 (STORAGE_VERSION 'v1.2.0');
|
||||
|
||||
# copy encrypted db to unencrypted database
|
||||
statement ok
|
||||
COPY FROM DATABASE encrypted TO unencrypted_new;
|
||||
|
||||
# copy encrypted db to unencrypted database with v1.2.0 storage version
|
||||
statement ok
|
||||
COPY FROM DATABASE encrypted_v2 TO unencrypted_v_1_2_0;
|
||||
|
||||
statement ok
|
||||
DETACH unencrypted_new
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement ok
|
||||
DETACH encrypted_v2
|
||||
|
||||
statement ok
|
||||
DETACH unencrypted_v_1_2_0
|
||||
|
||||
# we should not be able to open an unencrypted db with an encryption key
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/unencrypted_v_1_2_0.duckdb' AS unencrypted_v_1_2_0 (ENCRYPTION_KEY 'asdf');
|
||||
----
|
||||
not encrypted
|
||||
|
||||
# we cannot open this db with a lower (< v1.2.0) storage version
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/unencrypted_v_1_2_0.duckdb' AS unencrypted_v_1_2_0 (STORAGE_VERSION 'v1.0.0');
|
||||
----
|
||||
The storage version of an existing database cannot be lowered
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted_v_1_2_0.duckdb' AS unencrypted_v_1_2_0;
|
||||
|
||||
# check if it is the correct storage version
|
||||
query I
|
||||
SELECT tags['storage_version'] FROM duckdb_databases() WHERE database_name='unencrypted_v_1_2_0'
|
||||
----
|
||||
v1.2.0+
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted_new.duckdb' AS unencrypted_new;
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM unencrypted_v_1_2_0.tbl;
|
||||
----
|
||||
45
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM unencrypted_new.tbl;
|
||||
----
|
||||
45
|
||||
163
external/duckdb/test/sql/copy/encryption/multiple_encrypted_databases.test_slow
vendored
Normal file
163
external/duckdb/test/sql/copy/encryption/multiple_encrypted_databases.test_slow
vendored
Normal file
@@ -0,0 +1,163 @@
|
||||
# name: test/sql/copy/encryption/multiple_encrypted_databases.test_slow
|
||||
# group: [encryption]
|
||||
|
||||
require skip_reload
|
||||
|
||||
require tpch
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted2.duckdb' as encrypted2 (ENCRYPTION_KEY 'xxxx');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted3.duckdb' as encrypted3 (ENCRYPTION_KEY 'e8f2a36455d84f8a3cb94780c2f4dd5c5b4ab1ff42d67c0b6f9c9a90e771c158');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted4.duckdb' as encrypted4 (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
USE encrypted;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
USE encrypted2;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
USE encrypted3;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
USE encrypted4;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
USE memory;
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement ok
|
||||
DETACH encrypted2
|
||||
|
||||
statement ok
|
||||
DETACH encrypted3
|
||||
|
||||
statement ok
|
||||
DETACH encrypted4
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted2.duckdb' AS encrypted2 (ENCRYPTION_KEY 'asdf');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted3.duckdb' AS encrypted3 (ENCRYPTION_KEY 'asdf');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'xxxx');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted3.duckdb' AS encrypted3 (ENCRYPTION_KEY 'xxxx');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted4.duckdb' AS encrypted4 (ENCRYPTION_KEY 'xxxx');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'e8f2a36455d84f8a3cb94780c2f4dd5c5b4ab1ff42d67c0b6f9c9a90e771c158');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted2.duckdb' AS encrypted2 (ENCRYPTION_KEY 'e8f2a36455d84f8a3cb94780c2f4dd5c5b4ab1ff42d67c0b6f9c9a90e771c158');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted2.duckdb' AS encrypted2 (ENCRYPTION_KEY 'xxxx');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted3.duckdb' AS encrypted3 (ENCRYPTION_KEY 'e8f2a36455d84f8a3cb94780c2f4dd5c5b4ab1ff42d67c0b6f9c9a90e771c158');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted4.duckdb' AS encrypted4 (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM encrypted.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM encrypted2.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM encrypted3.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM encrypted4.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
65
external/duckdb/test/sql/copy/encryption/reencrypt.test_slow
vendored
Normal file
65
external/duckdb/test/sql/copy/encryption/reencrypt.test_slow
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
# name: test/sql/copy/encryption/reencrypt.test_slow
|
||||
# group: [encryption]
|
||||
|
||||
require skip_reload
|
||||
|
||||
require tpch
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/reencrypted.duckdb' as reencrypted (ENCRYPTION_KEY 'xxxx');
|
||||
|
||||
statement ok
|
||||
USE encrypted;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
COPY FROM DATABASE encrypted to reencrypted;
|
||||
|
||||
statement ok
|
||||
USE memory;
|
||||
|
||||
statement ok
|
||||
DETACH reencrypted
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/reencrypted.duckdb' AS reencrypted;
|
||||
----
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/reencrypted.duckdb' AS reencrypted (ENCRYPTION_KEY 'xxxx');
|
||||
|
||||
statement ok
|
||||
DETACH reencrypted
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/reencrypted.duckdb' AS reencrypted (ENCRYPTION_KEY 'asdf');
|
||||
----
|
||||
Wrong encryption key used to open the database file
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/reencrypted.duckdb' AS reencrypted (ENCRYPTION_KEY 'xxxx');
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM reencrypted.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
50
external/duckdb/test/sql/copy/encryption/tpch_sf1_encrypted.test_slow
vendored
Normal file
50
external/duckdb/test/sql/copy/encryption/tpch_sf1_encrypted.test_slow
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
# name: test/sql/copy/encryption/tpch_sf1_encrypted.test_slow
|
||||
# description: Test TPC-H SF1
|
||||
# group: [encryption]
|
||||
|
||||
require tpch
|
||||
|
||||
statement ok
|
||||
pragma verify_external
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
USE encrypted;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=1);
|
||||
|
||||
statement ok
|
||||
CHECKPOINT;
|
||||
|
||||
statement ok
|
||||
USE memory;
|
||||
|
||||
statement ok
|
||||
DETACH encrypted;
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
USE encrypted;
|
||||
|
||||
loop i 1 9
|
||||
|
||||
query I
|
||||
PRAGMA tpch(${i})
|
||||
----
|
||||
<FILE>:extension/tpch/dbgen/answers/sf1/q0${i}.csv
|
||||
|
||||
endloop
|
||||
|
||||
loop i 10 23
|
||||
|
||||
query I
|
||||
PRAGMA tpch(${i})
|
||||
----
|
||||
<FILE>:extension/tpch/dbgen/answers/sf1/q${i}.csv
|
||||
|
||||
endloop
|
||||
53
external/duckdb/test/sql/copy/encryption/unencrypted_to_encrypted.test
vendored
Normal file
53
external/duckdb/test/sql/copy/encryption/unencrypted_to_encrypted.test
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
# name: test/sql/copy/encryption/unencrypted_to_encrypted.test
|
||||
# group: [encryption]
|
||||
|
||||
require skip_reload
|
||||
|
||||
require tpch
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted.duckdb' as unencrypted;
|
||||
|
||||
statement ok
|
||||
USE unencrypted;
|
||||
|
||||
statement ok
|
||||
CALL dbgen(sf=0.01);
|
||||
|
||||
statement ok
|
||||
COPY FROM DATABASE unencrypted to encrypted;
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/not_relevant.duckdb' AS other;
|
||||
|
||||
statement ok
|
||||
USE other;
|
||||
|
||||
statement ok
|
||||
DETACH unencrypted
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
query I
|
||||
SELECT l_suppkey FROM encrypted.lineitem limit 10;
|
||||
----
|
||||
93
|
||||
75
|
||||
38
|
||||
48
|
||||
23
|
||||
10
|
||||
33
|
||||
19
|
||||
70
|
||||
60
|
||||
29
external/duckdb/test/sql/copy/encryption/unencrypted_to_encrypted_direct_query.test
vendored
Normal file
29
external/duckdb/test/sql/copy/encryption/unencrypted_to_encrypted_direct_query.test
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
# name: test/sql/copy/encryption/unencrypted_to_encrypted_direct_query.test
|
||||
# group: [encryption]
|
||||
|
||||
require skip_reload
|
||||
|
||||
require tpch
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/unencrypted.duckdb' as unencrypted;
|
||||
|
||||
statement ok
|
||||
USE unencrypted;
|
||||
|
||||
statement ok
|
||||
CREATE OR REPLACE TABLE unencrypted.tbl AS SELECT * FROM range(10) t(i);
|
||||
|
||||
statement ok
|
||||
COPY FROM DATABASE unencrypted to encrypted;
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM encrypted.tbl;
|
||||
----
|
||||
45
|
||||
38
external/duckdb/test/sql/copy/encryption/write_encrypted_database.test
vendored
Normal file
38
external/duckdb/test/sql/copy/encryption/write_encrypted_database.test
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
# name: test/sql/copy/encryption/write_encrypted_database.test
|
||||
# group: [encryption]
|
||||
|
||||
require skip_reload
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
statement ok
|
||||
CREATE OR REPLACE TABLE encrypted.tbl AS SELECT * FROM range(10) t(i);
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM encrypted.tbl
|
||||
----
|
||||
45
|
||||
|
||||
statement ok
|
||||
DETACH encrypted
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted;
|
||||
----
|
||||
|
||||
statement error
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'xxxxx');
|
||||
----
|
||||
IO Error: Wrong encryption key used to open the database file
|
||||
|
||||
statement ok
|
||||
ATTACH '__TEST_DIR__/encrypted.duckdb' AS encrypted (ENCRYPTION_KEY 'asdf');
|
||||
|
||||
query I
|
||||
SELECT SUM(i) FROM encrypted.tbl
|
||||
----
|
||||
45
|
||||
Reference in New Issue
Block a user