should be it
This commit is contained in:
80
external/duckdb/test/sql/alter/rename_view/test_rename_view.test
vendored
Normal file
80
external/duckdb/test/sql/alter/rename_view/test_rename_view.test
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
# name: test/sql/alter/rename_view/test_rename_view.test
|
||||
# description: Test RENAME VIEW single transaction
|
||||
# group: [rename_view]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE tbl(i INTEGER);
|
||||
INSERT INTO tbl VALUES (999), (100);
|
||||
CREATE VIEW vw AS SELECT * FROM tbl;
|
||||
|
||||
statement ok
|
||||
BEGIN TRANSACTION
|
||||
|
||||
statement ok
|
||||
ALTER VIEW vw RENAME TO vw2
|
||||
|
||||
query I
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error
|
||||
SELECT * FROM vw
|
||||
----
|
||||
Catalog Error: Table with name vw does not exist
|
||||
|
||||
statement ok
|
||||
ROLLBACK
|
||||
|
||||
query I
|
||||
SELECT * FROM vw;
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
Catalog Error: Table with name vw2 does not exist
|
||||
|
||||
statement ok
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
statement ok
|
||||
ALTER VIEW vw RENAME TO vw2
|
||||
|
||||
statement ok
|
||||
COMMIT
|
||||
|
||||
query I
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error
|
||||
SELECT * FROM vw
|
||||
----
|
||||
Catalog Error: Table with name vw does not exist
|
||||
|
||||
statement ok
|
||||
CREATE VIEW vw AS SELECT i+1 AS i FROM tbl
|
||||
|
||||
query I
|
||||
SELECT * FROM vw
|
||||
----
|
||||
1000
|
||||
101
|
||||
|
||||
# cannot rename a system view
|
||||
statement error
|
||||
ALTER VIEW sqlite_master RENAME TO my_sqlite_master
|
||||
----
|
||||
Binder Error: Can not comment on System Catalog entries
|
||||
|
||||
# cannot rename a view that does not exist
|
||||
statement error
|
||||
ALTER VIEW nonexistingview RENAME TO my_new_view
|
||||
----
|
||||
Catalog Error: View with name nonexistingview does not exist
|
||||
24
external/duckdb/test/sql/alter/rename_view/test_rename_view_incorrect.test
vendored
Normal file
24
external/duckdb/test/sql/alter/rename_view/test_rename_view_incorrect.test
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# name: test/sql/alter/rename_view/test_rename_view_incorrect.test
|
||||
# description: Test RENAME VIEW: view does not exist and rename to an already existing view
|
||||
# group: [rename_view]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE tbl(i INTEGER)
|
||||
|
||||
statement ok
|
||||
CREATE VIEW vw AS SELECT * FROM tbl
|
||||
|
||||
statement ok
|
||||
CREATE VIEW vw2 AS SELECT 1729 AS i
|
||||
|
||||
# Renaming a non existing view
|
||||
statement error
|
||||
ALTER VIEW non_view RENAME TO vw
|
||||
----
|
||||
<REGEX>:.*Catalog Error: View.*does not exist.*
|
||||
|
||||
# rename to an already existing view
|
||||
statement error
|
||||
ALTER VIEW vw2 RENAME TO vw
|
||||
----
|
||||
Catalog Error: Could not rename
|
||||
116
external/duckdb/test/sql/alter/rename_view/test_rename_view_many_transactions.test
vendored
Normal file
116
external/duckdb/test/sql/alter/rename_view/test_rename_view_many_transactions.test
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
# name: test/sql/alter/rename_view/test_rename_view_many_transactions.test
|
||||
# description: Test RENAME VIEW four view renames and four parallel transactions
|
||||
# group: [rename_view]
|
||||
|
||||
statement ok
|
||||
SET immediate_transaction_mode=true
|
||||
|
||||
statement ok con1
|
||||
CREATE TABLE tbl1(i INTEGER)
|
||||
|
||||
statement ok con1
|
||||
INSERT INTO tbl1 VALUES (999), (100)
|
||||
|
||||
statement ok con1
|
||||
CREATE VIEW vw1 AS SELECT * FROM tbl1
|
||||
|
||||
# rename chain
|
||||
# con2 starts a transaction now
|
||||
statement ok con2
|
||||
BEGIN TRANSACTION
|
||||
|
||||
# rename in con1, con2 should still see "vw1"
|
||||
statement ok con1
|
||||
ALTER VIEW vw1 RENAME TO vw2
|
||||
|
||||
# con3 starts a transaction now
|
||||
statement ok con3
|
||||
BEGIN TRANSACTION
|
||||
|
||||
# rename in con1, con3 should still see "vw2"
|
||||
statement ok con1
|
||||
ALTER VIEW vw2 RENAME TO vw3
|
||||
|
||||
# con4 starts a transaction now
|
||||
statement ok con4
|
||||
BEGIN TRANSACTION
|
||||
|
||||
# rename in con1, con4 should still see "vw3"
|
||||
statement ok con1
|
||||
ALTER VIEW vw3 RENAME TO vw4
|
||||
|
||||
# con2 sees ONLY vw1
|
||||
query I con2
|
||||
SELECT * FROM vw1
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error con2
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
|
||||
statement error con2
|
||||
SELECT * FROM vw3
|
||||
----
|
||||
|
||||
statement error con2
|
||||
SELECT * FROM vw4
|
||||
----
|
||||
|
||||
# con3 sees ONLY vw2
|
||||
statement error con3
|
||||
SELECT * FROM vw1
|
||||
----
|
||||
|
||||
query I con3
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error con3
|
||||
SELECT * FROM vw3
|
||||
----
|
||||
|
||||
statement error con3
|
||||
SELECT * FROM vw4
|
||||
----
|
||||
|
||||
# con4 sees ONLY vw3
|
||||
statement error con4
|
||||
SELECT * FROM vw1
|
||||
----
|
||||
|
||||
statement error con4
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
|
||||
query I con4
|
||||
SELECT * FROM vw3
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error con4
|
||||
SELECT * FROM vw4
|
||||
----
|
||||
|
||||
# con1 sees ONLY vw4
|
||||
statement error con1
|
||||
SELECT * FROM vw1
|
||||
----
|
||||
|
||||
statement error con1
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
|
||||
statement error con1
|
||||
SELECT * FROM vw3
|
||||
----
|
||||
|
||||
query I con1
|
||||
SELECT * FROM vw4
|
||||
----
|
||||
999
|
||||
100
|
||||
23
external/duckdb/test/sql/alter/rename_view/test_rename_view_table.test
vendored
Normal file
23
external/duckdb/test/sql/alter/rename_view/test_rename_view_table.test
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# name: test/sql/alter/rename_view/test_rename_view_table.test
|
||||
# description: Test RENAME VIEW with a table as entry
|
||||
# group: [rename_view]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE tbl(i INTEGER)
|
||||
|
||||
statement ok
|
||||
INSERT INTO tbl VALUES (999), (100)
|
||||
|
||||
statement ok
|
||||
CREATE VIEW v1 AS SELECT * FROM tbl
|
||||
|
||||
statement error
|
||||
ALTER VIEW tbl RENAME TO tbl2
|
||||
----
|
||||
|
||||
query I
|
||||
SELECT * FROM v1
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
68
external/duckdb/test/sql/alter/rename_view/test_rename_view_transactions.test
vendored
Normal file
68
external/duckdb/test/sql/alter/rename_view/test_rename_view_transactions.test
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
# name: test/sql/alter/rename_view/test_rename_view_transactions.test
|
||||
# description: Test RENAME VIEW two parallel transactions
|
||||
# group: [rename_view]
|
||||
|
||||
statement ok con1
|
||||
CREATE TABLE tbl(i INTEGER)
|
||||
|
||||
statement ok con1
|
||||
INSERT INTO tbl VALUES (999), (100)
|
||||
|
||||
statement ok con1
|
||||
CREATE VIEW vw AS SELECT * FROM tbl
|
||||
|
||||
statement ok con1
|
||||
BEGIN TRANSACTION
|
||||
|
||||
statement ok con2
|
||||
BEGIN TRANSACTION
|
||||
|
||||
statement ok con1
|
||||
ALTER VIEW vw RENAME TO vw2
|
||||
|
||||
query I con1
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error con1
|
||||
SELECT * FROM vw
|
||||
----
|
||||
|
||||
query I con2
|
||||
SELECT * FROM vw
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
statement error con2
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
|
||||
statement ok con1
|
||||
COMMIT
|
||||
|
||||
statement ok con2
|
||||
COMMIT
|
||||
|
||||
statement error con1
|
||||
SELECT * FROM vw
|
||||
----
|
||||
|
||||
statement error con2
|
||||
SELECT * FROM vw
|
||||
----
|
||||
|
||||
query I con1
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
query I con2
|
||||
SELECT * FROM vw2
|
||||
----
|
||||
999
|
||||
100
|
||||
|
||||
Reference in New Issue
Block a user