@@ -471,15 +471,31 @@ fn test_snowflake_create_table_if_not_exists() {
471471
472472#[ test]
473473fn test_snowflake_create_table_cluster_by ( ) {
474- match snowflake ( ) . verified_stmt ( "CREATE TABLE my_table (a INT) CLUSTER BY (a, b)" ) {
474+ match snowflake ( ) . verified_stmt ( "CREATE TABLE my_table (a INT) CLUSTER BY (a, b, my_func(c) )" ) {
475475 Statement :: CreateTable ( CreateTable {
476476 name, cluster_by, ..
477477 } ) => {
478478 assert_eq ! ( "my_table" , name. to_string( ) ) ;
479479 assert_eq ! (
480480 Some ( WrappedCollection :: Parentheses ( vec![
481- Ident :: new( "a" ) ,
482- Ident :: new( "b" ) ,
481+ Expr :: Identifier ( Ident :: new( "a" ) ) ,
482+ Expr :: Identifier ( Ident :: new( "b" ) ) ,
483+ Expr :: Function ( Function {
484+ name: ObjectName :: from( vec![ Ident :: new( "my_func" ) ] ) ,
485+ uses_odbc_syntax: false ,
486+ parameters: FunctionArguments :: None ,
487+ args: FunctionArguments :: List ( FunctionArgumentList {
488+ args: vec![ FunctionArg :: Unnamed ( FunctionArgExpr :: Expr (
489+ Expr :: Identifier ( Ident :: new( "c" ) )
490+ ) ) ] ,
491+ duplicate_treatment: None ,
492+ clauses: vec![ ] ,
493+ } ) ,
494+ filter: None ,
495+ null_treatment: None ,
496+ over: None ,
497+ within_group: vec![ ] ,
498+ } ) ,
483499 ] ) ) ,
484500 cluster_by
485501 )
@@ -903,8 +919,8 @@ fn test_snowflake_create_iceberg_table_all_options() {
903919 assert_eq ! ( "my_table" , name. to_string( ) ) ;
904920 assert_eq ! (
905921 Some ( WrappedCollection :: Parentheses ( vec![
906- Ident :: new( "a" ) ,
907- Ident :: new( "b" ) ,
922+ Expr :: Identifier ( Ident :: new( "a" ) ) ,
923+ Expr :: Identifier ( Ident :: new( "b" ) ) ,
908924 ] ) ) ,
909925 cluster_by
910926 ) ;
0 commit comments