@@ -457,8 +457,38 @@ fn test_snowflake_create_table_cluster_by() {
457457 assert_eq ! ( "my_table" , name. to_string( ) ) ;
458458 assert_eq ! (
459459 Some ( WrappedCollection :: Parentheses ( vec![
460- Ident :: new( "a" ) ,
461- Ident :: new( "b" ) ,
460+ Expr :: Identifier ( Ident :: new( "a" ) ) ,
461+ Expr :: Identifier ( Ident :: new( "b" ) ) ,
462+ ] ) ) ,
463+ cluster_by
464+ )
465+ }
466+ _ => unreachable ! ( ) ,
467+ }
468+ match snowflake ( ) . verified_stmt ( "CREATE TABLE my_table (ts DATE, a TEXT) CLUSTER BY (to_date(ts), a)" ) {
469+ Statement :: CreateTable ( CreateTable {
470+ name, cluster_by, ..
471+ } ) => {
472+ assert_eq ! ( "my_table" , name. to_string( ) ) ;
473+ assert_eq ! (
474+ Some ( WrappedCollection :: Parentheses ( vec![
475+ Expr :: Function ( Function {
476+ name: ObjectName :: from( vec![ Ident :: new( "to_date" ) ] ) ,
477+ uses_odbc_syntax: false ,
478+ parameters: FunctionArguments :: None ,
479+ args: FunctionArguments :: List ( FunctionArgumentList {
480+ args: vec![ FunctionArg :: Unnamed ( FunctionArgExpr :: Expr (
481+ Expr :: Identifier ( Ident :: new( "ts" ) )
482+ ) ) ] ,
483+ duplicate_treatment: None ,
484+ clauses: vec![ ] ,
485+ } ) ,
486+ filter: None ,
487+ null_treatment: None ,
488+ over: None ,
489+ within_group: vec![ ] ,
490+ } ) ,
491+ Expr :: Identifier ( Ident :: new( "a" ) ) ,
462492 ] ) ) ,
463493 cluster_by
464494 )
@@ -869,8 +899,8 @@ fn test_snowflake_create_iceberg_table_all_options() {
869899 assert_eq ! ( "my_table" , name. to_string( ) ) ;
870900 assert_eq ! (
871901 Some ( WrappedCollection :: Parentheses ( vec![
872- Ident :: new( "a" ) ,
873- Ident :: new( "b" ) ,
902+ Expr :: Identifier ( Ident :: new( "a" ) ) ,
903+ Expr :: Identifier ( Ident :: new( "b" ) ) ,
874904 ] ) ) ,
875905 cluster_by
876906 ) ;
0 commit comments