@@ -32,6 +32,30 @@ fn given_a_snowflake_clone_or_replica_when_parsing_then_only_documented_forms_ar
3232 dialect : Dialect :: Snowflake ,
3333 expected_accepted : true ,
3434 } ,
35+ AcceptanceTestCase {
36+ description : "CREATE DATABASE ROLE alone creates a database named ROLE (recorded success)" ,
37+ sql : "CREATE DATABASE ROLE ;" ,
38+ dialect : Dialect :: Snowflake ,
39+ expected_accepted : true ,
40+ } ,
41+ AcceptanceTestCase {
42+ description : "a database named ROLE clones (recorded errno 2003, after parsing)" ,
43+ sql : "CREATE DATABASE ROLE CLONE v1 ;" ,
44+ dialect : Dialect :: Snowflake ,
45+ expected_accepted : true ,
46+ } ,
47+ AcceptanceTestCase {
48+ description : "COPY = ( ) names no kind (recorded errno 1422, after parsing)" ,
49+ sql : "CREATE STREAM v1 CLONE v1 COPY = ( ) ;" ,
50+ dialect : Dialect :: Snowflake ,
51+ expected_accepted : true ,
52+ } ,
53+ AcceptanceTestCase {
54+ description : "a COPY list does not end in a comma" ,
55+ sql : "CREATE TABLE v1 CLONE v1 COPY = ( TAGS , ) ;" ,
56+ dialect : Dialect :: Snowflake ,
57+ expected_accepted : false ,
58+ } ,
3559 AcceptanceTestCase {
3660 description : "a role has no CLONE (recorded errno 1003)" ,
3761 sql : "CREATE ROLE v1 CLONE v1 ;" ,
@@ -179,6 +203,30 @@ fn given_a_snowflake_clone_or_replica_when_parsing_then_the_tree_keeps_its_parts
179203 pointer : "/0/create_object/source" ,
180204 expected_value : json ! ( "REPLICA" ) ,
181205 } ,
206+ ProjectionTestCase {
207+ description : "a database named ROLE clones as a database" ,
208+ sql : "CREATE DATABASE ROLE CLONE d2" ,
209+ pointer : "/0/create_database/name/name" ,
210+ expected_value : json ! ( "ROLE" ) ,
211+ } ,
212+ ProjectionTestCase {
213+ description : "a database clone keeps OR REPLACE" ,
214+ sql : "CREATE OR REPLACE DATABASE d1 CLONE d2" ,
215+ pointer : "/0/create_database/or_replace" ,
216+ expected_value : json ! ( true ) ,
217+ } ,
218+ ProjectionTestCase {
219+ description : "a database clone keeps its name's quoting" ,
220+ sql : "CREATE DATABASE \" v1 Q\" CLONE d2" ,
221+ pointer : "/0/create_database/name/quoted" ,
222+ expected_value : json ! ( true ) ,
223+ } ,
224+ ProjectionTestCase {
225+ description : "a schema clone keeps OR REPLACE" ,
226+ sql : "CREATE OR REPLACE SCHEMA s1 CLONE s2" ,
227+ pointer : "/0/create_schema/or_replace" ,
228+ expected_value : json ! ( true ) ,
229+ } ,
182230 ] ;
183231
184232 for test_case in test_cases {
0 commit comments