1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
# name: test/sql/attach/attach_export_import.test
# description: Test ATTACH with export and import
# group: [attach]
statement ok
ATTACH ':memory:' AS db1
statement ok
ATTACH ':memory:' as other
statement ok
USE db1;
statement ok
CREATE TABLE db1.integers(i INTEGER);
statement ok
INSERT INTO db1.integers VALUES (1), (2), (3), (NULL);
# FIXME: when we don't use 'USE' then we have to refer to 'integers' as 'db1.integers'
# this breaks when re-imported, because the table will be created as just 'integers', not 'db1.integers'
# Create a view that references the integers table
statement ok
CREATE VIEW db1.integers_view AS SELECT * FROM integers;
statement ok
BEGIN TRANSACTION;
# Create a table that should not be exported
statement ok
CREATE TABLE other.dont_export_me (i integer);
# now export the db
statement ok
EXPORT DATABASE db1 TO '__TEST_DIR__/export_test' (FORMAT CSV)
statement ok
rollback;
statement ok
drop table db1.integers CASCADE;
statement error
SELECT * FROM integers
----
does not exist
statement ok
drop view integers_view;
statement ok
IMPORT DATABASE '__TEST_DIR__/export_test'
query I nosort q1
SELECT * FROM integers ORDER BY i NULLS LAST
----
# FIXME: this seems to be bugged
# the view doesn't seem to get exported/imported correctly:
# Catalog Error: Table with name integers_view does not exist!
query I nosort q1
SELECT * FROM integers_view order by i NULLS LAST;
----
statement error
SELECT * FROM other.dont_export_me;
----
Catalog Error: Table with name dont_export_me does not exist!
|