should be it

This commit is contained in:
2025-10-24 19:21:19 -05:00
parent a4b23fc57c
commit f09560c7b1
14047 changed files with 3161551 additions and 1 deletions

View 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

View 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

View 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

View 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

View 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