@@ -171,8 +171,14 @@ pub struct CreateTableBuilder {
171171 pub table_options : CreateTableOptions ,
172172 /// Optional target lag configuration.
173173 pub target_lag : Option < String > ,
174- /// Optional warehouse identifier.
175- pub warehouse : Option < Ident > ,
174+ /// Optional warehouse name, stored verbatim.
175+ pub warehouse : Option < String > ,
176+ /// Optional initialization warehouse name, stored verbatim.
177+ pub initialization_warehouse : Option < String > ,
178+ /// Optional scheduler value (quoted string or bare keyword).
179+ pub scheduler : Option < String > ,
180+ /// Optional `IMMUTABLE WHERE` predicate text.
181+ pub immutable_where : Option < String > ,
176182 /// Optional refresh mode for materialized tables.
177183 pub refresh_mode : Option < RefreshModeKind > ,
178184 /// Optional initialization kind for the table.
@@ -247,6 +253,9 @@ impl CreateTableBuilder {
247253 table_options : CreateTableOptions :: None ,
248254 target_lag : None ,
249255 warehouse : None ,
256+ initialization_warehouse : None ,
257+ scheduler : None ,
258+ immutable_where : None ,
250259 refresh_mode : None ,
251260 initialize : None ,
252261 require_user : false ,
@@ -522,11 +531,26 @@ impl CreateTableBuilder {
522531 self . target_lag = target_lag;
523532 self
524533 }
525- /// Associate the table with a warehouse identifier .
526- pub fn warehouse ( mut self , warehouse : Option < Ident > ) -> Self {
534+ /// Associate the table with a warehouse name (stored verbatim) .
535+ pub fn warehouse ( mut self , warehouse : Option < String > ) -> Self {
527536 self . warehouse = warehouse;
528537 self
529538 }
539+ /// Set the initialization warehouse name (stored verbatim).
540+ pub fn initialization_warehouse ( mut self , initialization_warehouse : Option < String > ) -> Self {
541+ self . initialization_warehouse = initialization_warehouse;
542+ self
543+ }
544+ /// Set the scheduler value (quoted string or bare keyword).
545+ pub fn scheduler ( mut self , scheduler : Option < String > ) -> Self {
546+ self . scheduler = scheduler;
547+ self
548+ }
549+ /// Set the `IMMUTABLE WHERE` predicate text.
550+ pub fn immutable_where ( mut self , immutable_where : Option < String > ) -> Self {
551+ self . immutable_where = immutable_where;
552+ self
553+ }
530554 /// Set refresh mode for materialized/managed tables.
531555 pub fn refresh_mode ( mut self , refresh_mode : Option < RefreshModeKind > ) -> Self {
532556 self . refresh_mode = refresh_mode;
@@ -619,6 +643,9 @@ impl CreateTableBuilder {
619643 table_options : self . table_options ,
620644 target_lag : self . target_lag ,
621645 warehouse : self . warehouse ,
646+ initialization_warehouse : self . initialization_warehouse ,
647+ scheduler : self . scheduler ,
648+ immutable_where : self . immutable_where ,
622649 refresh_mode : self . refresh_mode ,
623650 initialize : self . initialize ,
624651 require_user : self . require_user ,
@@ -702,6 +729,9 @@ impl From<CreateTable> for CreateTableBuilder {
702729 table_options : table. table_options ,
703730 target_lag : table. target_lag ,
704731 warehouse : table. warehouse ,
732+ initialization_warehouse : table. initialization_warehouse ,
733+ scheduler : table. scheduler ,
734+ immutable_where : table. immutable_where ,
705735 refresh_mode : table. refresh_mode ,
706736 initialize : table. initialize ,
707737 require_user : table. require_user ,
0 commit comments