diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..b114a06a7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,10 @@ +# GitHub's language statistics count the code SQLQuack ships. Test suites, development scripts +# and development-only tools are marked as documentation so the statistics leave them out. +/tests/** linguist-documentation +/scripts/** linguist-documentation +/crates/**/tests/** linguist-documentation +/crates/**/tests.rs linguist-documentation +/tools/** linguist-documentation +/fuzz/** linguist-documentation +/recorder/** linguist-documentation +/website/scripts/** linguist-documentation diff --git a/coverage/syntax/baseline.json b/coverage/syntax/baseline.json index bbcab581f..853ea575b 100644 --- a/coverage/syntax/baseline.json +++ b/coverage/syntax/baseline.json @@ -11886,6 +11886,7 @@ "sf.ddl.alter-materialized-view.set-data-metric-schedule.o011", "sf.ddl.alter-materialized-view.set-data-metric-schedule.o012", "sf.ddl.alter-materialized-view.set-data-metric-schedule.o013", + "sf.ddl.alter-materialized-view.set-data-metric-schedule.o014", "sf.ddl.alter-materialized-view.unset-data-metric-schedule.o001", "sf.ddl.alter-materialized-view.unset-data-metric-schedule.o003", "sf.ddl.alter-materialized-view.unset-data-metric-schedule.o004", @@ -17996,10 +17997,12 @@ "sf.ddl.alter-view.datagovnpolicytagaction.o293", "sf.ddl.alter-view.datagovnpolicytagaction.o294", "sf.ddl.alter-view.datagovnpolicytagaction.o295", + "sf.ddl.alter-view.datagovnpolicytagaction.o296", "sf.ddl.alter-view.datagovnpolicytagaction.o297", "sf.ddl.alter-view.datagovnpolicytagaction.o298", "sf.ddl.alter-view.datagovnpolicytagaction.o299", "sf.ddl.alter-view.datagovnpolicytagaction.o304", + "sf.ddl.alter-view.datagovnpolicytagaction.o325", "sf.ddl.alter-view.datagovnpolicytagaction.o344", "sf.ddl.alter-view.datagovnpolicytagaction.o347", "sf.ddl.alter-view.datagovnpolicytagaction.o348", @@ -18037,14 +18040,23 @@ "sf.ddl.alter-view.datagovnpolicytagaction.o486", "sf.ddl.alter-view.datagovnpolicytagaction.o487", "sf.ddl.alter-view.datagovnpolicytagaction.o488", + "sf.ddl.alter-view.datametricfunctionaction.o001", + "sf.ddl.alter-view.datametricfunctionaction.o003", "sf.ddl.alter-view.datametricfunctionaction.o004", "sf.ddl.alter-view.datametricfunctionaction.o007", + "sf.ddl.alter-view.datametricfunctionaction.o008", + "sf.ddl.alter-view.datametricfunctionaction.o009", + "sf.ddl.alter-view.datametricfunctionaction.o010", + "sf.ddl.alter-view.datametricfunctionaction.o011", "sf.ddl.alter-view.datametricfunctionaction.o012", "sf.ddl.alter-view.datametricfunctionaction.o013", "sf.ddl.alter-view.datametricfunctionaction.o014", "sf.ddl.alter-view.datametricfunctionaction.o015", "sf.ddl.alter-view.datametricfunctionaction.o016", "sf.ddl.alter-view.datametricfunctionaction.o017", + "sf.ddl.alter-view.datametricfunctionaction.o019", + "sf.ddl.alter-view.datametricfunctionaction.o020", + "sf.ddl.alter-view.datametricfunctionaction.o021", "sf.ddl.alter-view.datametricfunctionaction.o022", "sf.ddl.alter-view.datametricfunctionaction.o023", "sf.ddl.alter-view.datametricfunctionaction.o024", @@ -18321,6 +18333,7 @@ "sf.ddl.alter-view.datametricfunctionaction.o426", "sf.ddl.alter-view.datametricfunctionaction.o427", "sf.ddl.alter-view.datametricfunctionaction.o428", + "sf.ddl.alter-view.datametricfunctionaction.o429", "sf.ddl.alter-view.datametricfunctionaction.o430", "sf.ddl.alter-view.datametricfunctionaction.o431", "sf.ddl.alter-view.datametricfunctionaction.o432", @@ -18412,6 +18425,7 @@ "sf.ddl.alter-view.datametricfunctionaction.o690", "sf.ddl.alter-view.datametricfunctionaction.o696", "sf.ddl.alter-view.datametricfunctionaction.o697", + "sf.ddl.alter-view.datametricfunctionaction.o758", "sf.ddl.alter-view.datametricfunctionaction.o759", "sf.ddl.alter-view.datametricfunctionaction.o760", "sf.ddl.alter-view.datametricfunctionaction.o761", @@ -18467,30 +18481,56 @@ "sf.ddl.alter-view.rename-to.o015", "sf.ddl.alter-view.rename-to.o016", "sf.ddl.alter-view.rename-to.o017", + "sf.ddl.alter-view.set.o001", + "sf.ddl.alter-view.set.o003", + "sf.ddl.alter-view.set.o005", "sf.ddl.alter-view.set.o006", + "sf.ddl.alter-view.set.o008", + "sf.ddl.alter-view.set.o010", + "sf.ddl.alter-view.set.o011", + "sf.ddl.alter-view.set.o012", + "sf.ddl.alter-view.set.o014", "sf.ddl.alter-view.set.o017", "sf.ddl.alter-view.set.o019", "sf.ddl.alter-view.set.o021", + "sf.ddl.alter-view.set.o023", "sf.ddl.alter-view.set.o024", + "sf.ddl.alter-view.set.o026", "sf.ddl.alter-view.set.o027", "sf.ddl.alter-view.set.o028", "sf.ddl.alter-view.set.o029", "sf.ddl.alter-view.set.o030", + "sf.ddl.alter-view.set.o032", + "sf.ddl.alter-view.set.o033", "sf.ddl.alter-view.set.o034", "sf.ddl.alter-view.set.o035", "sf.ddl.alter-view.set.o045", "sf.ddl.alter-view.set.o046", + "sf.ddl.alter-view.set.o048", + "sf.ddl.alter-view.set.o049", + "sf.ddl.alter-view.set.o050", "sf.ddl.alter-view.set.o051", "sf.ddl.alter-view.set.o052", "sf.ddl.alter-view.set.o053", "sf.ddl.alter-view.set.o054", + "sf.ddl.alter-view.set.o055", + "sf.ddl.alter-view.set.o056", + "sf.ddl.alter-view.unset.o001", + "sf.ddl.alter-view.unset.o003", "sf.ddl.alter-view.unset.o004", + "sf.ddl.alter-view.unset.o005", "sf.ddl.alter-view.unset.o006", "sf.ddl.alter-view.unset.o018", "sf.ddl.alter-view.unset.o019", "sf.ddl.alter-view.unset.o020", + "sf.ddl.alter-view.unset.o022", + "sf.ddl.alter-view.unset.o023", + "sf.ddl.alter-view.unset.o033", + "sf.ddl.alter-view.unset.o047", "sf.ddl.alter-view.unset.o048", + "sf.ddl.alter-view.unset.o049", "sf.ddl.alter-view.unset.o051", + "sf.ddl.alter-view.unset.o053", "sf.ddl.alter-view.unset.o054", "sf.ddl.alter-view.unset.o055", "sf.ddl.alter-warehouse.abort-all-queries.o008", @@ -26981,6 +27021,7 @@ "sf.ddl.create-index.o022", "sf.ddl.create-index.o023", "sf.ddl.create-index.o024", + "sf.ddl.create-index.o025", "sf.ddl.create-index.o026", "sf.ddl.create-index.o027", "sf.ddl.create-index.o028", @@ -27245,7 +27286,9 @@ "sf.ddl.create-materialized-view.o012", "sf.ddl.create-materialized-view.o014", "sf.ddl.create-materialized-view.o016", + "sf.ddl.create-materialized-view.o017", "sf.ddl.create-materialized-view.o018", + "sf.ddl.create-materialized-view.o019", "sf.ddl.create-materialized-view.o021", "sf.ddl.create-materialized-view.o022", "sf.ddl.create-materialized-view.o024", @@ -27266,6 +27309,7 @@ "sf.ddl.create-materialized-view.o057", "sf.ddl.create-materialized-view.o059", "sf.ddl.create-materialized-view.o060", + "sf.ddl.create-materialized-view.o062", "sf.ddl.create-materialized-view.o064", "sf.ddl.create-materialized-view.o066", "sf.ddl.create-materialized-view.o067", @@ -27273,22 +27317,28 @@ "sf.ddl.create-materialized-view.o072", "sf.ddl.create-materialized-view.o074", "sf.ddl.create-materialized-view.o076", + "sf.ddl.create-materialized-view.o078", "sf.ddl.create-materialized-view.o079", "sf.ddl.create-materialized-view.o081", + "sf.ddl.create-materialized-view.o083", "sf.ddl.create-materialized-view.o084", "sf.ddl.create-materialized-view.o086", + "sf.ddl.create-materialized-view.o088", "sf.ddl.create-materialized-view.o090", "sf.ddl.create-materialized-view.o091", + "sf.ddl.create-materialized-view.o094", "sf.ddl.create-materialized-view.o096", "sf.ddl.create-materialized-view.o098", "sf.ddl.create-materialized-view.o099", "sf.ddl.create-materialized-view.o101", "sf.ddl.create-materialized-view.o102", + "sf.ddl.create-materialized-view.o104", "sf.ddl.create-materialized-view.o106", "sf.ddl.create-materialized-view.o108", "sf.ddl.create-materialized-view.o109", "sf.ddl.create-materialized-view.o111", "sf.ddl.create-materialized-view.o113", + "sf.ddl.create-materialized-view.o115", "sf.ddl.create-materialized-view.o116", "sf.ddl.create-materialized-view.o118", "sf.ddl.create-materialized-view.o119", @@ -27297,6 +27347,7 @@ "sf.ddl.create-materialized-view.o123", "sf.ddl.create-materialized-view.o124", "sf.ddl.create-materialized-view.o125", + "sf.ddl.create-materialized-view.o126", "sf.ddl.create-materialized-view.o127", "sf.ddl.create-materialized-view.o128", "sf.ddl.create-materialized-view.o129", @@ -27335,14 +27386,20 @@ "sf.ddl.create-materialized-view.o163", "sf.ddl.create-materialized-view.o174", "sf.ddl.create-materialized-view.o175", + "sf.ddl.create-materialized-view.o176", + "sf.ddl.create-materialized-view.o177", "sf.ddl.create-materialized-view.o179", "sf.ddl.create-materialized-view.o180", "sf.ddl.create-materialized-view.o181", "sf.ddl.create-materialized-view.o182", "sf.ddl.create-materialized-view.o183", + "sf.ddl.create-materialized-view.o240", "sf.ddl.create-materialized-view.o248", + "sf.ddl.create-materialized-view.o249", + "sf.ddl.create-materialized-view.o250", "sf.ddl.create-materialized-view.o251", "sf.ddl.create-materialized-view.o252", + "sf.ddl.create-materialized-view.o253", "sf.ddl.create-materialized-view.o274", "sf.ddl.create-materialized-view.o275", "sf.ddl.create-materialized-view.o276", @@ -27350,10 +27407,24 @@ "sf.ddl.create-materialized-view.o278", "sf.ddl.create-materialized-view.o279", "sf.ddl.create-materialized-view.o280", + "sf.ddl.create-materialized-view.o281", + "sf.ddl.create-materialized-view.o282", + "sf.ddl.create-materialized-view.o283", + "sf.ddl.create-materialized-view.o284", + "sf.ddl.create-materialized-view.o285", + "sf.ddl.create-materialized-view.o286", + "sf.ddl.create-materialized-view.o287", + "sf.ddl.create-materialized-view.o288", + "sf.ddl.create-materialized-view.o289", "sf.ddl.create-materialized-view.o290", + "sf.ddl.create-materialized-view.o291", "sf.ddl.create-materialized-view.o292", "sf.ddl.create-materialized-view.o293", "sf.ddl.create-materialized-view.o294", + "sf.ddl.create-materialized-view.o295", + "sf.ddl.create-materialized-view.o296", + "sf.ddl.create-materialized-view.o297", + "sf.ddl.create-materialized-view.o298", "sf.ddl.create-materialized-view.o309", "sf.ddl.create-materialized-view.o341", "sf.ddl.create-mcp-server.o011", @@ -29346,102 +29417,337 @@ "sf.ddl.create-schema.define-schema.o082", "sf.ddl.create-schema.define-schema.o084", "sf.ddl.create-schema.define-schema.o085", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o001", "sf.ddl.create-semantic-view.create-or-alter-semantic.o002", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o003", "sf.ddl.create-semantic-view.create-or-alter-semantic.o004", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o007", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o008", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o013", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o014", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o019", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o020", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o025", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o026", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o033", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o034", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o035", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o036", "sf.ddl.create-semantic-view.create-or-alter-semantic.o037", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o038", "sf.ddl.create-semantic-view.create-or-alter-semantic.o039", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o041", "sf.ddl.create-semantic-view.create-or-alter-semantic.o042", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o044", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o045", "sf.ddl.create-semantic-view.create-or-alter-semantic.o046", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o047", "sf.ddl.create-semantic-view.create-or-alter-semantic.o048", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o049", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o050", "sf.ddl.create-semantic-view.create-or-alter-semantic.o051", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o052", "sf.ddl.create-semantic-view.create-or-alter-semantic.o053", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o058", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o059", "sf.ddl.create-semantic-view.create-or-alter-semantic.o060", "sf.ddl.create-semantic-view.create-or-alter-semantic.o061", "sf.ddl.create-semantic-view.create-or-alter-semantic.o062", "sf.ddl.create-semantic-view.create-or-alter-semantic.o064", "sf.ddl.create-semantic-view.create-or-alter-semantic.o065", "sf.ddl.create-semantic-view.create-or-alter-semantic.o066", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o079", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o080", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o081", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o082", "sf.ddl.create-semantic-view.create-or-alter-semantic.o083", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o084", "sf.ddl.create-semantic-view.create-or-alter-semantic.o085", "sf.ddl.create-semantic-view.create-or-alter-semantic.o086", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o087", "sf.ddl.create-semantic-view.create-or-alter-semantic.o088", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o089", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o090", "sf.ddl.create-semantic-view.create-or-alter-semantic.o091", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o092", "sf.ddl.create-semantic-view.create-or-alter-semantic.o093", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o094", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o095", "sf.ddl.create-semantic-view.create-or-alter-semantic.o096", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o097", "sf.ddl.create-semantic-view.create-or-alter-semantic.o098", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o100", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o101", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o103", "sf.ddl.create-semantic-view.create-or-alter-semantic.o104", "sf.ddl.create-semantic-view.create-or-alter-semantic.o105", "sf.ddl.create-semantic-view.create-or-alter-semantic.o107", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o109", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o110", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o111", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o112", "sf.ddl.create-semantic-view.create-or-alter-semantic.o113", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o114", "sf.ddl.create-semantic-view.create-or-alter-semantic.o115", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o116", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o117", "sf.ddl.create-semantic-view.create-or-alter-semantic.o118", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o119", "sf.ddl.create-semantic-view.create-or-alter-semantic.o120", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o121", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o122", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o123", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o124", "sf.ddl.create-semantic-view.create-or-alter-semantic.o125", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o126", "sf.ddl.create-semantic-view.create-or-alter-semantic.o127", "sf.ddl.create-semantic-view.create-or-alter-semantic.o128", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o129", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o130", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o131", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o132", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o133", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o134", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o135", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o136", "sf.ddl.create-semantic-view.create-or-alter-semantic.o137", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o138", "sf.ddl.create-semantic-view.create-or-alter-semantic.o139", "sf.ddl.create-semantic-view.create-or-alter-semantic.o140", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o141", "sf.ddl.create-semantic-view.create-or-alter-semantic.o142", "sf.ddl.create-semantic-view.create-or-alter-semantic.o143", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o144", "sf.ddl.create-semantic-view.create-or-alter-semantic.o145", "sf.ddl.create-semantic-view.create-or-alter-semantic.o146", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o147", "sf.ddl.create-semantic-view.create-or-alter-semantic.o148", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o149", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o150", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o151", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o152", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o153", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o154", "sf.ddl.create-semantic-view.create-or-alter-semantic.o155", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o156", "sf.ddl.create-semantic-view.create-or-alter-semantic.o157", "sf.ddl.create-semantic-view.create-or-alter-semantic.o158", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o159", "sf.ddl.create-semantic-view.create-or-alter-semantic.o160", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o161", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o163", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o164", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o165", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o166", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o167", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o168", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o169", "sf.ddl.create-semantic-view.create-or-alter-semantic.o170", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o171", "sf.ddl.create-semantic-view.create-or-alter-semantic.o172", "sf.ddl.create-semantic-view.create-or-alter-semantic.o173", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o174", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o175", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o176", "sf.ddl.create-semantic-view.create-or-alter-semantic.o177", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o178", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o179", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o180", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o181", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o182", "sf.ddl.create-semantic-view.create-or-alter-semantic.o183", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o184", "sf.ddl.create-semantic-view.create-or-alter-semantic.o185", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o186", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o187", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o188", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o189", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o190", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o191", "sf.ddl.create-semantic-view.create-or-alter-semantic.o192", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o193", "sf.ddl.create-semantic-view.create-or-alter-semantic.o194", "sf.ddl.create-semantic-view.create-or-alter-semantic.o195", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o196", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o197", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o198", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o199", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o200", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o201", "sf.ddl.create-semantic-view.create-or-alter-semantic.o202", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o203", "sf.ddl.create-semantic-view.create-or-alter-semantic.o204", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o205", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o206", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o207", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o208", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o209", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o210", "sf.ddl.create-semantic-view.create-or-alter-semantic.o211", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o212", "sf.ddl.create-semantic-view.create-or-alter-semantic.o213", "sf.ddl.create-semantic-view.create-or-alter-semantic.o214", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o215", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o216", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o217", "sf.ddl.create-semantic-view.create-or-alter-semantic.o218", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o219", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o220", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o221", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o222", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o223", "sf.ddl.create-semantic-view.create-or-alter-semantic.o224", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o225", "sf.ddl.create-semantic-view.create-or-alter-semantic.o226", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o227", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o228", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o229", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o230", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o231", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o232", "sf.ddl.create-semantic-view.create-or-alter-semantic.o233", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o234", "sf.ddl.create-semantic-view.create-or-alter-semantic.o235", "sf.ddl.create-semantic-view.create-or-alter-semantic.o236", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o237", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o238", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o239", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o240", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o241", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o242", "sf.ddl.create-semantic-view.create-or-alter-semantic.o243", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o244", "sf.ddl.create-semantic-view.create-or-alter-semantic.o245", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o246", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o247", "sf.ddl.create-semantic-view.create-or-alter-semantic.o248", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o249", "sf.ddl.create-semantic-view.create-or-alter-semantic.o250", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o251", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o252", "sf.ddl.create-semantic-view.create-or-alter-semantic.o253", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o254", "sf.ddl.create-semantic-view.create-or-alter-semantic.o255", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o256", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o257", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o258", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o259", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o260", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o261", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o262", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o263", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o264", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o265", "sf.ddl.create-semantic-view.create-or-alter-semantic.o266", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o267", "sf.ddl.create-semantic-view.create-or-alter-semantic.o268", "sf.ddl.create-semantic-view.create-or-alter-semantic.o269", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o270", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o271", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o272", "sf.ddl.create-semantic-view.create-or-alter-semantic.o273", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o274", "sf.ddl.create-semantic-view.create-or-alter-semantic.o275", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o276", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o277", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o278", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o279", "sf.ddl.create-semantic-view.create-or-alter-semantic.o280", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o281", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o282", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o283", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o284", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o285", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o286", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o287", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o288", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o289", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o290", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o291", "sf.ddl.create-semantic-view.create-or-alter-semantic.o292", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o293", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o294", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o295", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o296", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o297", "sf.ddl.create-semantic-view.create-or-alter-semantic.o298", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o299", "sf.ddl.create-semantic-view.create-or-alter-semantic.o300", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o301", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o302", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o303", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o304", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o305", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o306", "sf.ddl.create-semantic-view.create-or-alter-semantic.o307", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o308", "sf.ddl.create-semantic-view.create-or-alter-semantic.o309", "sf.ddl.create-semantic-view.create-or-alter-semantic.o310", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o311", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o312", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o313", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o314", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o315", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o316", "sf.ddl.create-semantic-view.create-or-alter-semantic.o317", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o318", "sf.ddl.create-semantic-view.create-or-alter-semantic.o319", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o320", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o321", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o322", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o323", "sf.ddl.create-semantic-view.create-or-alter-semantic.o324", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o325", "sf.ddl.create-semantic-view.create-or-alter-semantic.o326", "sf.ddl.create-semantic-view.create-or-alter-semantic.o327", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o328", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o330", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o332", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o333", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o334", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o335", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o336", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o337", "sf.ddl.create-semantic-view.create-or-alter-semantic.o338", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o339", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o340", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o341", "sf.ddl.create-semantic-view.create-or-alter-semantic.o342", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o343", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o344", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o345", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o346", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o347", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o348", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o349", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o350", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o351", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o352", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o353", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o355", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o357", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o358", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o359", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o360", "sf.ddl.create-semantic-view.create-or-alter-semantic.o361", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o362", "sf.ddl.create-semantic-view.create-or-alter-semantic.o363", "sf.ddl.create-semantic-view.create-or-alter-semantic.o364", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o365", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o366", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o368", "sf.ddl.create-semantic-view.create-or-alter-semantic.o369", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o371", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o372", "sf.ddl.create-semantic-view.create-or-alter-semantic.o373", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o374", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o375", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o376", "sf.ddl.create-semantic-view.create-or-alter-semantic.o377", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o378", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o379", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o380", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o381", "sf.ddl.create-semantic-view.create-or-alter-semantic.o382", "sf.ddl.create-semantic-view.create-or-alter-semantic.o383", "sf.ddl.create-semantic-view.create-or-alter-semantic.o384", @@ -29521,6 +29827,39 @@ "sf.ddl.create-semantic-view.create-or-alter-semantic.o458", "sf.ddl.create-semantic-view.create-or-alter-semantic.o459", "sf.ddl.create-semantic-view.create-or-alter-semantic.o460", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o461", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o462", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o463", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o464", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o465", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o466", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o467", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o468", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o469", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o470", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o471", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o472", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o473", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o474", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o475", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o476", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o477", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o478", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o479", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o480", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o481", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o482", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o483", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o484", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o485", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o486", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o487", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o488", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o489", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o490", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o491", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o501", + "sf.ddl.create-semantic-view.create-or-alter-semantic.o502", "sf.ddl.create-semantic-view.create-or-alter-semantic.o510", "sf.ddl.create-semantic-view.create-or-alter-semantic.o511", "sf.ddl.create-semantic-view.create-or-alter-semantic.o512", @@ -29529,18 +29868,57 @@ "sf.ddl.create-semantic-view.create-or-alter-semantic.o515", "sf.ddl.create-semantic-view.create-or-alter-semantic.o523", "sf.ddl.create-semantic-view.create-or-alter-semantic.o524", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o001", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o002", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o003", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o004", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o005", "sf.ddl.create-semantic-view.create-semantic-view-tables.o006", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o007", "sf.ddl.create-semantic-view.create-semantic-view-tables.o008", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o011", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o012", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o017", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o018", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o023", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o024", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o029", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o030", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o037", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o038", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o039", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o040", "sf.ddl.create-semantic-view.create-semantic-view-tables.o041", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o042", "sf.ddl.create-semantic-view.create-semantic-view-tables.o043", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o045", "sf.ddl.create-semantic-view.create-semantic-view-tables.o046", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o048", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o049", "sf.ddl.create-semantic-view.create-semantic-view-tables.o050", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o051", "sf.ddl.create-semantic-view.create-semantic-view-tables.o052", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o053", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o054", "sf.ddl.create-semantic-view.create-semantic-view-tables.o055", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o056", "sf.ddl.create-semantic-view.create-semantic-view-tables.o057", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o062", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o063", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o064", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o065", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o066", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o067", "sf.ddl.create-semantic-view.create-semantic-view-tables.o068", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o069", "sf.ddl.create-semantic-view.create-semantic-view-tables.o070", "sf.ddl.create-semantic-view.create-semantic-view-tables.o071", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o072", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o073", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o074", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o075", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o076", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o077", "sf.ddl.create-semantic-view.create-semantic-view-tables.o078", "sf.ddl.create-semantic-view.create-semantic-view-tables.o079", "sf.ddl.create-semantic-view.create-semantic-view-tables.o081", @@ -29552,87 +29930,300 @@ "sf.ddl.create-semantic-view.create-semantic-view-tables.o098", "sf.ddl.create-semantic-view.create-semantic-view-tables.o099", "sf.ddl.create-semantic-view.create-semantic-view-tables.o100", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o102", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o103", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o104", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o105", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o106", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o107", "sf.ddl.create-semantic-view.create-semantic-view-tables.o108", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o109", "sf.ddl.create-semantic-view.create-semantic-view-tables.o110", "sf.ddl.create-semantic-view.create-semantic-view-tables.o111", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o112", "sf.ddl.create-semantic-view.create-semantic-view-tables.o113", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o114", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o115", "sf.ddl.create-semantic-view.create-semantic-view-tables.o116", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o117", "sf.ddl.create-semantic-view.create-semantic-view-tables.o118", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o119", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o120", "sf.ddl.create-semantic-view.create-semantic-view-tables.o121", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o122", "sf.ddl.create-semantic-view.create-semantic-view-tables.o123", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o125", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o126", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o128", "sf.ddl.create-semantic-view.create-semantic-view-tables.o129", "sf.ddl.create-semantic-view.create-semantic-view-tables.o130", "sf.ddl.create-semantic-view.create-semantic-view-tables.o132", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o134", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o135", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o136", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o137", "sf.ddl.create-semantic-view.create-semantic-view-tables.o138", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o139", "sf.ddl.create-semantic-view.create-semantic-view-tables.o140", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o141", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o142", "sf.ddl.create-semantic-view.create-semantic-view-tables.o143", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o144", "sf.ddl.create-semantic-view.create-semantic-view-tables.o145", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o146", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o147", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o148", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o149", "sf.ddl.create-semantic-view.create-semantic-view-tables.o150", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o151", "sf.ddl.create-semantic-view.create-semantic-view-tables.o152", "sf.ddl.create-semantic-view.create-semantic-view-tables.o153", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o154", "sf.ddl.create-semantic-view.create-semantic-view-tables.o155", "sf.ddl.create-semantic-view.create-semantic-view-tables.o156", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o157", "sf.ddl.create-semantic-view.create-semantic-view-tables.o158", "sf.ddl.create-semantic-view.create-semantic-view-tables.o159", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o160", "sf.ddl.create-semantic-view.create-semantic-view-tables.o161", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o162", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o163", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o164", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o165", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o166", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o167", "sf.ddl.create-semantic-view.create-semantic-view-tables.o168", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o169", "sf.ddl.create-semantic-view.create-semantic-view-tables.o170", "sf.ddl.create-semantic-view.create-semantic-view-tables.o171", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o172", "sf.ddl.create-semantic-view.create-semantic-view-tables.o173", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o174", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o176", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o177", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o178", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o179", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o180", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o181", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o182", "sf.ddl.create-semantic-view.create-semantic-view-tables.o183", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o184", "sf.ddl.create-semantic-view.create-semantic-view-tables.o185", "sf.ddl.create-semantic-view.create-semantic-view-tables.o186", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o187", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o188", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o189", "sf.ddl.create-semantic-view.create-semantic-view-tables.o190", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o191", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o192", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o193", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o194", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o195", "sf.ddl.create-semantic-view.create-semantic-view-tables.o196", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o197", "sf.ddl.create-semantic-view.create-semantic-view-tables.o198", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o199", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o200", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o201", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o202", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o203", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o204", "sf.ddl.create-semantic-view.create-semantic-view-tables.o205", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o206", "sf.ddl.create-semantic-view.create-semantic-view-tables.o207", "sf.ddl.create-semantic-view.create-semantic-view-tables.o208", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o209", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o210", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o211", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o212", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o213", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o214", "sf.ddl.create-semantic-view.create-semantic-view-tables.o215", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o216", "sf.ddl.create-semantic-view.create-semantic-view-tables.o217", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o218", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o219", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o220", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o221", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o222", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o223", "sf.ddl.create-semantic-view.create-semantic-view-tables.o224", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o225", "sf.ddl.create-semantic-view.create-semantic-view-tables.o226", "sf.ddl.create-semantic-view.create-semantic-view-tables.o227", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o228", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o229", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o230", "sf.ddl.create-semantic-view.create-semantic-view-tables.o231", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o232", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o233", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o234", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o235", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o236", "sf.ddl.create-semantic-view.create-semantic-view-tables.o237", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o238", "sf.ddl.create-semantic-view.create-semantic-view-tables.o239", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o240", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o241", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o242", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o243", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o244", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o245", "sf.ddl.create-semantic-view.create-semantic-view-tables.o246", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o247", "sf.ddl.create-semantic-view.create-semantic-view-tables.o248", "sf.ddl.create-semantic-view.create-semantic-view-tables.o249", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o250", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o251", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o252", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o253", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o254", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o255", "sf.ddl.create-semantic-view.create-semantic-view-tables.o256", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o257", "sf.ddl.create-semantic-view.create-semantic-view-tables.o258", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o259", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o260", "sf.ddl.create-semantic-view.create-semantic-view-tables.o261", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o262", "sf.ddl.create-semantic-view.create-semantic-view-tables.o263", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o264", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o265", "sf.ddl.create-semantic-view.create-semantic-view-tables.o266", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o267", "sf.ddl.create-semantic-view.create-semantic-view-tables.o268", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o269", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o270", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o271", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o272", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o273", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o274", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o275", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o276", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o277", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o278", "sf.ddl.create-semantic-view.create-semantic-view-tables.o279", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o280", "sf.ddl.create-semantic-view.create-semantic-view-tables.o281", "sf.ddl.create-semantic-view.create-semantic-view-tables.o282", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o283", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o284", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o285", "sf.ddl.create-semantic-view.create-semantic-view-tables.o286", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o287", "sf.ddl.create-semantic-view.create-semantic-view-tables.o288", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o289", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o290", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o291", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o292", "sf.ddl.create-semantic-view.create-semantic-view-tables.o293", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o294", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o295", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o296", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o297", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o298", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o299", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o300", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o301", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o302", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o303", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o304", "sf.ddl.create-semantic-view.create-semantic-view-tables.o305", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o306", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o307", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o308", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o309", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o310", "sf.ddl.create-semantic-view.create-semantic-view-tables.o311", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o312", "sf.ddl.create-semantic-view.create-semantic-view-tables.o313", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o314", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o315", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o316", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o317", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o318", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o319", "sf.ddl.create-semantic-view.create-semantic-view-tables.o320", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o321", "sf.ddl.create-semantic-view.create-semantic-view-tables.o322", "sf.ddl.create-semantic-view.create-semantic-view-tables.o323", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o324", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o325", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o326", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o327", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o328", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o329", "sf.ddl.create-semantic-view.create-semantic-view-tables.o330", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o331", "sf.ddl.create-semantic-view.create-semantic-view-tables.o332", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o333", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o334", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o335", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o336", "sf.ddl.create-semantic-view.create-semantic-view-tables.o337", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o338", "sf.ddl.create-semantic-view.create-semantic-view-tables.o339", "sf.ddl.create-semantic-view.create-semantic-view-tables.o340", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o341", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o343", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o345", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o346", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o347", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o348", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o349", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o350", "sf.ddl.create-semantic-view.create-semantic-view-tables.o351", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o352", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o353", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o354", "sf.ddl.create-semantic-view.create-semantic-view-tables.o355", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o356", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o357", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o358", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o359", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o360", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o361", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o362", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o363", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o364", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o365", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o366", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o368", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o370", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o371", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o372", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o373", "sf.ddl.create-semantic-view.create-semantic-view-tables.o374", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o375", "sf.ddl.create-semantic-view.create-semantic-view-tables.o376", "sf.ddl.create-semantic-view.create-semantic-view-tables.o377", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o378", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o379", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o381", "sf.ddl.create-semantic-view.create-semantic-view-tables.o382", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o384", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o385", "sf.ddl.create-semantic-view.create-semantic-view-tables.o386", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o387", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o388", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o389", "sf.ddl.create-semantic-view.create-semantic-view-tables.o390", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o391", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o392", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o393", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o394", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o395", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o396", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o397", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o398", "sf.ddl.create-semantic-view.create-semantic-view-tables.o399", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o400", "sf.ddl.create-semantic-view.create-semantic-view-tables.o401", "sf.ddl.create-semantic-view.create-semantic-view-tables.o402", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o403", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o404", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o405", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o406", "sf.ddl.create-semantic-view.create-semantic-view-tables.o407", "sf.ddl.create-semantic-view.create-semantic-view-tables.o408", "sf.ddl.create-semantic-view.create-semantic-view-tables.o409", @@ -29712,6 +30303,37 @@ "sf.ddl.create-semantic-view.create-semantic-view-tables.o483", "sf.ddl.create-semantic-view.create-semantic-view-tables.o484", "sf.ddl.create-semantic-view.create-semantic-view-tables.o485", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o486", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o487", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o488", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o489", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o490", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o491", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o492", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o493", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o494", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o495", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o496", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o497", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o498", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o499", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o500", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o501", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o502", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o503", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o504", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o505", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o506", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o507", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o508", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o509", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o510", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o511", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o512", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o513", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o514", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o520", + "sf.ddl.create-semantic-view.create-semantic-view-tables.o521", "sf.ddl.create-semantic-view.create-semantic-view-tables.o533", "sf.ddl.create-semantic-view.create-semantic-view-tables.o534", "sf.ddl.create-semantic-view.create-semantic-view-tables.o535", @@ -29720,96 +30342,202 @@ "sf.ddl.create-semantic-view.create-semantic-view-tables.o538", "sf.ddl.create-semantic-view.create-semantic-view-tables.o546", "sf.ddl.create-semantic-view.create-semantic-view-tables.o547", + "sf.ddl.create-semantic-view.define-semantic-view.o001", "sf.ddl.create-semantic-view.define-semantic-view.o002", + "sf.ddl.create-semantic-view.define-semantic-view.o003", "sf.ddl.create-semantic-view.define-semantic-view.o004", + "sf.ddl.create-semantic-view.define-semantic-view.o006", "sf.ddl.create-semantic-view.define-semantic-view.o007", "sf.ddl.create-semantic-view.define-semantic-view.o009", "sf.ddl.create-semantic-view.define-semantic-view.o010", + "sf.ddl.create-semantic-view.define-semantic-view.o011", "sf.ddl.create-semantic-view.define-semantic-view.o012", + "sf.ddl.create-semantic-view.define-semantic-view.o014", "sf.ddl.create-semantic-view.define-semantic-view.o015", "sf.ddl.create-semantic-view.define-semantic-view.o017", + "sf.ddl.create-semantic-view.define-semantic-view.o019", + "sf.ddl.create-semantic-view.define-semantic-view.o021", "sf.ddl.create-semantic-view.define-semantic-view.o022", "sf.ddl.create-semantic-view.define-semantic-view.o024", + "sf.ddl.create-semantic-view.define-semantic-view.o026", + "sf.ddl.create-semantic-view.define-semantic-view.o028", "sf.ddl.create-semantic-view.define-semantic-view.o032", "sf.ddl.create-semantic-view.define-semantic-view.o033", "sf.ddl.create-semantic-view.define-semantic-view.o035", + "sf.ddl.create-semantic-view.define-semantic-view.o038", + "sf.ddl.create-semantic-view.define-semantic-view.o040", "sf.ddl.create-semantic-view.define-semantic-view.o041", "sf.ddl.create-semantic-view.define-semantic-view.o043", + "sf.ddl.create-semantic-view.define-semantic-view.o045", + "sf.ddl.create-semantic-view.define-semantic-view.o047", "sf.ddl.create-semantic-view.define-semantic-view.o048", "sf.ddl.create-semantic-view.define-semantic-view.o050", + "sf.ddl.create-semantic-view.define-semantic-view.o052", + "sf.ddl.create-semantic-view.define-semantic-view.o054", "sf.ddl.create-semantic-view.define-semantic-view.o055", "sf.ddl.create-semantic-view.define-semantic-view.o057", "sf.ddl.create-semantic-view.define-semantic-view.o058", + "sf.ddl.create-semantic-view.define-semantic-view.o060", + "sf.ddl.create-semantic-view.define-semantic-view.o062", + "sf.ddl.create-semantic-view.define-semantic-view.o064", + "sf.ddl.create-semantic-view.define-semantic-view.o066", + "sf.ddl.create-semantic-view.define-semantic-view.o068", "sf.ddl.create-semantic-view.define-semantic-view.o069", "sf.ddl.create-semantic-view.define-semantic-view.o071", "sf.ddl.create-semantic-view.define-semantic-view.o072", "sf.ddl.create-semantic-view.define-semantic-view.o074", "sf.ddl.create-semantic-view.define-semantic-view.o075", "sf.ddl.create-semantic-view.define-semantic-view.o077", + "sf.ddl.create-semantic-view.define-semantic-view.o079", "sf.ddl.create-semantic-view.define-semantic-view.o080", "sf.ddl.create-semantic-view.define-semantic-view.o082", + "sf.ddl.create-semantic-view.define-semantic-view.o084", + "sf.ddl.create-semantic-view.define-semantic-view.o085", + "sf.ddl.create-semantic-view.define-semantic-view.o086", + "sf.ddl.create-semantic-view.define-semantic-view.o088", "sf.ddl.create-semantic-view.define-semantic-view.o089", "sf.ddl.create-semantic-view.define-semantic-view.o091", + "sf.ddl.create-semantic-view.define-semantic-view.o093", "sf.ddl.create-semantic-view.define-semantic-view.o094", "sf.ddl.create-semantic-view.define-semantic-view.o096", + "sf.ddl.create-semantic-view.define-semantic-view.o099", + "sf.ddl.create-semantic-view.define-semantic-view.o101", + "sf.ddl.create-semantic-view.define-semantic-view.o103", + "sf.ddl.create-semantic-view.define-semantic-view.o104", + "sf.ddl.create-semantic-view.define-semantic-view.o105", "sf.ddl.create-semantic-view.define-semantic-view.o106", "sf.ddl.create-semantic-view.define-semantic-view.o108", "sf.ddl.create-semantic-view.define-semantic-view.o109", + "sf.ddl.create-semantic-view.define-semantic-view.o112", "sf.ddl.create-semantic-view.define-semantic-view.o113", + "sf.ddl.create-semantic-view.define-semantic-view.o116", + "sf.ddl.create-semantic-view.define-semantic-view.o118", "sf.ddl.create-semantic-view.define-semantic-view.o119", "sf.ddl.create-semantic-view.define-semantic-view.o121", + "sf.ddl.create-semantic-view.define-semantic-view.o123", + "sf.ddl.create-semantic-view.define-semantic-view.o125", + "sf.ddl.create-semantic-view.define-semantic-view.o127", "sf.ddl.create-semantic-view.define-semantic-view.o128", "sf.ddl.create-semantic-view.define-semantic-view.o130", "sf.ddl.create-semantic-view.define-semantic-view.o131", + "sf.ddl.create-semantic-view.define-semantic-view.o133", + "sf.ddl.create-semantic-view.define-semantic-view.o135", + "sf.ddl.create-semantic-view.define-semantic-view.o137", "sf.ddl.create-semantic-view.define-semantic-view.o138", "sf.ddl.create-semantic-view.define-semantic-view.o140", + "sf.ddl.create-semantic-view.define-semantic-view.o142", + "sf.ddl.create-semantic-view.define-semantic-view.o144", + "sf.ddl.create-semantic-view.define-semantic-view.o146", "sf.ddl.create-semantic-view.define-semantic-view.o147", "sf.ddl.create-semantic-view.define-semantic-view.o149", "sf.ddl.create-semantic-view.define-semantic-view.o150", + "sf.ddl.create-semantic-view.define-semantic-view.o153", "sf.ddl.create-semantic-view.define-semantic-view.o154", + "sf.ddl.create-semantic-view.define-semantic-view.o157", + "sf.ddl.create-semantic-view.define-semantic-view.o159", "sf.ddl.create-semantic-view.define-semantic-view.o160", "sf.ddl.create-semantic-view.define-semantic-view.o162", + "sf.ddl.create-semantic-view.define-semantic-view.o164", + "sf.ddl.create-semantic-view.define-semantic-view.o166", + "sf.ddl.create-semantic-view.define-semantic-view.o168", "sf.ddl.create-semantic-view.define-semantic-view.o169", "sf.ddl.create-semantic-view.define-semantic-view.o171", "sf.ddl.create-semantic-view.define-semantic-view.o172", + "sf.ddl.create-semantic-view.define-semantic-view.o174", + "sf.ddl.create-semantic-view.define-semantic-view.o176", + "sf.ddl.create-semantic-view.define-semantic-view.o178", "sf.ddl.create-semantic-view.define-semantic-view.o179", "sf.ddl.create-semantic-view.define-semantic-view.o181", + "sf.ddl.create-semantic-view.define-semantic-view.o183", "sf.ddl.create-semantic-view.define-semantic-view.o184", "sf.ddl.create-semantic-view.define-semantic-view.o186", + "sf.ddl.create-semantic-view.define-semantic-view.o188", "sf.ddl.create-semantic-view.define-semantic-view.o189", "sf.ddl.create-semantic-view.define-semantic-view.o191", + "sf.ddl.create-semantic-view.define-semantic-view.o193", + "sf.ddl.create-semantic-view.define-semantic-view.o195", + "sf.ddl.create-semantic-view.define-semantic-view.o196", + "sf.ddl.create-semantic-view.define-semantic-view.o197", + "sf.ddl.create-semantic-view.define-semantic-view.o199", + "sf.ddl.create-semantic-view.define-semantic-view.o200", + "sf.ddl.create-semantic-view.define-semantic-view.o201", "sf.ddl.create-semantic-view.define-semantic-view.o202", "sf.ddl.create-semantic-view.define-semantic-view.o204", "sf.ddl.create-semantic-view.define-semantic-view.o205", + "sf.ddl.create-semantic-view.define-semantic-view.o208", "sf.ddl.create-semantic-view.define-semantic-view.o209", "sf.ddl.create-semantic-view.define-semantic-view.o211", + "sf.ddl.create-semantic-view.define-semantic-view.o213", + "sf.ddl.create-semantic-view.define-semantic-view.o215", "sf.ddl.create-semantic-view.define-semantic-view.o216", + "sf.ddl.create-semantic-view.define-semantic-view.o219", + "sf.ddl.create-semantic-view.define-semantic-view.o220", + "sf.ddl.create-semantic-view.define-semantic-view.o221", + "sf.ddl.create-semantic-view.define-semantic-view.o223", + "sf.ddl.create-semantic-view.define-semantic-view.o224", + "sf.ddl.create-semantic-view.define-semantic-view.o225", + "sf.ddl.create-semantic-view.define-semantic-view.o227", "sf.ddl.create-semantic-view.define-semantic-view.o228", + "sf.ddl.create-semantic-view.define-semantic-view.o231", + "sf.ddl.create-semantic-view.define-semantic-view.o233", "sf.ddl.create-semantic-view.define-semantic-view.o234", "sf.ddl.create-semantic-view.define-semantic-view.o236", + "sf.ddl.create-semantic-view.define-semantic-view.o238", + "sf.ddl.create-semantic-view.define-semantic-view.o240", + "sf.ddl.create-semantic-view.define-semantic-view.o242", "sf.ddl.create-semantic-view.define-semantic-view.o243", "sf.ddl.create-semantic-view.define-semantic-view.o245", "sf.ddl.create-semantic-view.define-semantic-view.o246", + "sf.ddl.create-semantic-view.define-semantic-view.o248", + "sf.ddl.create-semantic-view.define-semantic-view.o250", + "sf.ddl.create-semantic-view.define-semantic-view.o252", "sf.ddl.create-semantic-view.define-semantic-view.o253", "sf.ddl.create-semantic-view.define-semantic-view.o255", + "sf.ddl.create-semantic-view.define-semantic-view.o257", + "sf.ddl.create-semantic-view.define-semantic-view.o258", + "sf.ddl.create-semantic-view.define-semantic-view.o259", "sf.ddl.create-semantic-view.define-semantic-view.o260", "sf.ddl.create-semantic-view.define-semantic-view.o262", "sf.ddl.create-semantic-view.define-semantic-view.o263", + "sf.ddl.create-semantic-view.define-semantic-view.o270", + "sf.ddl.create-semantic-view.define-semantic-view.o271", + "sf.ddl.create-semantic-view.define-semantic-view.o272", "sf.ddl.create-semantic-view.define-semantic-view.o274", + "sf.ddl.create-semantic-view.define-semantic-view.o277", "sf.ddl.create-semantic-view.define-semantic-view.o278", + "sf.ddl.create-semantic-view.define-semantic-view.o281", + "sf.ddl.create-semantic-view.define-semantic-view.o282", + "sf.ddl.create-semantic-view.define-semantic-view.o283", + "sf.ddl.create-semantic-view.define-semantic-view.o285", + "sf.ddl.create-semantic-view.define-semantic-view.o286", + "sf.ddl.create-semantic-view.define-semantic-view.o287", + "sf.ddl.create-semantic-view.define-semantic-view.o289", + "sf.ddl.create-semantic-view.define-semantic-view.o291", + "sf.ddl.create-semantic-view.define-semantic-view.o294", + "sf.ddl.create-semantic-view.define-semantic-view.o296", "sf.ddl.create-semantic-view.define-semantic-view.o297", "sf.ddl.create-semantic-view.define-semantic-view.o299", + "sf.ddl.create-semantic-view.define-semantic-view.o301", "sf.ddl.create-semantic-view.define-semantic-view.o302", + "sf.ddl.create-semantic-view.define-semantic-view.o305", "sf.ddl.create-semantic-view.define-semantic-view.o306", "sf.ddl.create-semantic-view.define-semantic-view.o308", + "sf.ddl.create-semantic-view.define-semantic-view.o310", "sf.ddl.create-semantic-view.define-semantic-view.o311", "sf.ddl.create-semantic-view.define-semantic-view.o313", + "sf.ddl.create-semantic-view.define-semantic-view.o315", "sf.ddl.create-semantic-view.define-semantic-view.o316", "sf.ddl.create-semantic-view.define-semantic-view.o318", "sf.ddl.create-semantic-view.define-semantic-view.o319", + "sf.ddl.create-semantic-view.define-semantic-view.o321", + "sf.ddl.create-semantic-view.define-semantic-view.o323", "sf.ddl.create-semantic-view.define-semantic-view.o324", + "sf.ddl.create-semantic-view.define-semantic-view.o327", "sf.ddl.create-semantic-view.define-semantic-view.o328", + "sf.ddl.create-semantic-view.define-semantic-view.o331", "sf.ddl.create-semantic-view.define-semantic-view.o332", + "sf.ddl.create-semantic-view.define-semantic-view.o334", + "sf.ddl.create-semantic-view.define-semantic-view.o336", "sf.ddl.create-semantic-view.define-semantic-view.o337", "sf.ddl.create-semantic-view.define-semantic-view.o338", "sf.ddl.create-semantic-view.define-semantic-view.o339", @@ -29894,12 +30622,46 @@ "sf.ddl.create-semantic-view.define-semantic-view.o418", "sf.ddl.create-semantic-view.define-semantic-view.o419", "sf.ddl.create-semantic-view.define-semantic-view.o420", + "sf.ddl.create-semantic-view.define-semantic-view.o422", + "sf.ddl.create-semantic-view.define-semantic-view.o423", + "sf.ddl.create-semantic-view.define-semantic-view.o424", + "sf.ddl.create-semantic-view.define-semantic-view.o425", + "sf.ddl.create-semantic-view.define-semantic-view.o426", + "sf.ddl.create-semantic-view.define-semantic-view.o427", + "sf.ddl.create-semantic-view.define-semantic-view.o428", + "sf.ddl.create-semantic-view.define-semantic-view.o429", + "sf.ddl.create-semantic-view.define-semantic-view.o430", + "sf.ddl.create-semantic-view.define-semantic-view.o431", + "sf.ddl.create-semantic-view.define-semantic-view.o432", + "sf.ddl.create-semantic-view.define-semantic-view.o433", + "sf.ddl.create-semantic-view.define-semantic-view.o434", + "sf.ddl.create-semantic-view.define-semantic-view.o435", + "sf.ddl.create-semantic-view.define-semantic-view.o436", + "sf.ddl.create-semantic-view.define-semantic-view.o437", + "sf.ddl.create-semantic-view.define-semantic-view.o438", + "sf.ddl.create-semantic-view.define-semantic-view.o439", + "sf.ddl.create-semantic-view.define-semantic-view.o440", + "sf.ddl.create-semantic-view.define-semantic-view.o441", + "sf.ddl.create-semantic-view.define-semantic-view.o442", + "sf.ddl.create-semantic-view.define-semantic-view.o443", + "sf.ddl.create-semantic-view.define-semantic-view.o444", + "sf.ddl.create-semantic-view.define-semantic-view.o445", + "sf.ddl.create-semantic-view.define-semantic-view.o446", + "sf.ddl.create-semantic-view.define-semantic-view.o447", + "sf.ddl.create-semantic-view.define-semantic-view.o448", + "sf.ddl.create-semantic-view.define-semantic-view.o449", + "sf.ddl.create-semantic-view.define-semantic-view.o450", + "sf.ddl.create-semantic-view.define-semantic-view.o451", + "sf.ddl.create-semantic-view.define-semantic-view.o452", + "sf.ddl.create-semantic-view.define-semantic-view.o453", + "sf.ddl.create-semantic-view.define-semantic-view.o454", "sf.ddl.create-semantic-view.define-semantic-view.o458", "sf.ddl.create-semantic-view.define-semantic-view.o459", "sf.ddl.create-semantic-view.define-semantic-view.o460", "sf.ddl.create-semantic-view.define-semantic-view.o461", "sf.ddl.create-semantic-view.define-semantic-view.o462", "sf.ddl.create-semantic-view.define-semantic-view.o463", + "sf.ddl.create-semantic-view.define-semantic-view.o588", "sf.ddl.create-semantic-view.define-semantic-view.o606", "sf.ddl.create-semantic-view.define-semantic-view.o607", "sf.ddl.create-sequence.create-or-alter-sequence.o001", @@ -33444,8 +34206,38 @@ "sf.ddl.create-stage.define-stage.o1126", "sf.ddl.create-stage.define-stage.o1127", "sf.ddl.create-stage.define-stage.o1128", + "sf.ddl.create-stream.create-or-alter-stream.o001", + "sf.ddl.create-stream.create-or-alter-stream.o002", + "sf.ddl.create-stream.create-or-alter-stream.o003", + "sf.ddl.create-stream.create-or-alter-stream.o004", + "sf.ddl.create-stream.create-or-alter-stream.o005", + "sf.ddl.create-stream.create-or-alter-stream.o006", + "sf.ddl.create-stream.create-or-alter-stream.o007", + "sf.ddl.create-stream.create-or-alter-stream.o008", + "sf.ddl.create-stream.create-or-alter-stream.o009", + "sf.ddl.create-stream.create-or-alter-stream.o010", + "sf.ddl.create-stream.create-or-alter-stream.o011", + "sf.ddl.create-stream.create-or-alter-stream.o012", + "sf.ddl.create-stream.create-or-alter-stream.o013", + "sf.ddl.create-stream.create-or-alter-stream.o014", + "sf.ddl.create-stream.create-or-alter-stream.o015", + "sf.ddl.create-stream.create-or-alter-stream.o016", + "sf.ddl.create-stream.create-or-alter-stream.o017", + "sf.ddl.create-stream.create-or-alter-stream.o018", + "sf.ddl.create-stream.create-or-alter-stream.o019", + "sf.ddl.create-stream.create-or-alter-stream.o020", "sf.ddl.create-stream.create-or-alter-stream.o021", "sf.ddl.create-stream.create-or-alter-stream.o022", + "sf.ddl.create-stream.create-or-alter-stream.o023", + "sf.ddl.create-stream.create-or-alter-stream.o024", + "sf.ddl.create-stream.create-or-alter-stream.o025", + "sf.ddl.create-stream.create-or-alter-stream.o026", + "sf.ddl.create-stream.create-or-alter-stream.o027", + "sf.ddl.create-stream.create-or-alter-stream.o028", + "sf.ddl.create-stream.create-or-alter-stream.o029", + "sf.ddl.create-stream.create-or-alter-stream.o030", + "sf.ddl.create-stream.create-or-alter-stream.o031", + "sf.ddl.create-stream.create-or-alter-stream.o032", "sf.ddl.create-stream.create-stream-clone.o001", "sf.ddl.create-stream.create-stream-clone.o002", "sf.ddl.create-stream.create-stream-clone.o003", @@ -33468,46 +34260,457 @@ "sf.ddl.create-stream.create-stream-clone.o020", "sf.ddl.create-stream.create-stream-clone.o021", "sf.ddl.create-stream.create-stream-clone.o022", + "sf.ddl.create-stream.create-stream-on-dynamic.o001", + "sf.ddl.create-stream.create-stream-on-dynamic.o002", + "sf.ddl.create-stream.create-stream-on-dynamic.o003", + "sf.ddl.create-stream.create-stream-on-dynamic.o004", + "sf.ddl.create-stream.create-stream-on-dynamic.o005", "sf.ddl.create-stream.create-stream-on-dynamic.o006", + "sf.ddl.create-stream.create-stream-on-dynamic.o007", "sf.ddl.create-stream.create-stream-on-dynamic.o008", + "sf.ddl.create-stream.create-stream-on-dynamic.o009", + "sf.ddl.create-stream.create-stream-on-dynamic.o010", + "sf.ddl.create-stream.create-stream-on-dynamic.o011", + "sf.ddl.create-stream.create-stream-on-dynamic.o012", + "sf.ddl.create-stream.create-stream-on-dynamic.o013", + "sf.ddl.create-stream.create-stream-on-dynamic.o014", + "sf.ddl.create-stream.create-stream-on-dynamic.o015", + "sf.ddl.create-stream.create-stream-on-dynamic.o016", + "sf.ddl.create-stream.create-stream-on-dynamic.o017", + "sf.ddl.create-stream.create-stream-on-dynamic.o018", + "sf.ddl.create-stream.create-stream-on-dynamic.o019", + "sf.ddl.create-stream.create-stream-on-dynamic.o020", + "sf.ddl.create-stream.create-stream-on-dynamic.o021", + "sf.ddl.create-stream.create-stream-on-dynamic.o022", + "sf.ddl.create-stream.create-stream-on-dynamic.o023", + "sf.ddl.create-stream.create-stream-on-dynamic.o024", + "sf.ddl.create-stream.create-stream-on-dynamic.o025", + "sf.ddl.create-stream.create-stream-on-dynamic.o026", + "sf.ddl.create-stream.create-stream-on-dynamic.o027", + "sf.ddl.create-stream.create-stream-on-dynamic.o028", + "sf.ddl.create-stream.create-stream-on-dynamic.o029", + "sf.ddl.create-stream.create-stream-on-dynamic.o030", + "sf.ddl.create-stream.create-stream-on-dynamic.o031", + "sf.ddl.create-stream.create-stream-on-dynamic.o032", "sf.ddl.create-stream.create-stream-on-dynamic.o033", + "sf.ddl.create-stream.create-stream-on-dynamic.o034", "sf.ddl.create-stream.create-stream-on-dynamic.o035", "sf.ddl.create-stream.create-stream-on-dynamic.o036", + "sf.ddl.create-stream.create-stream-on-dynamic.o037", + "sf.ddl.create-stream.create-stream-on-dynamic.o038", + "sf.ddl.create-stream.create-stream-on-dynamic.o039", + "sf.ddl.create-stream.create-stream-on-dynamic.o040", + "sf.ddl.create-stream.create-stream-on-dynamic.o041", + "sf.ddl.create-stream.create-stream-on-dynamic.o042", + "sf.ddl.create-stream.create-stream-on-dynamic.o043", + "sf.ddl.create-stream.create-stream-on-dynamic.o044", + "sf.ddl.create-stream.create-stream-on-dynamic.o045", + "sf.ddl.create-stream.create-stream-on-dynamic.o046", + "sf.ddl.create-stream.create-stream-on-dynamic.o047", + "sf.ddl.create-stream.create-stream-on-dynamic.o048", + "sf.ddl.create-stream.create-stream-on-dynamic.o049", + "sf.ddl.create-stream.create-stream-on-dynamic.o050", + "sf.ddl.create-stream.create-stream-on-dynamic.o051", + "sf.ddl.create-stream.create-stream-on-dynamic.o052", + "sf.ddl.create-stream.create-stream-on-dynamic.o053", + "sf.ddl.create-stream.create-stream-on-dynamic.o054", + "sf.ddl.create-stream.create-stream-on-dynamic.o055", + "sf.ddl.create-stream.create-stream-on-event.o001", + "sf.ddl.create-stream.create-stream-on-event.o002", + "sf.ddl.create-stream.create-stream-on-event.o003", + "sf.ddl.create-stream.create-stream-on-event.o004", + "sf.ddl.create-stream.create-stream-on-event.o005", "sf.ddl.create-stream.create-stream-on-event.o006", + "sf.ddl.create-stream.create-stream-on-event.o007", "sf.ddl.create-stream.create-stream-on-event.o008", + "sf.ddl.create-stream.create-stream-on-event.o009", + "sf.ddl.create-stream.create-stream-on-event.o010", + "sf.ddl.create-stream.create-stream-on-event.o011", + "sf.ddl.create-stream.create-stream-on-event.o012", + "sf.ddl.create-stream.create-stream-on-event.o013", + "sf.ddl.create-stream.create-stream-on-event.o014", + "sf.ddl.create-stream.create-stream-on-event.o015", + "sf.ddl.create-stream.create-stream-on-event.o016", + "sf.ddl.create-stream.create-stream-on-event.o017", + "sf.ddl.create-stream.create-stream-on-event.o018", + "sf.ddl.create-stream.create-stream-on-event.o019", + "sf.ddl.create-stream.create-stream-on-event.o020", + "sf.ddl.create-stream.create-stream-on-event.o021", + "sf.ddl.create-stream.create-stream-on-event.o022", + "sf.ddl.create-stream.create-stream-on-event.o023", + "sf.ddl.create-stream.create-stream-on-event.o024", + "sf.ddl.create-stream.create-stream-on-event.o025", + "sf.ddl.create-stream.create-stream-on-event.o026", + "sf.ddl.create-stream.create-stream-on-event.o027", + "sf.ddl.create-stream.create-stream-on-event.o028", + "sf.ddl.create-stream.create-stream-on-event.o029", + "sf.ddl.create-stream.create-stream-on-event.o030", + "sf.ddl.create-stream.create-stream-on-event.o031", + "sf.ddl.create-stream.create-stream-on-event.o032", "sf.ddl.create-stream.create-stream-on-event.o033", + "sf.ddl.create-stream.create-stream-on-event.o034", "sf.ddl.create-stream.create-stream-on-event.o035", "sf.ddl.create-stream.create-stream-on-event.o036", + "sf.ddl.create-stream.create-stream-on-event.o037", + "sf.ddl.create-stream.create-stream-on-event.o038", + "sf.ddl.create-stream.create-stream-on-event.o039", + "sf.ddl.create-stream.create-stream-on-event.o040", + "sf.ddl.create-stream.create-stream-on-event.o041", + "sf.ddl.create-stream.create-stream-on-event.o042", + "sf.ddl.create-stream.create-stream-on-event.o043", + "sf.ddl.create-stream.create-stream-on-event.o044", + "sf.ddl.create-stream.create-stream-on-event.o045", + "sf.ddl.create-stream.create-stream-on-event.o046", + "sf.ddl.create-stream.create-stream-on-event.o047", + "sf.ddl.create-stream.create-stream-on-event.o048", + "sf.ddl.create-stream.create-stream-on-event.o049", + "sf.ddl.create-stream.create-stream-on-event.o050", + "sf.ddl.create-stream.create-stream-on-event.o051", + "sf.ddl.create-stream.create-stream-on-event.o052", + "sf.ddl.create-stream.create-stream-on-event.o053", + "sf.ddl.create-stream.create-stream-on-event.o054", + "sf.ddl.create-stream.create-stream-on-event.o055", + "sf.ddl.create-stream.create-stream-on-external.o001", + "sf.ddl.create-stream.create-stream-on-external.o002", + "sf.ddl.create-stream.create-stream-on-external.o003", + "sf.ddl.create-stream.create-stream-on-external.o004", + "sf.ddl.create-stream.create-stream-on-external.o005", "sf.ddl.create-stream.create-stream-on-external.o006", + "sf.ddl.create-stream.create-stream-on-external.o007", "sf.ddl.create-stream.create-stream-on-external.o008", + "sf.ddl.create-stream.create-stream-on-external.o009", + "sf.ddl.create-stream.create-stream-on-external.o010", + "sf.ddl.create-stream.create-stream-on-external.o011", + "sf.ddl.create-stream.create-stream-on-external.o012", + "sf.ddl.create-stream.create-stream-on-external.o013", + "sf.ddl.create-stream.create-stream-on-external.o014", + "sf.ddl.create-stream.create-stream-on-external.o015", + "sf.ddl.create-stream.create-stream-on-external.o016", + "sf.ddl.create-stream.create-stream-on-external.o017", + "sf.ddl.create-stream.create-stream-on-external.o018", + "sf.ddl.create-stream.create-stream-on-external.o019", + "sf.ddl.create-stream.create-stream-on-external.o020", + "sf.ddl.create-stream.create-stream-on-external.o021", + "sf.ddl.create-stream.create-stream-on-external.o022", + "sf.ddl.create-stream.create-stream-on-external.o023", + "sf.ddl.create-stream.create-stream-on-external.o024", + "sf.ddl.create-stream.create-stream-on-external.o025", + "sf.ddl.create-stream.create-stream-on-external.o026", + "sf.ddl.create-stream.create-stream-on-external.o027", + "sf.ddl.create-stream.create-stream-on-external.o028", + "sf.ddl.create-stream.create-stream-on-external.o029", + "sf.ddl.create-stream.create-stream-on-external.o030", + "sf.ddl.create-stream.create-stream-on-external.o031", + "sf.ddl.create-stream.create-stream-on-external.o032", + "sf.ddl.create-stream.create-stream-on-external.o033", + "sf.ddl.create-stream.create-stream-on-external.o034", + "sf.ddl.create-stream.create-stream-on-external.o035", + "sf.ddl.create-stream.create-stream-on-external.o036", + "sf.ddl.create-stream.create-stream-on-external.o037", + "sf.ddl.create-stream.create-stream-on-external.o038", + "sf.ddl.create-stream.create-stream-on-external.o039", + "sf.ddl.create-stream.create-stream-on-external.o040", + "sf.ddl.create-stream.create-stream-on-external.o041", + "sf.ddl.create-stream.create-stream-on-external.o043", + "sf.ddl.create-stream.create-stream-on-external.o044", + "sf.ddl.create-stream.create-stream-on-external.o045", + "sf.ddl.create-stream.create-stream-on-external.o046", + "sf.ddl.create-stream.create-stream-on-external.o047", + "sf.ddl.create-stream.create-stream-on-external.o048", + "sf.ddl.create-stream.create-stream-on-external.o049", + "sf.ddl.create-stream.create-stream-on-external.o050", + "sf.ddl.create-stream.create-stream-on-external.o051", "sf.ddl.create-stream.create-stream-on-external.o052", + "sf.ddl.create-stream.create-stream-on-external.o053", "sf.ddl.create-stream.create-stream-on-external.o054", "sf.ddl.create-stream.create-stream-on-external.o055", + "sf.ddl.create-stream.create-stream-on-external.o056", + "sf.ddl.create-stream.create-stream-on-external.o057", + "sf.ddl.create-stream.create-stream-on-external.o058", + "sf.ddl.create-stream.create-stream-on-external.o059", + "sf.ddl.create-stream.create-stream-on-external.o060", + "sf.ddl.create-stream.create-stream-on-external.o061", + "sf.ddl.create-stream.create-stream-on-external.o062", + "sf.ddl.create-stream.create-stream-on-external.o063", + "sf.ddl.create-stream.create-stream-on-external.o064", + "sf.ddl.create-stream.create-stream-on-external.o065", + "sf.ddl.create-stream.create-stream-on-external.o066", + "sf.ddl.create-stream.create-stream-on-external.o067", + "sf.ddl.create-stream.create-stream-on-external.o068", + "sf.ddl.create-stream.create-stream-on-external.o069", + "sf.ddl.create-stream.create-stream-on-external.o070", + "sf.ddl.create-stream.create-stream-on-external.o071", + "sf.ddl.create-stream.create-stream-on-external.o072", + "sf.ddl.create-stream.create-stream-on-external.o073", + "sf.ddl.create-stream.create-stream-on-external.o074", + "sf.ddl.create-stream.create-stream-on-external.o075", + "sf.ddl.create-stream.create-stream-on-external.o076", + "sf.ddl.create-stream.create-stream-on-external.o077", + "sf.ddl.create-stream.create-stream-on-external.o078", + "sf.ddl.create-stream.create-stream-on-external.o091", + "sf.ddl.create-stream.create-stream-on-external.o092", + "sf.ddl.create-stream.create-stream-on-external.o093", + "sf.ddl.create-stream.create-stream-on-external.o094", + "sf.ddl.create-stream.create-stream-on-external.o095", + "sf.ddl.create-stream.create-stream-on-stage.o001", + "sf.ddl.create-stream.create-stream-on-stage.o002", + "sf.ddl.create-stream.create-stream-on-stage.o003", + "sf.ddl.create-stream.create-stream-on-stage.o004", + "sf.ddl.create-stream.create-stream-on-stage.o005", "sf.ddl.create-stream.create-stream-on-stage.o006", + "sf.ddl.create-stream.create-stream-on-stage.o007", "sf.ddl.create-stream.create-stream-on-stage.o008", + "sf.ddl.create-stream.create-stream-on-stage.o009", + "sf.ddl.create-stream.create-stream-on-stage.o010", + "sf.ddl.create-stream.create-stream-on-stage.o011", + "sf.ddl.create-stream.create-stream-on-stage.o012", + "sf.ddl.create-stream.create-stream-on-stage.o013", + "sf.ddl.create-stream.create-stream-on-stage.o014", + "sf.ddl.create-stream.create-stream-on-stage.o015", + "sf.ddl.create-stream.create-stream-on-stage.o016", + "sf.ddl.create-stream.create-stream-on-stage.o017", + "sf.ddl.create-stream.create-stream-on-stage.o018", + "sf.ddl.create-stream.create-stream-on-stage.o019", + "sf.ddl.create-stream.create-stream-on-stage.o020", + "sf.ddl.create-stream.create-stream-on-stage.o021", + "sf.ddl.create-stream.create-stream-on-stage.o022", + "sf.ddl.create-stream.create-stream-on-stage.o023", + "sf.ddl.create-stream.create-stream-on-stage.o024", + "sf.ddl.create-stream.create-stream-on-stage.o025", + "sf.ddl.create-stream.create-stream-on-stage.o026", + "sf.ddl.create-stream.create-stream-on-stage.o027", + "sf.ddl.create-stream.create-stream-on-stage.o028", + "sf.ddl.create-stream.create-stream-on-stage.o029", + "sf.ddl.create-stream.create-stream-on-stage.o030", + "sf.ddl.create-stream.create-stream-on-stage.o031", + "sf.ddl.create-stream.create-stream-on-stage.o032", "sf.ddl.create-stream.create-stream-on-stage.o033", + "sf.ddl.create-stream.create-stream-on-stage.o034", "sf.ddl.create-stream.create-stream-on-stage.o035", "sf.ddl.create-stream.create-stream-on-stage.o036", + "sf.ddl.create-stream.create-stream-on-stage.o037", + "sf.ddl.create-stream.create-stream-on-stage.o038", + "sf.ddl.create-stream.create-stream-on-stage.o039", + "sf.ddl.create-stream.create-stream-on-stage.o040", + "sf.ddl.create-stream.create-stream-on-stage.o041", + "sf.ddl.create-stream.create-stream-on-stage.o042", + "sf.ddl.create-stream.create-stream-on-stage.o043", + "sf.ddl.create-stream.create-stream-on-stage.o044", + "sf.ddl.create-stream.create-stream-on-stage.o045", + "sf.ddl.create-stream.create-stream-on-stage.o046", + "sf.ddl.create-stream.create-stream-on-stage.o047", + "sf.ddl.create-stream.create-stream-on-stage.o048", + "sf.ddl.create-stream.create-stream-on-stage.o049", + "sf.ddl.create-stream.create-stream-on-stage.o050", + "sf.ddl.create-stream.create-stream-on-stage.o051", + "sf.ddl.create-stream.create-stream-on-stage.o052", + "sf.ddl.create-stream.create-stream-on-stage.o053", + "sf.ddl.create-stream.create-stream-on-stage.o054", + "sf.ddl.create-stream.create-stream-on-stage.o055", + "sf.ddl.create-stream.create-stream-on-table.o001", + "sf.ddl.create-stream.create-stream-on-table.o002", + "sf.ddl.create-stream.create-stream-on-table.o003", + "sf.ddl.create-stream.create-stream-on-table.o004", + "sf.ddl.create-stream.create-stream-on-table.o005", "sf.ddl.create-stream.create-stream-on-table.o006", + "sf.ddl.create-stream.create-stream-on-table.o007", "sf.ddl.create-stream.create-stream-on-table.o008", + "sf.ddl.create-stream.create-stream-on-table.o009", + "sf.ddl.create-stream.create-stream-on-table.o010", + "sf.ddl.create-stream.create-stream-on-table.o011", + "sf.ddl.create-stream.create-stream-on-table.o012", + "sf.ddl.create-stream.create-stream-on-table.o013", + "sf.ddl.create-stream.create-stream-on-table.o014", + "sf.ddl.create-stream.create-stream-on-table.o015", + "sf.ddl.create-stream.create-stream-on-table.o016", + "sf.ddl.create-stream.create-stream-on-table.o017", + "sf.ddl.create-stream.create-stream-on-table.o018", + "sf.ddl.create-stream.create-stream-on-table.o019", + "sf.ddl.create-stream.create-stream-on-table.o020", + "sf.ddl.create-stream.create-stream-on-table.o021", + "sf.ddl.create-stream.create-stream-on-table.o022", + "sf.ddl.create-stream.create-stream-on-table.o023", + "sf.ddl.create-stream.create-stream-on-table.o024", + "sf.ddl.create-stream.create-stream-on-table.o025", + "sf.ddl.create-stream.create-stream-on-table.o026", + "sf.ddl.create-stream.create-stream-on-table.o027", + "sf.ddl.create-stream.create-stream-on-table.o028", + "sf.ddl.create-stream.create-stream-on-table.o029", + "sf.ddl.create-stream.create-stream-on-table.o030", + "sf.ddl.create-stream.create-stream-on-table.o031", + "sf.ddl.create-stream.create-stream-on-table.o032", + "sf.ddl.create-stream.create-stream-on-table.o033", + "sf.ddl.create-stream.create-stream-on-table.o034", + "sf.ddl.create-stream.create-stream-on-table.o035", + "sf.ddl.create-stream.create-stream-on-table.o036", + "sf.ddl.create-stream.create-stream-on-table.o037", + "sf.ddl.create-stream.create-stream-on-table.o038", + "sf.ddl.create-stream.create-stream-on-table.o039", + "sf.ddl.create-stream.create-stream-on-table.o040", + "sf.ddl.create-stream.create-stream-on-table.o041", + "sf.ddl.create-stream.create-stream-on-table.o043", + "sf.ddl.create-stream.create-stream-on-table.o044", + "sf.ddl.create-stream.create-stream-on-table.o045", + "sf.ddl.create-stream.create-stream-on-table.o046", + "sf.ddl.create-stream.create-stream-on-table.o047", + "sf.ddl.create-stream.create-stream-on-table.o048", + "sf.ddl.create-stream.create-stream-on-table.o049", + "sf.ddl.create-stream.create-stream-on-table.o050", + "sf.ddl.create-stream.create-stream-on-table.o051", + "sf.ddl.create-stream.create-stream-on-table.o052", + "sf.ddl.create-stream.create-stream-on-table.o053", + "sf.ddl.create-stream.create-stream-on-table.o054", + "sf.ddl.create-stream.create-stream-on-table.o055", + "sf.ddl.create-stream.create-stream-on-table.o056", + "sf.ddl.create-stream.create-stream-on-table.o057", "sf.ddl.create-stream.create-stream-on-table.o058", + "sf.ddl.create-stream.create-stream-on-table.o059", "sf.ddl.create-stream.create-stream-on-table.o060", "sf.ddl.create-stream.create-stream-on-table.o061", + "sf.ddl.create-stream.create-stream-on-table.o062", + "sf.ddl.create-stream.create-stream-on-table.o063", + "sf.ddl.create-stream.create-stream-on-table.o064", + "sf.ddl.create-stream.create-stream-on-table.o065", + "sf.ddl.create-stream.create-stream-on-table.o066", + "sf.ddl.create-stream.create-stream-on-table.o067", + "sf.ddl.create-stream.create-stream-on-table.o068", + "sf.ddl.create-stream.create-stream-on-table.o069", + "sf.ddl.create-stream.create-stream-on-table.o070", + "sf.ddl.create-stream.create-stream-on-table.o071", + "sf.ddl.create-stream.create-stream-on-table.o072", + "sf.ddl.create-stream.create-stream-on-table.o073", + "sf.ddl.create-stream.create-stream-on-table.o074", + "sf.ddl.create-stream.create-stream-on-table.o075", + "sf.ddl.create-stream.create-stream-on-table.o076", + "sf.ddl.create-stream.create-stream-on-table.o077", + "sf.ddl.create-stream.create-stream-on-table.o078", + "sf.ddl.create-stream.create-stream-on-table.o079", + "sf.ddl.create-stream.create-stream-on-table.o080", + "sf.ddl.create-stream.create-stream-on-table.o081", + "sf.ddl.create-stream.create-stream-on-table.o082", + "sf.ddl.create-stream.create-stream-on-table.o083", + "sf.ddl.create-stream.create-stream-on-table.o084", + "sf.ddl.create-stream.create-stream-on-table.o085", + "sf.ddl.create-stream.create-stream-on-table.o098", + "sf.ddl.create-stream.create-stream-on-table.o099", + "sf.ddl.create-stream.create-stream-on-table.o100", + "sf.ddl.create-stream.create-stream-on-table.o101", + "sf.ddl.create-stream.create-stream-on-table.o102", + "sf.ddl.create-stream.create-stream-on-view.o001", + "sf.ddl.create-stream.create-stream-on-view.o002", + "sf.ddl.create-stream.create-stream-on-view.o003", + "sf.ddl.create-stream.create-stream-on-view.o004", + "sf.ddl.create-stream.create-stream-on-view.o005", "sf.ddl.create-stream.create-stream-on-view.o006", + "sf.ddl.create-stream.create-stream-on-view.o007", "sf.ddl.create-stream.create-stream-on-view.o008", + "sf.ddl.create-stream.create-stream-on-view.o009", + "sf.ddl.create-stream.create-stream-on-view.o010", + "sf.ddl.create-stream.create-stream-on-view.o011", + "sf.ddl.create-stream.create-stream-on-view.o012", + "sf.ddl.create-stream.create-stream-on-view.o013", + "sf.ddl.create-stream.create-stream-on-view.o014", + "sf.ddl.create-stream.create-stream-on-view.o015", + "sf.ddl.create-stream.create-stream-on-view.o016", + "sf.ddl.create-stream.create-stream-on-view.o017", + "sf.ddl.create-stream.create-stream-on-view.o018", + "sf.ddl.create-stream.create-stream-on-view.o019", + "sf.ddl.create-stream.create-stream-on-view.o020", + "sf.ddl.create-stream.create-stream-on-view.o021", + "sf.ddl.create-stream.create-stream-on-view.o022", + "sf.ddl.create-stream.create-stream-on-view.o023", + "sf.ddl.create-stream.create-stream-on-view.o024", + "sf.ddl.create-stream.create-stream-on-view.o025", + "sf.ddl.create-stream.create-stream-on-view.o026", + "sf.ddl.create-stream.create-stream-on-view.o027", + "sf.ddl.create-stream.create-stream-on-view.o028", + "sf.ddl.create-stream.create-stream-on-view.o029", + "sf.ddl.create-stream.create-stream-on-view.o030", + "sf.ddl.create-stream.create-stream-on-view.o031", + "sf.ddl.create-stream.create-stream-on-view.o032", + "sf.ddl.create-stream.create-stream-on-view.o033", + "sf.ddl.create-stream.create-stream-on-view.o034", + "sf.ddl.create-stream.create-stream-on-view.o035", + "sf.ddl.create-stream.create-stream-on-view.o036", + "sf.ddl.create-stream.create-stream-on-view.o037", + "sf.ddl.create-stream.create-stream-on-view.o038", + "sf.ddl.create-stream.create-stream-on-view.o039", + "sf.ddl.create-stream.create-stream-on-view.o040", + "sf.ddl.create-stream.create-stream-on-view.o041", + "sf.ddl.create-stream.create-stream-on-view.o043", + "sf.ddl.create-stream.create-stream-on-view.o044", + "sf.ddl.create-stream.create-stream-on-view.o045", + "sf.ddl.create-stream.create-stream-on-view.o046", + "sf.ddl.create-stream.create-stream-on-view.o047", + "sf.ddl.create-stream.create-stream-on-view.o048", + "sf.ddl.create-stream.create-stream-on-view.o049", + "sf.ddl.create-stream.create-stream-on-view.o050", + "sf.ddl.create-stream.create-stream-on-view.o051", + "sf.ddl.create-stream.create-stream-on-view.o052", + "sf.ddl.create-stream.create-stream-on-view.o053", + "sf.ddl.create-stream.create-stream-on-view.o054", + "sf.ddl.create-stream.create-stream-on-view.o055", + "sf.ddl.create-stream.create-stream-on-view.o056", + "sf.ddl.create-stream.create-stream-on-view.o057", "sf.ddl.create-stream.create-stream-on-view.o058", + "sf.ddl.create-stream.create-stream-on-view.o059", "sf.ddl.create-stream.create-stream-on-view.o060", "sf.ddl.create-stream.create-stream-on-view.o061", + "sf.ddl.create-stream.create-stream-on-view.o062", + "sf.ddl.create-stream.create-stream-on-view.o063", + "sf.ddl.create-stream.create-stream-on-view.o064", + "sf.ddl.create-stream.create-stream-on-view.o065", + "sf.ddl.create-stream.create-stream-on-view.o066", + "sf.ddl.create-stream.create-stream-on-view.o067", + "sf.ddl.create-stream.create-stream-on-view.o068", + "sf.ddl.create-stream.create-stream-on-view.o069", + "sf.ddl.create-stream.create-stream-on-view.o070", + "sf.ddl.create-stream.create-stream-on-view.o071", + "sf.ddl.create-stream.create-stream-on-view.o072", + "sf.ddl.create-stream.create-stream-on-view.o073", + "sf.ddl.create-stream.create-stream-on-view.o074", + "sf.ddl.create-stream.create-stream-on-view.o075", + "sf.ddl.create-stream.create-stream-on-view.o076", + "sf.ddl.create-stream.create-stream-on-view.o077", + "sf.ddl.create-stream.create-stream-on-view.o078", + "sf.ddl.create-stream.create-stream-on-view.o079", + "sf.ddl.create-stream.create-stream-on-view.o080", + "sf.ddl.create-stream.create-stream-on-view.o081", + "sf.ddl.create-stream.create-stream-on-view.o082", + "sf.ddl.create-stream.create-stream-on-view.o083", + "sf.ddl.create-stream.create-stream-on-view.o084", + "sf.ddl.create-stream.create-stream-on-view.o085", + "sf.ddl.create-stream.create-stream-on-view.o098", + "sf.ddl.create-stream.create-stream-on-view.o099", + "sf.ddl.create-stream.create-stream-on-view.o100", + "sf.ddl.create-stream.create-stream-on-view.o101", + "sf.ddl.create-stream.create-stream-on-view.o102", + "sf.ddl.create-stream.define-stream.o001", "sf.ddl.create-stream.define-stream.o002", + "sf.ddl.create-stream.define-stream.o003", "sf.ddl.create-stream.define-stream.o004", "sf.ddl.create-stream.define-stream.o005", + "sf.ddl.create-stream.define-stream.o006", "sf.ddl.create-stream.define-stream.o007", + "sf.ddl.create-stream.define-stream.o008", + "sf.ddl.create-stream.define-stream.o009", + "sf.ddl.create-stream.define-stream.o010", + "sf.ddl.create-stream.define-stream.o011", + "sf.ddl.create-stream.define-stream.o012", + "sf.ddl.create-stream.define-stream.o013", + "sf.ddl.create-stream.define-stream.o014", + "sf.ddl.create-stream.define-stream.o015", + "sf.ddl.create-stream.define-stream.o016", + "sf.ddl.create-stream.define-stream.o017", "sf.ddl.create-stream.define-stream.o018", + "sf.ddl.create-stream.define-stream.o019", + "sf.ddl.create-stream.define-stream.o020", "sf.ddl.create-stream.define-stream.o021", "sf.ddl.create-stream.define-stream.o022", "sf.ddl.create-stream.define-stream.o023", "sf.ddl.create-stream.define-stream.o024", "sf.ddl.create-stream.define-stream.o025", + "sf.ddl.create-stream.define-stream.o026", "sf.ddl.create-streamlit.create-streamlit.o006", "sf.ddl.create-streamlit.create-streamlit.o066", "sf.ddl.create-streamlit.create-streamlit.o067", @@ -36284,6 +37487,7 @@ "sf.ddl.create-view.create-or-alter-view.o005", "sf.ddl.create-view.create-or-alter-view.o006", "sf.ddl.create-view.create-or-alter-view.o007", + "sf.ddl.create-view.create-or-alter-view.o008", "sf.ddl.create-view.create-or-alter-view.o010", "sf.ddl.create-view.create-or-alter-view.o011", "sf.ddl.create-view.create-or-alter-view.o012", @@ -36295,8 +37499,11 @@ "sf.ddl.create-view.create-or-alter-view.o020", "sf.ddl.create-view.create-or-alter-view.o022", "sf.ddl.create-view.create-or-alter-view.o024", + "sf.ddl.create-view.create-or-alter-view.o025", + "sf.ddl.create-view.create-or-alter-view.o026", "sf.ddl.create-view.create-or-alter-view.o028", "sf.ddl.create-view.create-or-alter-view.o029", + "sf.ddl.create-view.create-or-alter-view.o031", "sf.ddl.create-view.create-or-alter-view.o032", "sf.ddl.create-view.create-or-alter-view.o034", "sf.ddl.create-view.create-or-alter-view.o035", @@ -36314,8 +37521,10 @@ "sf.ddl.create-view.create-or-alter-view.o059", "sf.ddl.create-view.create-or-alter-view.o060", "sf.ddl.create-view.create-or-alter-view.o061", + "sf.ddl.create-view.create-or-alter-view.o062", "sf.ddl.create-view.create-or-alter-view.o063", "sf.ddl.create-view.create-or-alter-view.o064", + "sf.ddl.create-view.create-or-alter-view.o065", "sf.ddl.create-view.create-or-alter-view.o066", "sf.ddl.create-view.create-or-alter-view.o067", "sf.ddl.create-view.create-view-as.o001", @@ -36324,6 +37533,7 @@ "sf.ddl.create-view.create-view-as.o007", "sf.ddl.create-view.create-view-as.o008", "sf.ddl.create-view.create-view-as.o009", + "sf.ddl.create-view.create-view-as.o010", "sf.ddl.create-view.create-view-as.o012", "sf.ddl.create-view.create-view-as.o013", "sf.ddl.create-view.create-view-as.o014", @@ -36364,13 +37574,21 @@ "sf.ddl.create-view.create-view-as.o081", "sf.ddl.create-view.create-view-as.o083", "sf.ddl.create-view.create-view-as.o084", + "sf.ddl.create-view.create-view-as.o086", "sf.ddl.create-view.create-view-as.o088", "sf.ddl.create-view.create-view-as.o090", + "sf.ddl.create-view.create-view-as.o091", + "sf.ddl.create-view.create-view-as.o092", "sf.ddl.create-view.create-view-as.o094", "sf.ddl.create-view.create-view-as.o096", "sf.ddl.create-view.create-view-as.o098", + "sf.ddl.create-view.create-view-as.o099", + "sf.ddl.create-view.create-view-as.o100", + "sf.ddl.create-view.create-view-as.o101", + "sf.ddl.create-view.create-view-as.o103", "sf.ddl.create-view.create-view-as.o105", "sf.ddl.create-view.create-view-as.o106", + "sf.ddl.create-view.create-view-as.o108", "sf.ddl.create-view.create-view-as.o110", "sf.ddl.create-view.create-view-as.o112", "sf.ddl.create-view.create-view-as.o113", @@ -36378,25 +37596,33 @@ "sf.ddl.create-view.create-view-as.o118", "sf.ddl.create-view.create-view-as.o120", "sf.ddl.create-view.create-view-as.o122", + "sf.ddl.create-view.create-view-as.o124", "sf.ddl.create-view.create-view-as.o125", "sf.ddl.create-view.create-view-as.o127", + "sf.ddl.create-view.create-view-as.o129", "sf.ddl.create-view.create-view-as.o130", "sf.ddl.create-view.create-view-as.o132", + "sf.ddl.create-view.create-view-as.o134", "sf.ddl.create-view.create-view-as.o136", + "sf.ddl.create-view.create-view-as.o138", "sf.ddl.create-view.create-view-as.o139", "sf.ddl.create-view.create-view-as.o141", + "sf.ddl.create-view.create-view-as.o143", "sf.ddl.create-view.create-view-as.o144", "sf.ddl.create-view.create-view-as.o146", + "sf.ddl.create-view.create-view-as.o148", "sf.ddl.create-view.create-view-as.o150", "sf.ddl.create-view.create-view-as.o152", "sf.ddl.create-view.create-view-as.o153", "sf.ddl.create-view.create-view-as.o155", "sf.ddl.create-view.create-view-as.o156", + "sf.ddl.create-view.create-view-as.o158", "sf.ddl.create-view.create-view-as.o160", "sf.ddl.create-view.create-view-as.o162", "sf.ddl.create-view.create-view-as.o163", "sf.ddl.create-view.create-view-as.o165", "sf.ddl.create-view.create-view-as.o167", + "sf.ddl.create-view.create-view-as.o169", "sf.ddl.create-view.create-view-as.o170", "sf.ddl.create-view.create-view-as.o172", "sf.ddl.create-view.create-view-as.o173", @@ -36425,6 +37651,7 @@ "sf.ddl.create-view.create-view-as.o196", "sf.ddl.create-view.create-view-as.o197", "sf.ddl.create-view.create-view-as.o198", + "sf.ddl.create-view.create-view-as.o199", "sf.ddl.create-view.create-view-as.o200", "sf.ddl.create-view.create-view-as.o201", "sf.ddl.create-view.create-view-as.o202", @@ -36456,16 +37683,20 @@ "sf.ddl.create-view.create-view-as.o229", "sf.ddl.create-view.create-view-as.o240", "sf.ddl.create-view.create-view-as.o241", + "sf.ddl.create-view.create-view-as.o242", + "sf.ddl.create-view.create-view-as.o243", "sf.ddl.create-view.create-view-as.o245", "sf.ddl.create-view.create-view-as.o246", "sf.ddl.create-view.create-view-as.o247", "sf.ddl.create-view.create-view-as.o248", "sf.ddl.create-view.create-view-as.o249", "sf.ddl.create-view.create-view-as.o250", + "sf.ddl.create-view.create-view-as.o326", "sf.ddl.create-view.create-view-as.o334", "sf.ddl.create-view.create-view-as.o335", "sf.ddl.create-view.create-view-as.o336", "sf.ddl.create-view.create-view-as.o337", + "sf.ddl.create-view.create-view-as.o338", "sf.ddl.create-view.create-view-as.o339", "sf.ddl.create-view.create-view-as.o340", "sf.ddl.create-view.create-view-as.o341", @@ -36475,10 +37706,15 @@ "sf.ddl.create-view.create-view-as.o365", "sf.ddl.create-view.create-view-as.o366", "sf.ddl.create-view.create-view-as.o367", + "sf.ddl.create-view.create-view-as.o368", "sf.ddl.create-view.create-view-as.o369", "sf.ddl.create-view.create-view-as.o370", "sf.ddl.create-view.create-view-as.o371", + "sf.ddl.create-view.create-view-as.o372", "sf.ddl.create-view.create-view-as.o373", + "sf.ddl.create-view.create-view-as.o374", + "sf.ddl.create-view.create-view-as.o375", + "sf.ddl.create-view.create-view-as.o376", "sf.ddl.create-view.create-view-as.o377", "sf.ddl.create-view.create-view-as.o378", "sf.ddl.create-view.create-view-as.o379", @@ -36486,10 +37722,27 @@ "sf.ddl.create-view.create-view-as.o381", "sf.ddl.create-view.create-view-as.o382", "sf.ddl.create-view.create-view-as.o383", + "sf.ddl.create-view.create-view-as.o384", + "sf.ddl.create-view.create-view-as.o385", + "sf.ddl.create-view.create-view-as.o386", + "sf.ddl.create-view.create-view-as.o387", + "sf.ddl.create-view.create-view-as.o388", + "sf.ddl.create-view.create-view-as.o389", + "sf.ddl.create-view.create-view-as.o390", + "sf.ddl.create-view.create-view-as.o391", + "sf.ddl.create-view.create-view-as.o392", + "sf.ddl.create-view.create-view-as.o393", + "sf.ddl.create-view.create-view-as.o394", + "sf.ddl.create-view.create-view-as.o395", "sf.ddl.create-view.create-view-as.o396", + "sf.ddl.create-view.create-view-as.o397", "sf.ddl.create-view.create-view-as.o398", "sf.ddl.create-view.create-view-as.o399", "sf.ddl.create-view.create-view-as.o400", + "sf.ddl.create-view.create-view-as.o401", + "sf.ddl.create-view.create-view-as.o402", + "sf.ddl.create-view.create-view-as.o403", + "sf.ddl.create-view.create-view-as.o404", "sf.ddl.create-view.create-view-as.o436", "sf.ddl.create-view.create-view-as.o437", "sf.ddl.create-view.create-view-as.o448", @@ -36504,8 +37757,11 @@ "sf.ddl.create-view.define-view.o020", "sf.ddl.create-view.define-view.o022", "sf.ddl.create-view.define-view.o024", + "sf.ddl.create-view.define-view.o025", + "sf.ddl.create-view.define-view.o026", "sf.ddl.create-view.define-view.o028", "sf.ddl.create-view.define-view.o029", + "sf.ddl.create-view.define-view.o031", "sf.ddl.create-view.define-view.o032", "sf.ddl.create-view.define-view.o033", "sf.ddl.create-view.define-view.o034", @@ -85320,12 +86576,14 @@ "sf.ddl.alter-materialized-view.rename-to-cluster-by.k7a29b96bb90d", "sf.ddl.alter-materialized-view.rename-to-cluster-by.k90bf587d9547", "sf.ddl.alter-materialized-view.rename-to-cluster-by.k94dd110d7a7d", + "sf.ddl.alter-materialized-view.rename-to-cluster-by.ka1e3b1dca17f", "sf.ddl.alter-materialized-view.rename-to-cluster-by.kb63ee4336fe7", "sf.ddl.alter-materialized-view.rename-to-cluster-by.kc19e2bc5a65e", "sf.ddl.alter-materialized-view.rename-to-cluster-by.kee4d12f58542", "sf.ddl.alter-materialized-view.rename-to-cluster-by.kfc534c117626", "sf.ddl.alter-materialized-view.set-data-metric-schedule.k16f38fa6f7f5", "sf.ddl.alter-materialized-view.set-data-metric-schedule.k26773ed85d3d", + "sf.ddl.alter-materialized-view.set-data-metric-schedule.k9e7d88f2b93d", "sf.ddl.alter-materialized-view.set-data-metric-schedule.kaee2ca3ede9e", "sf.ddl.alter-materialized-view.set-data-metric-schedule.kfc0d30658209", "sf.ddl.alter-materialized-view.unset-data-metric-schedule.k2fad45d1ce27", @@ -87311,9 +88569,11 @@ "sf.ddl.alter-view.datagovnpolicytagaction.k5d6285424731", "sf.ddl.alter-view.datagovnpolicytagaction.k5f90bad798af", "sf.ddl.alter-view.datagovnpolicytagaction.k5fb23a24cae9", + "sf.ddl.alter-view.datagovnpolicytagaction.k6a28030d5461", "sf.ddl.alter-view.datagovnpolicytagaction.k7403d40e87c0", "sf.ddl.alter-view.datagovnpolicytagaction.k769afa41cbc6", "sf.ddl.alter-view.datagovnpolicytagaction.k7c0403d4f17b", + "sf.ddl.alter-view.datagovnpolicytagaction.k8199d9f78b90", "sf.ddl.alter-view.datagovnpolicytagaction.k8461d4c09471", "sf.ddl.alter-view.datagovnpolicytagaction.k84c006a2c318", "sf.ddl.alter-view.datagovnpolicytagaction.k85261c8aadc7", @@ -87346,6 +88606,7 @@ "sf.ddl.alter-view.datagovnpolicytagaction.kfbf8b5dd85d9", "sf.ddl.alter-view.datagovnpolicytagaction.kfde5b35c1695", "sf.ddl.alter-view.datagovnpolicytagaction.kffc74dd870aa", + "sf.ddl.alter-view.datametricfunctionaction.k0425e380fde3", "sf.ddl.alter-view.datametricfunctionaction.k08dee8b66e81", "sf.ddl.alter-view.datametricfunctionaction.k1a36196a90cb", "sf.ddl.alter-view.datametricfunctionaction.k1b92fa6c5b0d", @@ -87360,15 +88621,19 @@ "sf.ddl.alter-view.datametricfunctionaction.k2fd41d021b99", "sf.ddl.alter-view.datametricfunctionaction.k3467f091dcac", "sf.ddl.alter-view.datametricfunctionaction.k37778528ebab", + "sf.ddl.alter-view.datametricfunctionaction.k37de96955168", "sf.ddl.alter-view.datametricfunctionaction.k3ced981dc527", "sf.ddl.alter-view.datametricfunctionaction.k3cf1abe3cb8a", "sf.ddl.alter-view.datametricfunctionaction.k41caabe52370", "sf.ddl.alter-view.datametricfunctionaction.k44ada2e0c307", + "sf.ddl.alter-view.datametricfunctionaction.k4df9591e89a0", "sf.ddl.alter-view.datametricfunctionaction.k4f5cc219b5a0", "sf.ddl.alter-view.datametricfunctionaction.k55cea784080d", "sf.ddl.alter-view.datametricfunctionaction.k5a49bfb4125c", "sf.ddl.alter-view.datametricfunctionaction.k5d20069a4747", + "sf.ddl.alter-view.datametricfunctionaction.k62f17d458313", "sf.ddl.alter-view.datametricfunctionaction.k659218943def", + "sf.ddl.alter-view.datametricfunctionaction.k68782e0b36b0", "sf.ddl.alter-view.datametricfunctionaction.k6c6da8592b36", "sf.ddl.alter-view.datametricfunctionaction.k70baa3e41ed6", "sf.ddl.alter-view.datametricfunctionaction.k72fe3754b371", @@ -87405,6 +88670,7 @@ "sf.ddl.alter-view.datametricfunctionaction.kd8857e142954", "sf.ddl.alter-view.datametricfunctionaction.ke029bf7f6a6b", "sf.ddl.alter-view.datametricfunctionaction.ke346217f78cc", + "sf.ddl.alter-view.datametricfunctionaction.kf635a6dbf972", "sf.ddl.alter-view.datametricfunctionaction.kf66b018b7580", "sf.ddl.alter-view.datametricfunctionaction.kf7189b721f32", "sf.ddl.alter-view.datametricfunctionaction.kf9cb45fcd057", @@ -87416,13 +88682,27 @@ "sf.ddl.alter-view.rename-to.ka22491ffeb44", "sf.ddl.alter-view.rename-to.kf76de2d86b2b", "sf.ddl.alter-view.rename-to.kfd56fbaf81bc", + "sf.ddl.alter-view.set.k3d8e04f98d46", + "sf.ddl.alter-view.set.k807005942229", + "sf.ddl.alter-view.set.k8fd6002a7cd1", + "sf.ddl.alter-view.set.k9965db81144b", "sf.ddl.alter-view.set.kab0a4773d30e", + "sf.ddl.alter-view.set.kb13e8adea26f", "sf.ddl.alter-view.set.kbb80b933d68a", + "sf.ddl.alter-view.set.kbea38ebf94b1", "sf.ddl.alter-view.set.kd474db2b599f", + "sf.ddl.alter-view.set.kd4bbc7d5b27c", "sf.ddl.alter-view.set.kd680b0c27716", "sf.ddl.alter-view.set.kde93e579b67a", + "sf.ddl.alter-view.set.ke6453531214c", + "sf.ddl.alter-view.unset.k1d81df43ddac", + "sf.ddl.alter-view.unset.k2a1878599876", "sf.ddl.alter-view.unset.k77b18f622143", "sf.ddl.alter-view.unset.k79eee0e9cbc9", + "sf.ddl.alter-view.unset.k9f80b274f6f4", + "sf.ddl.alter-view.unset.kba8fb112aa93", + "sf.ddl.alter-view.unset.ke7601ff06a1b", + "sf.ddl.alter-view.unset.keb56951e89c0", "sf.ddl.alter-warehouse.abort-all-queries.k2e6dbf23b41e", "sf.ddl.alter-warehouse.abort-all-queries.k671f414dd33b", "sf.ddl.alter-warehouse.abort-all-queries.k8dd7747d3dc2", @@ -90628,27 +91908,42 @@ "sf.ddl.create-listing.from.kc921682ce2bf", "sf.ddl.create-listing.from.kcea1aae81574", "sf.ddl.create-materialized-view.k055ba3e7a0a3", + "sf.ddl.create-materialized-view.k068a869892ad", + "sf.ddl.create-materialized-view.k07f196df027c", "sf.ddl.create-materialized-view.k0e3ffcc196d5", + "sf.ddl.create-materialized-view.k1274ddbf7b7c", "sf.ddl.create-materialized-view.k19b91d5132b1", "sf.ddl.create-materialized-view.k1e8093f71fc1", + "sf.ddl.create-materialized-view.k21f6392f5b32", "sf.ddl.create-materialized-view.k23366745ecb9", + "sf.ddl.create-materialized-view.k26e84221b680", + "sf.ddl.create-materialized-view.k2b64d7aa1873", "sf.ddl.create-materialized-view.k32fa48303f46", "sf.ddl.create-materialized-view.k41ad17afbbb5", + "sf.ddl.create-materialized-view.k4563b56a0390", "sf.ddl.create-materialized-view.k631aab8bf28a", "sf.ddl.create-materialized-view.k648cdd77b14e", "sf.ddl.create-materialized-view.k65271c5ef845", "sf.ddl.create-materialized-view.k6da24fd38095", "sf.ddl.create-materialized-view.k7ba9525f4c86", + "sf.ddl.create-materialized-view.k89552fa78153", "sf.ddl.create-materialized-view.k95d9e20a1798", + "sf.ddl.create-materialized-view.k9d3f2d53cc62", "sf.ddl.create-materialized-view.ka1968bdb0046", "sf.ddl.create-materialized-view.kb2086255b922", + "sf.ddl.create-materialized-view.kb6202a4d7a3c", + "sf.ddl.create-materialized-view.kb884595a4c19", "sf.ddl.create-materialized-view.kb94f17067907", "sf.ddl.create-materialized-view.kb9551890cb26", + "sf.ddl.create-materialized-view.kbf98e371c202", "sf.ddl.create-materialized-view.kd6ed30b28a22", "sf.ddl.create-materialized-view.kdb09e21a6d25", + "sf.ddl.create-materialized-view.kdd23cfc29dbe", "sf.ddl.create-materialized-view.ke39f71ef9499", "sf.ddl.create-materialized-view.kec2a21ed0007", "sf.ddl.create-materialized-view.kecd8804cd501", + "sf.ddl.create-materialized-view.kee1611f4c8d6", + "sf.ddl.create-materialized-view.kee393665ccc1", "sf.ddl.create-materialized-view.keec74ab23098", "sf.ddl.create-materialized-view.kfbdb67172933", "sf.ddl.create-mcp-server.k1ca7beb55f96", @@ -91713,6 +93008,87 @@ "sf.ddl.create-semantic-view.create-semantic-view-tables.kf5441c331cf8", "sf.ddl.create-semantic-view.create-semantic-view-tables.kfc103ed5afe5", "sf.ddl.create-semantic-view.create-semantic-view-tables.kfd37e6fb6260", + "sf.ddl.create-semantic-view.define-semantic-view.k0093ea7e6ec7", + "sf.ddl.create-semantic-view.define-semantic-view.k043e8b62ab94", + "sf.ddl.create-semantic-view.define-semantic-view.k079a457fe7c6", + "sf.ddl.create-semantic-view.define-semantic-view.k0e220c0f8d15", + "sf.ddl.create-semantic-view.define-semantic-view.k0f3423a436ff", + "sf.ddl.create-semantic-view.define-semantic-view.k1d00a793f513", + "sf.ddl.create-semantic-view.define-semantic-view.k1f39b7f9725a", + "sf.ddl.create-semantic-view.define-semantic-view.k2a0b7f4b485c", + "sf.ddl.create-semantic-view.define-semantic-view.k2ff6eccd2c68", + "sf.ddl.create-semantic-view.define-semantic-view.k31de928a4563", + "sf.ddl.create-semantic-view.define-semantic-view.k35ad09ea7823", + "sf.ddl.create-semantic-view.define-semantic-view.k36e0c053a47a", + "sf.ddl.create-semantic-view.define-semantic-view.k386d51c05559", + "sf.ddl.create-semantic-view.define-semantic-view.k390043819ce4", + "sf.ddl.create-semantic-view.define-semantic-view.k3abfec20baff", + "sf.ddl.create-semantic-view.define-semantic-view.k3bdeffb3d6a5", + "sf.ddl.create-semantic-view.define-semantic-view.k40ffeaa0091e", + "sf.ddl.create-semantic-view.define-semantic-view.k42b3470e1ca8", + "sf.ddl.create-semantic-view.define-semantic-view.k42cddb6095e5", + "sf.ddl.create-semantic-view.define-semantic-view.k44850cc26b19", + "sf.ddl.create-semantic-view.define-semantic-view.k4541102fe97e", + "sf.ddl.create-semantic-view.define-semantic-view.k482423d06677", + "sf.ddl.create-semantic-view.define-semantic-view.k4d6ebcbe3489", + "sf.ddl.create-semantic-view.define-semantic-view.k54a9f3e72b90", + "sf.ddl.create-semantic-view.define-semantic-view.k54ce7563b41b", + "sf.ddl.create-semantic-view.define-semantic-view.k552981de78fb", + "sf.ddl.create-semantic-view.define-semantic-view.k574b680aeb4b", + "sf.ddl.create-semantic-view.define-semantic-view.k61f920bf5902", + "sf.ddl.create-semantic-view.define-semantic-view.k64c3ae4a9e9f", + "sf.ddl.create-semantic-view.define-semantic-view.k64f8c4affc7d", + "sf.ddl.create-semantic-view.define-semantic-view.k652c19eae799", + "sf.ddl.create-semantic-view.define-semantic-view.k682d7b69f793", + "sf.ddl.create-semantic-view.define-semantic-view.k6dd9ad3e821e", + "sf.ddl.create-semantic-view.define-semantic-view.k7694d2df8279", + "sf.ddl.create-semantic-view.define-semantic-view.k7fe7281ba191", + "sf.ddl.create-semantic-view.define-semantic-view.k82d10c874f0f", + "sf.ddl.create-semantic-view.define-semantic-view.k87735d163d75", + "sf.ddl.create-semantic-view.define-semantic-view.k88b6234a0197", + "sf.ddl.create-semantic-view.define-semantic-view.k893c9628597c", + "sf.ddl.create-semantic-view.define-semantic-view.k8969d27b5ef3", + "sf.ddl.create-semantic-view.define-semantic-view.k8a384e593a0f", + "sf.ddl.create-semantic-view.define-semantic-view.k8b310ca1a5d4", + "sf.ddl.create-semantic-view.define-semantic-view.k8f7bd0591c39", + "sf.ddl.create-semantic-view.define-semantic-view.k9046f52fd17a", + "sf.ddl.create-semantic-view.define-semantic-view.k9051d495b622", + "sf.ddl.create-semantic-view.define-semantic-view.k923f7cfb339a", + "sf.ddl.create-semantic-view.define-semantic-view.k946799d99c67", + "sf.ddl.create-semantic-view.define-semantic-view.k964bb0cabfc6", + "sf.ddl.create-semantic-view.define-semantic-view.k9aad3ed241e6", + "sf.ddl.create-semantic-view.define-semantic-view.k9ae307b2ac76", + "sf.ddl.create-semantic-view.define-semantic-view.k9c62060dbf27", + "sf.ddl.create-semantic-view.define-semantic-view.k9d8a7cb39002", + "sf.ddl.create-semantic-view.define-semantic-view.ka17ee18d50e3", + "sf.ddl.create-semantic-view.define-semantic-view.ka7a45ac8a0a9", + "sf.ddl.create-semantic-view.define-semantic-view.kb04fc5da0d04", + "sf.ddl.create-semantic-view.define-semantic-view.kb112a33830af", + "sf.ddl.create-semantic-view.define-semantic-view.kb5157928382b", + "sf.ddl.create-semantic-view.define-semantic-view.kb85f7a025938", + "sf.ddl.create-semantic-view.define-semantic-view.kba476f5f20e0", + "sf.ddl.create-semantic-view.define-semantic-view.kbc44b093b19d", + "sf.ddl.create-semantic-view.define-semantic-view.kbfeec52e211f", + "sf.ddl.create-semantic-view.define-semantic-view.kc20ff6f44413", + "sf.ddl.create-semantic-view.define-semantic-view.kc283a16ebfff", + "sf.ddl.create-semantic-view.define-semantic-view.kc3da0c050eff", + "sf.ddl.create-semantic-view.define-semantic-view.kc6410d01841a", + "sf.ddl.create-semantic-view.define-semantic-view.kcd4c7582ac80", + "sf.ddl.create-semantic-view.define-semantic-view.kcf0e0b37ead2", + "sf.ddl.create-semantic-view.define-semantic-view.kd95758a1ad31", + "sf.ddl.create-semantic-view.define-semantic-view.kddbe687b9730", + "sf.ddl.create-semantic-view.define-semantic-view.kddee89ec8e14", + "sf.ddl.create-semantic-view.define-semantic-view.ke050d08786b5", + "sf.ddl.create-semantic-view.define-semantic-view.ke2bbdd025d4f", + "sf.ddl.create-semantic-view.define-semantic-view.ke3d08a6bd098", + "sf.ddl.create-semantic-view.define-semantic-view.ke3ef917aeba5", + "sf.ddl.create-semantic-view.define-semantic-view.ke590bc77d882", + "sf.ddl.create-semantic-view.define-semantic-view.ke747ddeea0e6", + "sf.ddl.create-semantic-view.define-semantic-view.kf02ee43bc3e4", + "sf.ddl.create-semantic-view.define-semantic-view.kf6f0d8a75b71", + "sf.ddl.create-semantic-view.define-semantic-view.kf7d84864002f", + "sf.ddl.create-semantic-view.define-semantic-view.kfa9b6e9b0578", + "sf.ddl.create-semantic-view.define-semantic-view.kfef957307859", "sf.ddl.create-sequence.create-or-alter-sequence.k060f3f8351c8", "sf.ddl.create-sequence.create-or-alter-sequence.k16da294de12b", "sf.ddl.create-sequence.create-or-alter-sequence.k342f9183a2fe", @@ -93402,6 +94778,13 @@ "sf.ddl.create-stream.create-stream-on-view.kca8478f57c59", "sf.ddl.create-stream.create-stream-on-view.kcf2a287cb930", "sf.ddl.create-stream.create-stream-on-view.kd32bed584065", + "sf.ddl.create-stream.define-stream.k2e7bb95f9c9b", + "sf.ddl.create-stream.define-stream.k446a2e5c880b", + "sf.ddl.create-stream.define-stream.k5bb1c4be674b", + "sf.ddl.create-stream.define-stream.k6b5d4a0043dd", + "sf.ddl.create-stream.define-stream.kbe7045be39a1", + "sf.ddl.create-stream.define-stream.kc008a70c4934", + "sf.ddl.create-stream.define-stream.ke5a3d15f8a0c", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k0c3a71efac7c", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k12e4e28eb10d", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k2c0e3d8a0499", @@ -94290,6 +95673,7 @@ "sf.ddl.create-view.create-or-alter-view.k88e4eeabe468", "sf.ddl.create-view.create-or-alter-view.k9267aac8c6fb", "sf.ddl.create-view.create-or-alter-view.k95fd1996d013", + "sf.ddl.create-view.create-or-alter-view.ka420eb594321", "sf.ddl.create-view.create-or-alter-view.ka5354d024434", "sf.ddl.create-view.create-or-alter-view.kb4bd4da3154a", "sf.ddl.create-view.create-or-alter-view.kbeabbd0759ca", @@ -94301,42 +95685,66 @@ "sf.ddl.create-view.create-view-as.k01aa85de41c1", "sf.ddl.create-view.create-view-as.k02fa958dbab8", "sf.ddl.create-view.create-view-as.k094e9567ee4c", + "sf.ddl.create-view.create-view-as.k097cd4cbb9d7", + "sf.ddl.create-view.create-view-as.k0dba40eb606a", "sf.ddl.create-view.create-view-as.k10199e4c8722", "sf.ddl.create-view.create-view-as.k1198a33a993a", + "sf.ddl.create-view.create-view-as.k1e1cbbbc134e", + "sf.ddl.create-view.create-view-as.k20d074e12fd0", "sf.ddl.create-view.create-view-as.k27be91d0639f", "sf.ddl.create-view.create-view-as.k2858a3b7c4ce", + "sf.ddl.create-view.create-view-as.k33eee4e21b6b", + "sf.ddl.create-view.create-view-as.k37cd631f3951", "sf.ddl.create-view.create-view-as.k38478658a936", "sf.ddl.create-view.create-view-as.k3e1e29c74d81", "sf.ddl.create-view.create-view-as.k3e9d2a83b432", + "sf.ddl.create-view.create-view-as.k494fa172a61b", + "sf.ddl.create-view.create-view-as.k4af736719289", + "sf.ddl.create-view.create-view-as.k4b1e7aba2b28", + "sf.ddl.create-view.create-view-as.k4feda181d303", "sf.ddl.create-view.create-view-as.k517e4a116a21", "sf.ddl.create-view.create-view-as.k5ba20d1b95ec", + "sf.ddl.create-view.create-view-as.k5e34c237aa0d", "sf.ddl.create-view.create-view-as.k6e5da9c054dc", + "sf.ddl.create-view.create-view-as.k6f614fa52cdf", "sf.ddl.create-view.create-view-as.k7636992b3e35", + "sf.ddl.create-view.create-view-as.k79ca58b8cc0a", "sf.ddl.create-view.create-view-as.k85b98981e8da", "sf.ddl.create-view.create-view-as.k8653f4156d13", "sf.ddl.create-view.create-view-as.k898fd2606766", "sf.ddl.create-view.create-view-as.k8bbee051dfef", "sf.ddl.create-view.create-view-as.k8d06ef6a3028", + "sf.ddl.create-view.create-view-as.k8e8e7bd2fc34", + "sf.ddl.create-view.create-view-as.k8fd5356f99b5", "sf.ddl.create-view.create-view-as.k9f11ac15f158", "sf.ddl.create-view.create-view-as.ka1fa0066fac2", "sf.ddl.create-view.create-view-as.ka29ad4bcc547", + "sf.ddl.create-view.create-view-as.kaf7b2977f6ec", "sf.ddl.create-view.create-view-as.kb1329a329c0b", "sf.ddl.create-view.create-view-as.kb55d13147a83", + "sf.ddl.create-view.create-view-as.kb560ec54ef28", "sf.ddl.create-view.create-view-as.kbcfdce5cf9a4", "sf.ddl.create-view.create-view-as.kbfbd9d39cad1", "sf.ddl.create-view.create-view-as.kc4b56a64b163", + "sf.ddl.create-view.create-view-as.kc505cc99758d", + "sf.ddl.create-view.create-view-as.kc686fb9af11d", "sf.ddl.create-view.create-view-as.kca1c21915941", "sf.ddl.create-view.create-view-as.kcdf70b16f1ba", + "sf.ddl.create-view.create-view-as.kd1186079b462", + "sf.ddl.create-view.create-view-as.kd97eacc4d229", "sf.ddl.create-view.create-view-as.ke4a739c7fda6", "sf.ddl.create-view.create-view-as.kefdaea965e44", "sf.ddl.create-view.create-view-as.kf13b55c03c99", "sf.ddl.create-view.create-view-as.kfc82c6236855", "sf.ddl.create-view.define-view.k04bd3e2cc92a", + "sf.ddl.create-view.define-view.k131a9f3e75f6", "sf.ddl.create-view.define-view.k17e5d24277b7", "sf.ddl.create-view.define-view.k28b37fd58cd0", + "sf.ddl.create-view.define-view.k637aee0bc387", "sf.ddl.create-view.define-view.k8989b2dce85e", "sf.ddl.create-view.define-view.k92978fde299a", "sf.ddl.create-view.define-view.k98910632ff62", + "sf.ddl.create-view.define-view.k9c5a66cd7336", "sf.ddl.create-view.define-view.keb623b93b4d5", "sf.ddl.create-warehouse.create-or-alter-warehouse.k04f507667dba", "sf.ddl.create-warehouse.create-or-alter-warehouse.k0a97745ec4c1", @@ -109357,8 +110765,6 @@ "sf.ddl.alter-dynamic-table.set.ke91c22962d91", "sf.ddl.alter-external-volume.set-allow-writes-true-false.k1043b085dfad", "sf.ddl.alter-external-volume.set-comment.k55283f91e8bc", - "sf.ddl.alter-materialized-view.rename-to-cluster-by.ka1e3b1dca17f", - "sf.ddl.alter-materialized-view.set-data-metric-schedule.k9e7d88f2b93d", "sf.ddl.alter-online-feature-table.table-set-comment.ke7fec7c4938e", "sf.ddl.alter-online-feature-table.table-set.k56f6bb4df5ba", "sf.ddl.alter-schema.set.kac592c009c45", @@ -109375,28 +110781,6 @@ "sf.ddl.alter-stage.set.syntax.kd30e04e36906", "sf.ddl.alter-streamlit.set.k6c26d910a22f", "sf.ddl.alter-streamlit.set.kbf77fd1dc039", - "sf.ddl.alter-view.datagovnpolicytagaction.k6a28030d5461", - "sf.ddl.alter-view.datagovnpolicytagaction.k8199d9f78b90", - "sf.ddl.alter-view.datametricfunctionaction.k0425e380fde3", - "sf.ddl.alter-view.datametricfunctionaction.k37de96955168", - "sf.ddl.alter-view.datametricfunctionaction.k4df9591e89a0", - "sf.ddl.alter-view.datametricfunctionaction.k62f17d458313", - "sf.ddl.alter-view.datametricfunctionaction.k68782e0b36b0", - "sf.ddl.alter-view.datametricfunctionaction.kf635a6dbf972", - "sf.ddl.alter-view.set.k3d8e04f98d46", - "sf.ddl.alter-view.set.k807005942229", - "sf.ddl.alter-view.set.k8fd6002a7cd1", - "sf.ddl.alter-view.set.k9965db81144b", - "sf.ddl.alter-view.set.kb13e8adea26f", - "sf.ddl.alter-view.set.kbea38ebf94b1", - "sf.ddl.alter-view.set.kd4bbc7d5b27c", - "sf.ddl.alter-view.set.ke6453531214c", - "sf.ddl.alter-view.unset.k1d81df43ddac", - "sf.ddl.alter-view.unset.k2a1878599876", - "sf.ddl.alter-view.unset.k9f80b274f6f4", - "sf.ddl.alter-view.unset.kba8fb112aa93", - "sf.ddl.alter-view.unset.ke7601ff06a1b", - "sf.ddl.alter-view.unset.keb56951e89c0", "sf.ddl.create-ai-function.from-experiment-run.k67bb99e4b1b2", "sf.ddl.create-alert.define-alert.k0e27dd0e6eec", "sf.ddl.create-alert.define-alert.k15c6232b5345", @@ -109469,21 +110853,6 @@ "sf.ddl.create-function.define-function.k99a9624cdd1a", "sf.ddl.create-function.define-function.kce6561bba051", "sf.ddl.create-index.k06f98b76fca1", - "sf.ddl.create-materialized-view.k068a869892ad", - "sf.ddl.create-materialized-view.k07f196df027c", - "sf.ddl.create-materialized-view.k1274ddbf7b7c", - "sf.ddl.create-materialized-view.k21f6392f5b32", - "sf.ddl.create-materialized-view.k26e84221b680", - "sf.ddl.create-materialized-view.k2b64d7aa1873", - "sf.ddl.create-materialized-view.k4563b56a0390", - "sf.ddl.create-materialized-view.k89552fa78153", - "sf.ddl.create-materialized-view.k9d3f2d53cc62", - "sf.ddl.create-materialized-view.kb6202a4d7a3c", - "sf.ddl.create-materialized-view.kb884595a4c19", - "sf.ddl.create-materialized-view.kbf98e371c202", - "sf.ddl.create-materialized-view.kdd23cfc29dbe", - "sf.ddl.create-materialized-view.kee1611f4c8d6", - "sf.ddl.create-materialized-view.kee393665ccc1", "sf.ddl.create-pipe.define-pipe.k1c187f19f9d8", "sf.ddl.create-pipe.define-pipe.k217f3d05af47", "sf.ddl.create-pipe.define-pipe.k363a4a9a085f", @@ -109546,87 +110915,6 @@ "sf.ddl.create-schema.define-schema.kcf578e45c554", "sf.ddl.create-schema.define-schema.kd241f280bb0e", "sf.ddl.create-schema.define-schema.kdbb721063d7e", - "sf.ddl.create-semantic-view.define-semantic-view.k0093ea7e6ec7", - "sf.ddl.create-semantic-view.define-semantic-view.k043e8b62ab94", - "sf.ddl.create-semantic-view.define-semantic-view.k079a457fe7c6", - "sf.ddl.create-semantic-view.define-semantic-view.k0e220c0f8d15", - "sf.ddl.create-semantic-view.define-semantic-view.k0f3423a436ff", - "sf.ddl.create-semantic-view.define-semantic-view.k1d00a793f513", - "sf.ddl.create-semantic-view.define-semantic-view.k1f39b7f9725a", - "sf.ddl.create-semantic-view.define-semantic-view.k2a0b7f4b485c", - "sf.ddl.create-semantic-view.define-semantic-view.k2ff6eccd2c68", - "sf.ddl.create-semantic-view.define-semantic-view.k31de928a4563", - "sf.ddl.create-semantic-view.define-semantic-view.k35ad09ea7823", - "sf.ddl.create-semantic-view.define-semantic-view.k36e0c053a47a", - "sf.ddl.create-semantic-view.define-semantic-view.k386d51c05559", - "sf.ddl.create-semantic-view.define-semantic-view.k390043819ce4", - "sf.ddl.create-semantic-view.define-semantic-view.k3abfec20baff", - "sf.ddl.create-semantic-view.define-semantic-view.k3bdeffb3d6a5", - "sf.ddl.create-semantic-view.define-semantic-view.k40ffeaa0091e", - "sf.ddl.create-semantic-view.define-semantic-view.k42b3470e1ca8", - "sf.ddl.create-semantic-view.define-semantic-view.k42cddb6095e5", - "sf.ddl.create-semantic-view.define-semantic-view.k44850cc26b19", - "sf.ddl.create-semantic-view.define-semantic-view.k4541102fe97e", - "sf.ddl.create-semantic-view.define-semantic-view.k482423d06677", - "sf.ddl.create-semantic-view.define-semantic-view.k4d6ebcbe3489", - "sf.ddl.create-semantic-view.define-semantic-view.k54a9f3e72b90", - "sf.ddl.create-semantic-view.define-semantic-view.k54ce7563b41b", - "sf.ddl.create-semantic-view.define-semantic-view.k552981de78fb", - "sf.ddl.create-semantic-view.define-semantic-view.k574b680aeb4b", - "sf.ddl.create-semantic-view.define-semantic-view.k61f920bf5902", - "sf.ddl.create-semantic-view.define-semantic-view.k64c3ae4a9e9f", - "sf.ddl.create-semantic-view.define-semantic-view.k64f8c4affc7d", - "sf.ddl.create-semantic-view.define-semantic-view.k652c19eae799", - "sf.ddl.create-semantic-view.define-semantic-view.k682d7b69f793", - "sf.ddl.create-semantic-view.define-semantic-view.k6dd9ad3e821e", - "sf.ddl.create-semantic-view.define-semantic-view.k7694d2df8279", - "sf.ddl.create-semantic-view.define-semantic-view.k7fe7281ba191", - "sf.ddl.create-semantic-view.define-semantic-view.k82d10c874f0f", - "sf.ddl.create-semantic-view.define-semantic-view.k87735d163d75", - "sf.ddl.create-semantic-view.define-semantic-view.k88b6234a0197", - "sf.ddl.create-semantic-view.define-semantic-view.k893c9628597c", - "sf.ddl.create-semantic-view.define-semantic-view.k8969d27b5ef3", - "sf.ddl.create-semantic-view.define-semantic-view.k8a384e593a0f", - "sf.ddl.create-semantic-view.define-semantic-view.k8b310ca1a5d4", - "sf.ddl.create-semantic-view.define-semantic-view.k8f7bd0591c39", - "sf.ddl.create-semantic-view.define-semantic-view.k9046f52fd17a", - "sf.ddl.create-semantic-view.define-semantic-view.k9051d495b622", - "sf.ddl.create-semantic-view.define-semantic-view.k923f7cfb339a", - "sf.ddl.create-semantic-view.define-semantic-view.k946799d99c67", - "sf.ddl.create-semantic-view.define-semantic-view.k964bb0cabfc6", - "sf.ddl.create-semantic-view.define-semantic-view.k9aad3ed241e6", - "sf.ddl.create-semantic-view.define-semantic-view.k9ae307b2ac76", - "sf.ddl.create-semantic-view.define-semantic-view.k9c62060dbf27", - "sf.ddl.create-semantic-view.define-semantic-view.k9d8a7cb39002", - "sf.ddl.create-semantic-view.define-semantic-view.ka17ee18d50e3", - "sf.ddl.create-semantic-view.define-semantic-view.ka7a45ac8a0a9", - "sf.ddl.create-semantic-view.define-semantic-view.kb04fc5da0d04", - "sf.ddl.create-semantic-view.define-semantic-view.kb112a33830af", - "sf.ddl.create-semantic-view.define-semantic-view.kb5157928382b", - "sf.ddl.create-semantic-view.define-semantic-view.kb85f7a025938", - "sf.ddl.create-semantic-view.define-semantic-view.kba476f5f20e0", - "sf.ddl.create-semantic-view.define-semantic-view.kbc44b093b19d", - "sf.ddl.create-semantic-view.define-semantic-view.kbfeec52e211f", - "sf.ddl.create-semantic-view.define-semantic-view.kc20ff6f44413", - "sf.ddl.create-semantic-view.define-semantic-view.kc283a16ebfff", - "sf.ddl.create-semantic-view.define-semantic-view.kc3da0c050eff", - "sf.ddl.create-semantic-view.define-semantic-view.kc6410d01841a", - "sf.ddl.create-semantic-view.define-semantic-view.kcd4c7582ac80", - "sf.ddl.create-semantic-view.define-semantic-view.kcf0e0b37ead2", - "sf.ddl.create-semantic-view.define-semantic-view.kd95758a1ad31", - "sf.ddl.create-semantic-view.define-semantic-view.kddbe687b9730", - "sf.ddl.create-semantic-view.define-semantic-view.kddee89ec8e14", - "sf.ddl.create-semantic-view.define-semantic-view.ke050d08786b5", - "sf.ddl.create-semantic-view.define-semantic-view.ke2bbdd025d4f", - "sf.ddl.create-semantic-view.define-semantic-view.ke3d08a6bd098", - "sf.ddl.create-semantic-view.define-semantic-view.ke3ef917aeba5", - "sf.ddl.create-semantic-view.define-semantic-view.ke590bc77d882", - "sf.ddl.create-semantic-view.define-semantic-view.ke747ddeea0e6", - "sf.ddl.create-semantic-view.define-semantic-view.kf02ee43bc3e4", - "sf.ddl.create-semantic-view.define-semantic-view.kf6f0d8a75b71", - "sf.ddl.create-semantic-view.define-semantic-view.kf7d84864002f", - "sf.ddl.create-semantic-view.define-semantic-view.kfa9b6e9b0578", - "sf.ddl.create-semantic-view.define-semantic-view.kfef957307859", "sf.ddl.create-sequence.create-or-alter-sequence.k20fca8f5f88e", "sf.ddl.create-sequence.create-or-alter-sequence.k78ac458e2742", "sf.ddl.create-sequence.create-or-alter-sequence.k99f5b3f8173f", @@ -109639,13 +110927,6 @@ "sf.ddl.create-sequence.define-sequence.k53f85e4c758b", "sf.ddl.create-sequence.define-sequence.k5781f7b98b4d", "sf.ddl.create-sequence.define-sequence.kdce8646cffb5", - "sf.ddl.create-stream.define-stream.k2e7bb95f9c9b", - "sf.ddl.create-stream.define-stream.k446a2e5c880b", - "sf.ddl.create-stream.define-stream.k5bb1c4be674b", - "sf.ddl.create-stream.define-stream.k6b5d4a0043dd", - "sf.ddl.create-stream.define-stream.kbe7045be39a1", - "sf.ddl.create-stream.define-stream.kc008a70c4934", - "sf.ddl.create-stream.define-stream.ke5a3d15f8a0c", "sf.ddl.create-streamlit.define-streamlit.k1d1674a6db86", "sf.ddl.create-streamlit.define-streamlit.k2abceafcb9ed", "sf.ddl.create-streamlit.define-streamlit.k3112e3719098", @@ -109689,31 +110970,6 @@ "sf.ddl.create-task-graph.create-task-graph.kd13126acf55e", "sf.ddl.create-task-graph.define-task-graph.k5cd0dde827c9", "sf.ddl.create-task-graph.define-task-graph.k8e6162f9a5c1", - "sf.ddl.create-view.create-or-alter-view.ka420eb594321", - "sf.ddl.create-view.create-view-as.k097cd4cbb9d7", - "sf.ddl.create-view.create-view-as.k0dba40eb606a", - "sf.ddl.create-view.create-view-as.k1e1cbbbc134e", - "sf.ddl.create-view.create-view-as.k20d074e12fd0", - "sf.ddl.create-view.create-view-as.k33eee4e21b6b", - "sf.ddl.create-view.create-view-as.k37cd631f3951", - "sf.ddl.create-view.create-view-as.k494fa172a61b", - "sf.ddl.create-view.create-view-as.k4af736719289", - "sf.ddl.create-view.create-view-as.k4b1e7aba2b28", - "sf.ddl.create-view.create-view-as.k4feda181d303", - "sf.ddl.create-view.create-view-as.k5e34c237aa0d", - "sf.ddl.create-view.create-view-as.k6f614fa52cdf", - "sf.ddl.create-view.create-view-as.k79ca58b8cc0a", - "sf.ddl.create-view.create-view-as.k8e8e7bd2fc34", - "sf.ddl.create-view.create-view-as.k8fd5356f99b5", - "sf.ddl.create-view.create-view-as.kaf7b2977f6ec", - "sf.ddl.create-view.create-view-as.kb560ec54ef28", - "sf.ddl.create-view.create-view-as.kc505cc99758d", - "sf.ddl.create-view.create-view-as.kc686fb9af11d", - "sf.ddl.create-view.create-view-as.kd1186079b462", - "sf.ddl.create-view.create-view-as.kd97eacc4d229", - "sf.ddl.create-view.define-view.k131a9f3e75f6", - "sf.ddl.create-view.define-view.k637aee0bc387", - "sf.ddl.create-view.define-view.k9c5a66cd7336", "sf.ddl.create-warehouse.define-warehouse.k16bd66eefeb1", "sf.ddl.create-warehouse.define-warehouse.k216bccb92158", "sf.ddl.create-warehouse.define-warehouse.k39c862a33c15", @@ -116293,6 +117549,7 @@ "sf.ddl.alter-view.datagovnpolicytagaction.kb8c639984b54", "sf.ddl.alter-view.datagovnpolicytagaction.kba314c012685", "sf.ddl.alter-view.datagovnpolicytagaction.kbcdb85dcb447", + "sf.ddl.alter-view.datagovnpolicytagaction.kbdb9b8a922ab", "sf.ddl.alter-view.datagovnpolicytagaction.kbe6aa2e78f65", "sf.ddl.alter-view.datagovnpolicytagaction.kc07da4de384e", "sf.ddl.alter-view.datagovnpolicytagaction.kc2749486dbaf", @@ -119595,6 +120852,7 @@ "sf.ddl.create-index.kccebf1bd66f5", "sf.ddl.create-index.kcfbe95d73c8f", "sf.ddl.create-index.ke2f6d772569f", + "sf.ddl.create-index.ke440e3be9eae", "sf.ddl.create-interactive-table.as.k02a371bbb6fe", "sf.ddl.create-interactive-table.as.k0815325a29ab", "sf.ddl.create-interactive-table.as.k0903c4dd413c", @@ -119734,6 +120992,7 @@ "sf.ddl.create-listing.from.k212e484819d5", "sf.ddl.create-listing.from.kc87cca7bdd99", "sf.ddl.create-materialized-view.k003ed6c17999", + "sf.ddl.create-materialized-view.k019ec42bec05", "sf.ddl.create-materialized-view.k02a8ee0ed71e", "sf.ddl.create-materialized-view.k045e34f27afb", "sf.ddl.create-materialized-view.k058d63749381", @@ -119769,6 +121028,7 @@ "sf.ddl.create-materialized-view.k50f5c92b4c51", "sf.ddl.create-materialized-view.k52d441a0a4ce", "sf.ddl.create-materialized-view.k546dc37a4fe3", + "sf.ddl.create-materialized-view.k5694e9a447e8", "sf.ddl.create-materialized-view.k5b06c97aa42d", "sf.ddl.create-materialized-view.k5f2c33a47ed6", "sf.ddl.create-materialized-view.k5fd8a9545bf5", @@ -119795,6 +121055,7 @@ "sf.ddl.create-materialized-view.k962b5ed9397f", "sf.ddl.create-materialized-view.k96edc176701b", "sf.ddl.create-materialized-view.k9727fd6ab152", + "sf.ddl.create-materialized-view.k9960bb3d0b3a", "sf.ddl.create-materialized-view.k997560cb8b62", "sf.ddl.create-materialized-view.k9ae0d40498dd", "sf.ddl.create-materialized-view.k9ca0e87d7f24", @@ -119827,6 +121088,7 @@ "sf.ddl.create-materialized-view.kd951c98dc1ed", "sf.ddl.create-materialized-view.ke0361d697e65", "sf.ddl.create-materialized-view.ke38d77ae625d", + "sf.ddl.create-materialized-view.ke50f4c8cd906", "sf.ddl.create-materialized-view.ke9d277724812", "sf.ddl.create-materialized-view.kf230f523b9e9", "sf.ddl.create-materialized-view.kf4afc40d9de3", @@ -122345,8 +123607,20 @@ "sf.ddl.create-stage.define-stage.kfdaa147e1611", "sf.ddl.create-stage.define-stage.kff176702d793", "sf.ddl.create-stage.define-stage.kff69d70a21b3", + "sf.ddl.create-stream.create-or-alter-stream.k0fd695118e45", + "sf.ddl.create-stream.create-or-alter-stream.k11737bd03613", "sf.ddl.create-stream.create-or-alter-stream.k1a05ce4a3135", "sf.ddl.create-stream.create-or-alter-stream.k22c4b64b28cd", + "sf.ddl.create-stream.create-or-alter-stream.k4ff0fd4112ea", + "sf.ddl.create-stream.create-or-alter-stream.k551a2e92df8b", + "sf.ddl.create-stream.create-or-alter-stream.k69631f0bbcf3", + "sf.ddl.create-stream.create-or-alter-stream.k994c642ed2f8", + "sf.ddl.create-stream.create-or-alter-stream.kaed3f5290069", + "sf.ddl.create-stream.create-or-alter-stream.kb90be711d2e0", + "sf.ddl.create-stream.create-or-alter-stream.kba022d79e648", + "sf.ddl.create-stream.create-or-alter-stream.kbaf039c96f9c", + "sf.ddl.create-stream.create-or-alter-stream.kc09c6a3c123e", + "sf.ddl.create-stream.create-or-alter-stream.kd2e79e706d2a", "sf.ddl.create-stream.create-stream-clone.k1c3943c7885e", "sf.ddl.create-stream.create-stream-clone.k228ea67d716e", "sf.ddl.create-stream.create-stream-clone.k342116e29c75", @@ -122356,41 +123630,180 @@ "sf.ddl.create-stream.create-stream-clone.kf0568b382209", "sf.ddl.create-stream.create-stream-clone.kf44e85993d59", "sf.ddl.create-stream.create-stream-clone.kf8433a3a3502", + "sf.ddl.create-stream.create-stream-on-dynamic.k24aa331dfc37", + "sf.ddl.create-stream.create-stream-on-dynamic.k2961d48df1a1", "sf.ddl.create-stream.create-stream-on-dynamic.k2efc960ebf34", + "sf.ddl.create-stream.create-stream-on-dynamic.k3bb2c1514605", + "sf.ddl.create-stream.create-stream-on-dynamic.k3eca85a9ba3c", "sf.ddl.create-stream.create-stream-on-dynamic.k4dfe8d5f3b9c", + "sf.ddl.create-stream.create-stream-on-dynamic.k55972c2bda52", + "sf.ddl.create-stream.create-stream-on-dynamic.k5c107983b019", + "sf.ddl.create-stream.create-stream-on-dynamic.k6efe8424f5d7", + "sf.ddl.create-stream.create-stream-on-dynamic.k787864a55eb6", "sf.ddl.create-stream.create-stream-on-dynamic.k7d64f501aba2", + "sf.ddl.create-stream.create-stream-on-dynamic.k81a6d2a57203", "sf.ddl.create-stream.create-stream-on-dynamic.k82f7b587fc6c", + "sf.ddl.create-stream.create-stream-on-dynamic.k96324acd9100", + "sf.ddl.create-stream.create-stream-on-dynamic.k9df6429667bc", + "sf.ddl.create-stream.create-stream-on-dynamic.ka1847d7d56c5", + "sf.ddl.create-stream.create-stream-on-dynamic.ka2587ea7bd78", + "sf.ddl.create-stream.create-stream-on-dynamic.kbafd2096969a", + "sf.ddl.create-stream.create-stream-on-dynamic.kc67dddb3d916", + "sf.ddl.create-stream.create-stream-on-dynamic.kc908189e0dbe", + "sf.ddl.create-stream.create-stream-on-dynamic.kea4bfa7e2b97", "sf.ddl.create-stream.create-stream-on-dynamic.ked45ee4d108f", "sf.ddl.create-stream.create-stream-on-dynamic.kff24b12fce2e", + "sf.ddl.create-stream.create-stream-on-event.k027a41155311", "sf.ddl.create-stream.create-stream-on-event.k06664870b814", "sf.ddl.create-stream.create-stream-on-event.k0b03f899ed5c", + "sf.ddl.create-stream.create-stream-on-event.k0e57da9428f2", + "sf.ddl.create-stream.create-stream-on-event.k1c7323fe1fee", + "sf.ddl.create-stream.create-stream-on-event.k2e31440ea554", "sf.ddl.create-stream.create-stream-on-event.k439e1b116cff", + "sf.ddl.create-stream.create-stream-on-event.k4d34381292f7", + "sf.ddl.create-stream.create-stream-on-event.k56b15778d5df", + "sf.ddl.create-stream.create-stream-on-event.k642e20a76893", + "sf.ddl.create-stream.create-stream-on-event.k683009182584", + "sf.ddl.create-stream.create-stream-on-event.k6ad964b08521", + "sf.ddl.create-stream.create-stream-on-event.k7208b269a222", + "sf.ddl.create-stream.create-stream-on-event.k788b97c35b21", + "sf.ddl.create-stream.create-stream-on-event.k8f9aa6f93a4d", + "sf.ddl.create-stream.create-stream-on-event.k95e2cfaeb679", + "sf.ddl.create-stream.create-stream-on-event.k9c1a0a9e6d7a", + "sf.ddl.create-stream.create-stream-on-event.ka10d0f882252", "sf.ddl.create-stream.create-stream-on-event.kb405f07c3c96", "sf.ddl.create-stream.create-stream-on-event.kcf8f4210d501", "sf.ddl.create-stream.create-stream-on-event.ke0ce9c8444cf", + "sf.ddl.create-stream.create-stream-on-event.ke9390f21bd1e", + "sf.ddl.create-stream.create-stream-on-event.kf7be268f222f", "sf.ddl.create-stream.create-stream-on-external.k002d1f84e63f", + "sf.ddl.create-stream.create-stream-on-external.k070a06c5c329", + "sf.ddl.create-stream.create-stream-on-external.k0eec43a75da7", + "sf.ddl.create-stream.create-stream-on-external.k188e143394d8", + "sf.ddl.create-stream.create-stream-on-external.k1945a21d53ed", "sf.ddl.create-stream.create-stream-on-external.k1f54af4c4a2b", + "sf.ddl.create-stream.create-stream-on-external.k2bc228943183", + "sf.ddl.create-stream.create-stream-on-external.k2d6518194e52", + "sf.ddl.create-stream.create-stream-on-external.k34bd04f949ed", + "sf.ddl.create-stream.create-stream-on-external.k3923e4d08476", + "sf.ddl.create-stream.create-stream-on-external.k4b03c16b3e2d", + "sf.ddl.create-stream.create-stream-on-external.k4b691f7e57d3", + "sf.ddl.create-stream.create-stream-on-external.k5351ead5f3c7", "sf.ddl.create-stream.create-stream-on-external.k59e47f37d397", + "sf.ddl.create-stream.create-stream-on-external.k5e9dd1a9ccff", + "sf.ddl.create-stream.create-stream-on-external.k61c0b127e33e", "sf.ddl.create-stream.create-stream-on-external.k63695047312a", + "sf.ddl.create-stream.create-stream-on-external.k67e75f1074e8", + "sf.ddl.create-stream.create-stream-on-external.k73a38589db0f", "sf.ddl.create-stream.create-stream-on-external.k7c817b2f2ca2", + "sf.ddl.create-stream.create-stream-on-external.k81e054a17599", + "sf.ddl.create-stream.create-stream-on-external.k838a6fef0946", + "sf.ddl.create-stream.create-stream-on-external.k8ae1f7024005", + "sf.ddl.create-stream.create-stream-on-external.k8f68f75e4e82", + "sf.ddl.create-stream.create-stream-on-external.k93a42fcabc7e", + "sf.ddl.create-stream.create-stream-on-external.ka8411d176a70", "sf.ddl.create-stream.create-stream-on-external.ka8a930b14151", + "sf.ddl.create-stream.create-stream-on-external.kb80b233c941e", + "sf.ddl.create-stream.create-stream-on-external.kc57b0f0afadf", + "sf.ddl.create-stream.create-stream-on-external.kcfdf3869f92d", + "sf.ddl.create-stream.create-stream-on-external.kd12a8fcd7234", + "sf.ddl.create-stream.create-stream-on-external.kd7559d2e9f13", + "sf.ddl.create-stream.create-stream-on-external.ke306009ea3d2", + "sf.ddl.create-stream.create-stream-on-external.ke977a9138084", + "sf.ddl.create-stream.create-stream-on-external.kf5bdc9d3b8bd", + "sf.ddl.create-stream.create-stream-on-stage.k0b1d03752513", + "sf.ddl.create-stream.create-stream-on-stage.k10926dc2fa7b", + "sf.ddl.create-stream.create-stream-on-stage.k1381a2f725e2", + "sf.ddl.create-stream.create-stream-on-stage.k139731fc5d5b", "sf.ddl.create-stream.create-stream-on-stage.k1a2f1af22160", "sf.ddl.create-stream.create-stream-on-stage.k2c07854fd33c", "sf.ddl.create-stream.create-stream-on-stage.k35628a45cae1", + "sf.ddl.create-stream.create-stream-on-stage.k6535f20a4636", + "sf.ddl.create-stream.create-stream-on-stage.k74ae1b93ff39", + "sf.ddl.create-stream.create-stream-on-stage.k7f03349a2323", + "sf.ddl.create-stream.create-stream-on-stage.k81f496ca2f38", + "sf.ddl.create-stream.create-stream-on-stage.k883e7497df89", "sf.ddl.create-stream.create-stream-on-stage.k981ff56130c0", + "sf.ddl.create-stream.create-stream-on-stage.k9fd5add218e1", + "sf.ddl.create-stream.create-stream-on-stage.ka3843bdef324", + "sf.ddl.create-stream.create-stream-on-stage.ka5dc5e959f60", + "sf.ddl.create-stream.create-stream-on-stage.kba60ab63bedb", + "sf.ddl.create-stream.create-stream-on-stage.kbae500eb585b", "sf.ddl.create-stream.create-stream-on-stage.kc2b5813ec211", + "sf.ddl.create-stream.create-stream-on-stage.kcb855688c7f2", + "sf.ddl.create-stream.create-stream-on-stage.kdbe381f9de36", + "sf.ddl.create-stream.create-stream-on-stage.ke8a18f759022", "sf.ddl.create-stream.create-stream-on-stage.kedd084b02da3", "sf.ddl.create-stream.create-stream-on-table.k0b2d9729cc81", + "sf.ddl.create-stream.create-stream-on-table.k13b95fff7865", + "sf.ddl.create-stream.create-stream-on-table.k1927aafec6b4", + "sf.ddl.create-stream.create-stream-on-table.k1e58f8471a26", + "sf.ddl.create-stream.create-stream-on-table.k2130c4fe7e75", + "sf.ddl.create-stream.create-stream-on-table.k26714687f7ca", + "sf.ddl.create-stream.create-stream-on-table.k2ff7fbe598bb", + "sf.ddl.create-stream.create-stream-on-table.k3226bae717c8", + "sf.ddl.create-stream.create-stream-on-table.k33735439f812", + "sf.ddl.create-stream.create-stream-on-table.k4111128a4e2a", + "sf.ddl.create-stream.create-stream-on-table.k4a5485868724", + "sf.ddl.create-stream.create-stream-on-table.k5234d9dedc95", "sf.ddl.create-stream.create-stream-on-table.k5c396c1cf3ee", + "sf.ddl.create-stream.create-stream-on-table.k633a7dc17e5d", "sf.ddl.create-stream.create-stream-on-table.k64b5ecd4ad19", + "sf.ddl.create-stream.create-stream-on-table.k6a017c1cc59b", "sf.ddl.create-stream.create-stream-on-table.k6d0dd5d0c097", + "sf.ddl.create-stream.create-stream-on-table.k7eba6e4219a3", + "sf.ddl.create-stream.create-stream-on-table.k7ec2b6391935", + "sf.ddl.create-stream.create-stream-on-table.k85ed3c84e40c", + "sf.ddl.create-stream.create-stream-on-table.k86010f7650e0", + "sf.ddl.create-stream.create-stream-on-table.k91922bd93db7", + "sf.ddl.create-stream.create-stream-on-table.kab06dd948d52", + "sf.ddl.create-stream.create-stream-on-table.kb1ae05d6f263", + "sf.ddl.create-stream.create-stream-on-table.kb4c13a231060", "sf.ddl.create-stream.create-stream-on-table.kb53c68f1545f", + "sf.ddl.create-stream.create-stream-on-table.kb6e349d3c93e", + "sf.ddl.create-stream.create-stream-on-table.kb7285ab93043", + "sf.ddl.create-stream.create-stream-on-table.kbb40371d9a46", + "sf.ddl.create-stream.create-stream-on-table.kc3dda0288dc8", + "sf.ddl.create-stream.create-stream-on-table.kc79cdbb239fc", + "sf.ddl.create-stream.create-stream-on-table.ke57ca33956c8", + "sf.ddl.create-stream.create-stream-on-table.keffa30195d72", + "sf.ddl.create-stream.create-stream-on-table.kf33b601b4f88", + "sf.ddl.create-stream.create-stream-on-table.kfcf39c4aeec6", + "sf.ddl.create-stream.create-stream-on-view.k1e6887cf59ed", + "sf.ddl.create-stream.create-stream-on-view.k4370b0a166d7", + "sf.ddl.create-stream.create-stream-on-view.k44f584aa1c3b", + "sf.ddl.create-stream.create-stream-on-view.k48e0ff92946a", + "sf.ddl.create-stream.create-stream-on-view.k4e517907b1ee", + "sf.ddl.create-stream.create-stream-on-view.k552cd249f50d", "sf.ddl.create-stream.create-stream-on-view.k5602d1a5fc38", "sf.ddl.create-stream.create-stream-on-view.k5c446daa6cc8", + "sf.ddl.create-stream.create-stream-on-view.k5da733f0cfbf", + "sf.ddl.create-stream.create-stream-on-view.k5dc8001e9204", + "sf.ddl.create-stream.create-stream-on-view.k6dbaec256971", + "sf.ddl.create-stream.create-stream-on-view.k6e5d32359e3f", + "sf.ddl.create-stream.create-stream-on-view.k72694b729456", "sf.ddl.create-stream.create-stream-on-view.k7d046bc3ac95", + "sf.ddl.create-stream.create-stream-on-view.k8068173faedf", + "sf.ddl.create-stream.create-stream-on-view.k8751ade64c4a", + "sf.ddl.create-stream.create-stream-on-view.ka1a80f197bc7", + "sf.ddl.create-stream.create-stream-on-view.ka5b56fef616c", + "sf.ddl.create-stream.create-stream-on-view.ka8f3c1bbc03f", "sf.ddl.create-stream.create-stream-on-view.kb1d7d8a8b9bb", + "sf.ddl.create-stream.create-stream-on-view.kb5ca79393277", + "sf.ddl.create-stream.create-stream-on-view.kc113ee6ea48d", "sf.ddl.create-stream.create-stream-on-view.kc27c86cc3a0d", + "sf.ddl.create-stream.create-stream-on-view.kce4841efaf0f", + "sf.ddl.create-stream.create-stream-on-view.kd28474b20f07", + "sf.ddl.create-stream.create-stream-on-view.kdae5b8b51216", + "sf.ddl.create-stream.create-stream-on-view.kdde6ba82c50c", + "sf.ddl.create-stream.create-stream-on-view.ke424f57d829b", + "sf.ddl.create-stream.create-stream-on-view.ke8b31351e86d", "sf.ddl.create-stream.create-stream-on-view.ke8d678c29933", + "sf.ddl.create-stream.create-stream-on-view.kea728d47186c", + "sf.ddl.create-stream.create-stream-on-view.kedcea6fb9dfb", + "sf.ddl.create-stream.create-stream-on-view.kf4117041a86f", + "sf.ddl.create-stream.create-stream-on-view.kfdb37619f464", + "sf.ddl.create-stream.create-stream-on-view.kfdc2cee3cf39", "sf.ddl.create-stream.define-stream.k0f76bbd2eaa2", "sf.ddl.create-stream.define-stream.k33feb0f1b4fa", "sf.ddl.create-stream.define-stream.k5d4ad104b295", @@ -123360,6 +124773,7 @@ "sf.ddl.create-view.create-or-alter-view.k11740ebdf07f", "sf.ddl.create-view.create-or-alter-view.k2281eb9ac104", "sf.ddl.create-view.create-or-alter-view.k266bfbe680b6", + "sf.ddl.create-view.create-or-alter-view.k29546eca4dec", "sf.ddl.create-view.create-or-alter-view.k2955fc57f8d8", "sf.ddl.create-view.create-or-alter-view.k6943e1f6e087", "sf.ddl.create-view.create-or-alter-view.k6ba2e9fb0a42", @@ -123389,6 +124803,7 @@ "sf.ddl.create-view.create-view-as.k2e16d6dc59fa", "sf.ddl.create-view.create-view-as.k331d22bdc6ee", "sf.ddl.create-view.create-view-as.k35a8f617e0a5", + "sf.ddl.create-view.create-view-as.k36c9f806af2b", "sf.ddl.create-view.create-view-as.k3a3e36fc4e84", "sf.ddl.create-view.create-view-as.k3ad425cb044b", "sf.ddl.create-view.create-view-as.k3adddbcf6769", @@ -123418,6 +124833,7 @@ "sf.ddl.create-view.create-view-as.k6cdf82a11c08", "sf.ddl.create-view.create-view-as.k6e48437857d6", "sf.ddl.create-view.create-view-as.k6f5008bb955f", + "sf.ddl.create-view.create-view-as.k6f8a75870d70", "sf.ddl.create-view.create-view-as.k71c71423da16", "sf.ddl.create-view.create-view-as.k72eca230eb24", "sf.ddl.create-view.create-view-as.k73d4b2ba78a4", @@ -141641,7 +143057,6 @@ "sf.ddl.alter-tag.set.k7fdfe7d53553", "sf.ddl.alter-task.set.k40c1b10b46dd", "sf.ddl.alter-task.set.k98072043c837", - "sf.ddl.alter-view.datagovnpolicytagaction.kbdb9b8a922ab", "sf.ddl.alter-warehouse.abort-all-queries.k151b591b87f7", "sf.ddl.alter-warehouse.abort-all-queries.k1d429f7ebbd6", "sf.ddl.alter-warehouse.abort-all-queries.k60bc63d76b60", @@ -142530,7 +143945,6 @@ "sf.ddl.create-image-repository.kf95536066dfd", "sf.ddl.create-image-repository.kf98fe0494667", "sf.ddl.create-index.k51438fa25dc3", - "sf.ddl.create-index.ke440e3be9eae", "sf.ddl.create-listing.as.k0843ac0196eb", "sf.ddl.create-listing.as.k15ef665a31b8", "sf.ddl.create-listing.as.k247db5827df5", @@ -142564,10 +143978,6 @@ "sf.ddl.create-listing.from.ke03907efa4e5", "sf.ddl.create-listing.from.ke908544d0246", "sf.ddl.create-listing.from.kf17e3d47a25a", - "sf.ddl.create-materialized-view.k019ec42bec05", - "sf.ddl.create-materialized-view.k5694e9a447e8", - "sf.ddl.create-materialized-view.k9960bb3d0b3a", - "sf.ddl.create-materialized-view.ke50f4c8cd906", "sf.ddl.create-mcp-server.k1279c1e4fa11", "sf.ddl.create-mcp-server.k19952213077d", "sf.ddl.create-mcp-server.k48943b716bdc", @@ -142950,157 +144360,6 @@ "sf.ddl.create-snapshot.kb67387b114a6", "sf.ddl.create-snapshot.kd618b9289f18", "sf.ddl.create-snapshot.kf7601bdcc20e", - "sf.ddl.create-stream.create-or-alter-stream.k0fd695118e45", - "sf.ddl.create-stream.create-or-alter-stream.k11737bd03613", - "sf.ddl.create-stream.create-or-alter-stream.k4ff0fd4112ea", - "sf.ddl.create-stream.create-or-alter-stream.k551a2e92df8b", - "sf.ddl.create-stream.create-or-alter-stream.k69631f0bbcf3", - "sf.ddl.create-stream.create-or-alter-stream.k994c642ed2f8", - "sf.ddl.create-stream.create-or-alter-stream.kaed3f5290069", - "sf.ddl.create-stream.create-or-alter-stream.kb90be711d2e0", - "sf.ddl.create-stream.create-or-alter-stream.kba022d79e648", - "sf.ddl.create-stream.create-or-alter-stream.kbaf039c96f9c", - "sf.ddl.create-stream.create-or-alter-stream.kc09c6a3c123e", - "sf.ddl.create-stream.create-or-alter-stream.kd2e79e706d2a", - "sf.ddl.create-stream.create-stream-on-dynamic.k24aa331dfc37", - "sf.ddl.create-stream.create-stream-on-dynamic.k2961d48df1a1", - "sf.ddl.create-stream.create-stream-on-dynamic.k3bb2c1514605", - "sf.ddl.create-stream.create-stream-on-dynamic.k3eca85a9ba3c", - "sf.ddl.create-stream.create-stream-on-dynamic.k55972c2bda52", - "sf.ddl.create-stream.create-stream-on-dynamic.k5c107983b019", - "sf.ddl.create-stream.create-stream-on-dynamic.k6efe8424f5d7", - "sf.ddl.create-stream.create-stream-on-dynamic.k787864a55eb6", - "sf.ddl.create-stream.create-stream-on-dynamic.k81a6d2a57203", - "sf.ddl.create-stream.create-stream-on-dynamic.k96324acd9100", - "sf.ddl.create-stream.create-stream-on-dynamic.k9df6429667bc", - "sf.ddl.create-stream.create-stream-on-dynamic.ka1847d7d56c5", - "sf.ddl.create-stream.create-stream-on-dynamic.ka2587ea7bd78", - "sf.ddl.create-stream.create-stream-on-dynamic.kbafd2096969a", - "sf.ddl.create-stream.create-stream-on-dynamic.kc67dddb3d916", - "sf.ddl.create-stream.create-stream-on-dynamic.kc908189e0dbe", - "sf.ddl.create-stream.create-stream-on-dynamic.kea4bfa7e2b97", - "sf.ddl.create-stream.create-stream-on-event.k027a41155311", - "sf.ddl.create-stream.create-stream-on-event.k0e57da9428f2", - "sf.ddl.create-stream.create-stream-on-event.k1c7323fe1fee", - "sf.ddl.create-stream.create-stream-on-event.k2e31440ea554", - "sf.ddl.create-stream.create-stream-on-event.k4d34381292f7", - "sf.ddl.create-stream.create-stream-on-event.k56b15778d5df", - "sf.ddl.create-stream.create-stream-on-event.k642e20a76893", - "sf.ddl.create-stream.create-stream-on-event.k683009182584", - "sf.ddl.create-stream.create-stream-on-event.k6ad964b08521", - "sf.ddl.create-stream.create-stream-on-event.k7208b269a222", - "sf.ddl.create-stream.create-stream-on-event.k788b97c35b21", - "sf.ddl.create-stream.create-stream-on-event.k8f9aa6f93a4d", - "sf.ddl.create-stream.create-stream-on-event.k95e2cfaeb679", - "sf.ddl.create-stream.create-stream-on-event.k9c1a0a9e6d7a", - "sf.ddl.create-stream.create-stream-on-event.ka10d0f882252", - "sf.ddl.create-stream.create-stream-on-event.ke9390f21bd1e", - "sf.ddl.create-stream.create-stream-on-event.kf7be268f222f", - "sf.ddl.create-stream.create-stream-on-external.k070a06c5c329", - "sf.ddl.create-stream.create-stream-on-external.k0eec43a75da7", - "sf.ddl.create-stream.create-stream-on-external.k188e143394d8", - "sf.ddl.create-stream.create-stream-on-external.k1945a21d53ed", - "sf.ddl.create-stream.create-stream-on-external.k2bc228943183", - "sf.ddl.create-stream.create-stream-on-external.k2d6518194e52", - "sf.ddl.create-stream.create-stream-on-external.k34bd04f949ed", - "sf.ddl.create-stream.create-stream-on-external.k3923e4d08476", - "sf.ddl.create-stream.create-stream-on-external.k4b03c16b3e2d", - "sf.ddl.create-stream.create-stream-on-external.k4b691f7e57d3", - "sf.ddl.create-stream.create-stream-on-external.k5351ead5f3c7", - "sf.ddl.create-stream.create-stream-on-external.k5e9dd1a9ccff", - "sf.ddl.create-stream.create-stream-on-external.k61c0b127e33e", - "sf.ddl.create-stream.create-stream-on-external.k67e75f1074e8", - "sf.ddl.create-stream.create-stream-on-external.k73a38589db0f", - "sf.ddl.create-stream.create-stream-on-external.k81e054a17599", - "sf.ddl.create-stream.create-stream-on-external.k838a6fef0946", - "sf.ddl.create-stream.create-stream-on-external.k8ae1f7024005", - "sf.ddl.create-stream.create-stream-on-external.k8f68f75e4e82", - "sf.ddl.create-stream.create-stream-on-external.k93a42fcabc7e", - "sf.ddl.create-stream.create-stream-on-external.ka8411d176a70", - "sf.ddl.create-stream.create-stream-on-external.kb80b233c941e", - "sf.ddl.create-stream.create-stream-on-external.kc57b0f0afadf", - "sf.ddl.create-stream.create-stream-on-external.kcfdf3869f92d", - "sf.ddl.create-stream.create-stream-on-external.kd12a8fcd7234", - "sf.ddl.create-stream.create-stream-on-external.kd7559d2e9f13", - "sf.ddl.create-stream.create-stream-on-external.ke306009ea3d2", - "sf.ddl.create-stream.create-stream-on-external.ke977a9138084", - "sf.ddl.create-stream.create-stream-on-external.kf5bdc9d3b8bd", - "sf.ddl.create-stream.create-stream-on-stage.k0b1d03752513", - "sf.ddl.create-stream.create-stream-on-stage.k10926dc2fa7b", - "sf.ddl.create-stream.create-stream-on-stage.k1381a2f725e2", - "sf.ddl.create-stream.create-stream-on-stage.k139731fc5d5b", - "sf.ddl.create-stream.create-stream-on-stage.k6535f20a4636", - "sf.ddl.create-stream.create-stream-on-stage.k74ae1b93ff39", - "sf.ddl.create-stream.create-stream-on-stage.k7f03349a2323", - "sf.ddl.create-stream.create-stream-on-stage.k81f496ca2f38", - "sf.ddl.create-stream.create-stream-on-stage.k883e7497df89", - "sf.ddl.create-stream.create-stream-on-stage.k9fd5add218e1", - "sf.ddl.create-stream.create-stream-on-stage.ka3843bdef324", - "sf.ddl.create-stream.create-stream-on-stage.ka5dc5e959f60", - "sf.ddl.create-stream.create-stream-on-stage.kba60ab63bedb", - "sf.ddl.create-stream.create-stream-on-stage.kbae500eb585b", - "sf.ddl.create-stream.create-stream-on-stage.kcb855688c7f2", - "sf.ddl.create-stream.create-stream-on-stage.kdbe381f9de36", - "sf.ddl.create-stream.create-stream-on-stage.ke8a18f759022", - "sf.ddl.create-stream.create-stream-on-table.k13b95fff7865", - "sf.ddl.create-stream.create-stream-on-table.k1927aafec6b4", - "sf.ddl.create-stream.create-stream-on-table.k1e58f8471a26", - "sf.ddl.create-stream.create-stream-on-table.k2130c4fe7e75", - "sf.ddl.create-stream.create-stream-on-table.k26714687f7ca", - "sf.ddl.create-stream.create-stream-on-table.k2ff7fbe598bb", - "sf.ddl.create-stream.create-stream-on-table.k3226bae717c8", - "sf.ddl.create-stream.create-stream-on-table.k33735439f812", - "sf.ddl.create-stream.create-stream-on-table.k4111128a4e2a", - "sf.ddl.create-stream.create-stream-on-table.k4a5485868724", - "sf.ddl.create-stream.create-stream-on-table.k5234d9dedc95", - "sf.ddl.create-stream.create-stream-on-table.k633a7dc17e5d", - "sf.ddl.create-stream.create-stream-on-table.k6a017c1cc59b", - "sf.ddl.create-stream.create-stream-on-table.k7eba6e4219a3", - "sf.ddl.create-stream.create-stream-on-table.k7ec2b6391935", - "sf.ddl.create-stream.create-stream-on-table.k85ed3c84e40c", - "sf.ddl.create-stream.create-stream-on-table.k86010f7650e0", - "sf.ddl.create-stream.create-stream-on-table.k91922bd93db7", - "sf.ddl.create-stream.create-stream-on-table.kab06dd948d52", - "sf.ddl.create-stream.create-stream-on-table.kb1ae05d6f263", - "sf.ddl.create-stream.create-stream-on-table.kb4c13a231060", - "sf.ddl.create-stream.create-stream-on-table.kb6e349d3c93e", - "sf.ddl.create-stream.create-stream-on-table.kb7285ab93043", - "sf.ddl.create-stream.create-stream-on-table.kbb40371d9a46", - "sf.ddl.create-stream.create-stream-on-table.kc3dda0288dc8", - "sf.ddl.create-stream.create-stream-on-table.kc79cdbb239fc", - "sf.ddl.create-stream.create-stream-on-table.ke57ca33956c8", - "sf.ddl.create-stream.create-stream-on-table.keffa30195d72", - "sf.ddl.create-stream.create-stream-on-table.kf33b601b4f88", - "sf.ddl.create-stream.create-stream-on-table.kfcf39c4aeec6", - "sf.ddl.create-stream.create-stream-on-view.k1e6887cf59ed", - "sf.ddl.create-stream.create-stream-on-view.k4370b0a166d7", - "sf.ddl.create-stream.create-stream-on-view.k44f584aa1c3b", - "sf.ddl.create-stream.create-stream-on-view.k48e0ff92946a", - "sf.ddl.create-stream.create-stream-on-view.k4e517907b1ee", - "sf.ddl.create-stream.create-stream-on-view.k552cd249f50d", - "sf.ddl.create-stream.create-stream-on-view.k5da733f0cfbf", - "sf.ddl.create-stream.create-stream-on-view.k5dc8001e9204", - "sf.ddl.create-stream.create-stream-on-view.k6dbaec256971", - "sf.ddl.create-stream.create-stream-on-view.k6e5d32359e3f", - "sf.ddl.create-stream.create-stream-on-view.k72694b729456", - "sf.ddl.create-stream.create-stream-on-view.k8068173faedf", - "sf.ddl.create-stream.create-stream-on-view.k8751ade64c4a", - "sf.ddl.create-stream.create-stream-on-view.ka1a80f197bc7", - "sf.ddl.create-stream.create-stream-on-view.ka5b56fef616c", - "sf.ddl.create-stream.create-stream-on-view.ka8f3c1bbc03f", - "sf.ddl.create-stream.create-stream-on-view.kb5ca79393277", - "sf.ddl.create-stream.create-stream-on-view.kc113ee6ea48d", - "sf.ddl.create-stream.create-stream-on-view.kce4841efaf0f", - "sf.ddl.create-stream.create-stream-on-view.kd28474b20f07", - "sf.ddl.create-stream.create-stream-on-view.kdae5b8b51216", - "sf.ddl.create-stream.create-stream-on-view.kdde6ba82c50c", - "sf.ddl.create-stream.create-stream-on-view.ke424f57d829b", - "sf.ddl.create-stream.create-stream-on-view.ke8b31351e86d", - "sf.ddl.create-stream.create-stream-on-view.kea728d47186c", - "sf.ddl.create-stream.create-stream-on-view.kedcea6fb9dfb", - "sf.ddl.create-stream.create-stream-on-view.kf4117041a86f", - "sf.ddl.create-stream.create-stream-on-view.kfdb37619f464", - "sf.ddl.create-stream.create-stream-on-view.kfdc2cee3cf39", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k044440b0e5dd", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k08e99a995dcf", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k10c94cf93ea2", @@ -143186,9 +144445,6 @@ "sf.ddl.create-versioned-schema.ke67978ccde94", "sf.ddl.create-versioned-schema.kec07de1bbc4f", "sf.ddl.create-versioned-schema.kf4e407bf82f5", - "sf.ddl.create-view.create-or-alter-view.k29546eca4dec", - "sf.ddl.create-view.create-view-as.k36c9f806af2b", - "sf.ddl.create-view.create-view-as.k6f8a75870d70", "sf.ddl.create-warehouse.create-or-alter-warehouse.k00abbe9862bc", "sf.ddl.create-warehouse.create-or-alter-warehouse.k0d753ad0f2e8", "sf.ddl.create-warehouse.create-or-alter-warehouse.k151f805e29e9", @@ -144231,7 +145487,6 @@ "9e0236c7836f-0", "a-ddl-02816966fd63", "a-ddl-03dd2c1c8914", - "a-ddl-07916cdcb83e", "a-ddl-0984351703ac", "a-ddl-0a00caac55f6", "a-ddl-0d7894fbbd2a", @@ -144242,19 +145497,15 @@ "a-ddl-171969cf06b7", "a-ddl-17b56ffb5988", "a-ddl-1a43fc932451", - "a-ddl-1b86f3e9f5b4", "a-ddl-2019b94b5ae5", "a-ddl-28cca5f996e6", "a-ddl-2a0d60ba1ae3", "a-ddl-2ba955e048d6", - "a-ddl-2f422db7e24e", "a-ddl-395fa8aa71a3", "a-ddl-3afdfe3dff76", - "a-ddl-3b0df1a840c6", "a-ddl-407bbf5a3be9", "a-ddl-40b513dae4ee", "a-ddl-45cf4f815f52", - "a-ddl-4c667a301f7f", "a-ddl-529b92e4237e", "a-ddl-531d06bd6bae", "a-ddl-53cee7399108", @@ -144272,8 +145523,6 @@ "a-ddl-7a96d00a50f4", "a-ddl-7aad93a12280", "a-ddl-80d09c3724de", - "a-ddl-8298f7159be4", - "a-ddl-869ba842095e", "a-ddl-876a7ec1b4d4", "a-ddl-89a23d0d05f8", "a-ddl-8fb1bd9ddfdc", @@ -144283,7 +145532,6 @@ "a-ddl-9a4cf38366d2", "a-ddl-9d778eb05fac", "a-ddl-9e989ae50fb9", - "a-ddl-a866b1c55a53", "a-ddl-abfb3b60332f", "a-ddl-b12bde2daed1", "a-ddl-b40ca61304ed", @@ -144300,7 +145548,6 @@ "a-ddl-f06cf6f94da3", "a-ddl-f365626b68e7", "a-ddl-fb6d67d8098a", - "a-ddl-fcd093cfcd10", "a-ddl-feb26950ef29", "a-ddl-ffe466f4fcc7", "a21c4c53b535-0", @@ -144335,7 +145582,6 @@ "sf.adhoc.b-empty-calls.overlay.k08458760827b", "sf.adhoc.b-empty-calls.substr.k258c8d80e1b1", "sf.adhoc.b-empty-calls.substring.k65232676812e", - "sf.adhoc.view-forms.view-comment-without-equals.k5003296f6371", "sf.classes.anomaly-detection.commands.create-anomaly-detection.k1084771e26ba", "sf.classes.anomaly-detection.commands.create-anomaly-detection.k1248365020ac", "sf.classes.anomaly-detection.commands.create-anomaly-detection.k1643cc43e8cf", @@ -144791,9 +146037,6 @@ "sf.ddl.alter-iceberg-table.set.kd86190580ac3", "sf.ddl.alter-iceberg-table.unset.ke33c9a12af90", "sf.ddl.alter-materialized-view.rename-to-cluster-by.k0b93e15e7deb", - "sf.ddl.alter-materialized-view.rename-to-cluster-by.ka1e3b1dca17f", - "sf.ddl.alter-materialized-view.set-data-metric-schedule.k9e7d88f2b93d", - "sf.ddl.alter-materialized-view.set-data-metric-schedule.ka5984371b88a", "sf.ddl.alter-oflow-data-plane.k1af92c111a33", "sf.ddl.alter-oflow-data-plane.k2ab077cea5be", "sf.ddl.alter-oflow-data-plane.k5de244d968d6", @@ -145097,8 +146340,6 @@ "sf.ddl.alter-postgres-instance.unset-tag.kde6a71f7e9b8", "sf.ddl.alter-schema.set.kac592c009c45", "sf.ddl.alter-schema.unset-data-retention-time-in-days-max-data-extension-time-in-days-stage-undrop-retention-time-in-days.k220a7aefbc24", - "sf.ddl.alter-semantic-view.set-comment-max-staleness.k8fd6002a7cd1", - "sf.ddl.alter-semantic-view.unset-comment-max-staleness.k9f80b274f6f4", "sf.ddl.alter-sequence.sequence-set.k1e8684186268", "sf.ddl.alter-sequence.sequence-set.k28a58bae81d5", "sf.ddl.alter-sequence.sequence-set.k454dfb1dbccf", @@ -145125,30 +146366,6 @@ "sf.ddl.alter-task.set.k98072043c837", "sf.ddl.alter-task.set.kcae5464fa8dc", "sf.ddl.alter-task.set.ke6170e5781ec", - "sf.ddl.alter-view.datagovnpolicytagaction.k6a28030d5461", - "sf.ddl.alter-view.datagovnpolicytagaction.k8199d9f78b90", - "sf.ddl.alter-view.datagovnpolicytagaction.kbdb9b8a922ab", - "sf.ddl.alter-view.datametricfunctionaction.k0425e380fde3", - "sf.ddl.alter-view.datametricfunctionaction.k37de96955168", - "sf.ddl.alter-view.datametricfunctionaction.k4df9591e89a0", - "sf.ddl.alter-view.datametricfunctionaction.k62f17d458313", - "sf.ddl.alter-view.datametricfunctionaction.k68782e0b36b0", - "sf.ddl.alter-view.datametricfunctionaction.kf635a6dbf972", - "sf.ddl.alter-view.set.k3d8e04f98d46", - "sf.ddl.alter-view.set.k807005942229", - "sf.ddl.alter-view.set.k8fd6002a7cd1", - "sf.ddl.alter-view.set.k9965db81144b", - "sf.ddl.alter-view.set.kb13e8adea26f", - "sf.ddl.alter-view.set.kbea38ebf94b1", - "sf.ddl.alter-view.set.kd4bbc7d5b27c", - "sf.ddl.alter-view.set.ke6453531214c", - "sf.ddl.alter-view.unset.k1d81df43ddac", - "sf.ddl.alter-view.unset.k2a1878599876", - "sf.ddl.alter-view.unset.k9e8786e29055", - "sf.ddl.alter-view.unset.k9f80b274f6f4", - "sf.ddl.alter-view.unset.kba8fb112aa93", - "sf.ddl.alter-view.unset.ke7601ff06a1b", - "sf.ddl.alter-view.unset.keb56951e89c0", "sf.ddl.alter-warehouse.abort-all-queries.k151b591b87f7", "sf.ddl.alter-warehouse.abort-all-queries.k1d429f7ebbd6", "sf.ddl.alter-warehouse.abort-all-queries.k60bc63d76b60", @@ -146125,7 +147342,6 @@ "sf.ddl.create-image-repository.kf98fe0494667", "sf.ddl.create-index.k06f98b76fca1", "sf.ddl.create-index.k51438fa25dc3", - "sf.ddl.create-index.ke440e3be9eae", "sf.ddl.create-listing.as.k0843ac0196eb", "sf.ddl.create-listing.as.k15ef665a31b8", "sf.ddl.create-listing.as.k247db5827df5", @@ -146159,25 +147375,6 @@ "sf.ddl.create-listing.from.ke03907efa4e5", "sf.ddl.create-listing.from.ke908544d0246", "sf.ddl.create-listing.from.kf17e3d47a25a", - "sf.ddl.create-materialized-view.k019ec42bec05", - "sf.ddl.create-materialized-view.k068a869892ad", - "sf.ddl.create-materialized-view.k07f196df027c", - "sf.ddl.create-materialized-view.k1274ddbf7b7c", - "sf.ddl.create-materialized-view.k21f6392f5b32", - "sf.ddl.create-materialized-view.k26e84221b680", - "sf.ddl.create-materialized-view.k2b64d7aa1873", - "sf.ddl.create-materialized-view.k4563b56a0390", - "sf.ddl.create-materialized-view.k5694e9a447e8", - "sf.ddl.create-materialized-view.k89552fa78153", - "sf.ddl.create-materialized-view.k9960bb3d0b3a", - "sf.ddl.create-materialized-view.k9d3f2d53cc62", - "sf.ddl.create-materialized-view.kb6202a4d7a3c", - "sf.ddl.create-materialized-view.kb884595a4c19", - "sf.ddl.create-materialized-view.kbf98e371c202", - "sf.ddl.create-materialized-view.kdd23cfc29dbe", - "sf.ddl.create-materialized-view.ke50f4c8cd906", - "sf.ddl.create-materialized-view.kee1611f4c8d6", - "sf.ddl.create-materialized-view.kee393665ccc1", "sf.ddl.create-mcp-server.k1279c1e4fa11", "sf.ddl.create-mcp-server.k19952213077d", "sf.ddl.create-mcp-server.k48943b716bdc", @@ -146476,87 +147673,6 @@ "sf.ddl.create-semantic-view.create-or-alter-semantic.kde5a57ccc35a", "sf.ddl.create-semantic-view.create-semantic-view-tables.k96ffe527fc83", "sf.ddl.create-semantic-view.create-semantic-view-tables.kf0a8b4db490a", - "sf.ddl.create-semantic-view.define-semantic-view.k0093ea7e6ec7", - "sf.ddl.create-semantic-view.define-semantic-view.k043e8b62ab94", - "sf.ddl.create-semantic-view.define-semantic-view.k079a457fe7c6", - "sf.ddl.create-semantic-view.define-semantic-view.k0e220c0f8d15", - "sf.ddl.create-semantic-view.define-semantic-view.k0f3423a436ff", - "sf.ddl.create-semantic-view.define-semantic-view.k1d00a793f513", - "sf.ddl.create-semantic-view.define-semantic-view.k1f39b7f9725a", - "sf.ddl.create-semantic-view.define-semantic-view.k2a0b7f4b485c", - "sf.ddl.create-semantic-view.define-semantic-view.k2ff6eccd2c68", - "sf.ddl.create-semantic-view.define-semantic-view.k31de928a4563", - "sf.ddl.create-semantic-view.define-semantic-view.k35ad09ea7823", - "sf.ddl.create-semantic-view.define-semantic-view.k36e0c053a47a", - "sf.ddl.create-semantic-view.define-semantic-view.k386d51c05559", - "sf.ddl.create-semantic-view.define-semantic-view.k390043819ce4", - "sf.ddl.create-semantic-view.define-semantic-view.k3abfec20baff", - "sf.ddl.create-semantic-view.define-semantic-view.k3bdeffb3d6a5", - "sf.ddl.create-semantic-view.define-semantic-view.k40ffeaa0091e", - "sf.ddl.create-semantic-view.define-semantic-view.k42b3470e1ca8", - "sf.ddl.create-semantic-view.define-semantic-view.k42cddb6095e5", - "sf.ddl.create-semantic-view.define-semantic-view.k44850cc26b19", - "sf.ddl.create-semantic-view.define-semantic-view.k4541102fe97e", - "sf.ddl.create-semantic-view.define-semantic-view.k482423d06677", - "sf.ddl.create-semantic-view.define-semantic-view.k4d6ebcbe3489", - "sf.ddl.create-semantic-view.define-semantic-view.k54a9f3e72b90", - "sf.ddl.create-semantic-view.define-semantic-view.k54ce7563b41b", - "sf.ddl.create-semantic-view.define-semantic-view.k552981de78fb", - "sf.ddl.create-semantic-view.define-semantic-view.k574b680aeb4b", - "sf.ddl.create-semantic-view.define-semantic-view.k61f920bf5902", - "sf.ddl.create-semantic-view.define-semantic-view.k64c3ae4a9e9f", - "sf.ddl.create-semantic-view.define-semantic-view.k64f8c4affc7d", - "sf.ddl.create-semantic-view.define-semantic-view.k652c19eae799", - "sf.ddl.create-semantic-view.define-semantic-view.k682d7b69f793", - "sf.ddl.create-semantic-view.define-semantic-view.k6dd9ad3e821e", - "sf.ddl.create-semantic-view.define-semantic-view.k7694d2df8279", - "sf.ddl.create-semantic-view.define-semantic-view.k7fe7281ba191", - "sf.ddl.create-semantic-view.define-semantic-view.k82d10c874f0f", - "sf.ddl.create-semantic-view.define-semantic-view.k87735d163d75", - "sf.ddl.create-semantic-view.define-semantic-view.k88b6234a0197", - "sf.ddl.create-semantic-view.define-semantic-view.k893c9628597c", - "sf.ddl.create-semantic-view.define-semantic-view.k8969d27b5ef3", - "sf.ddl.create-semantic-view.define-semantic-view.k8a384e593a0f", - "sf.ddl.create-semantic-view.define-semantic-view.k8b310ca1a5d4", - "sf.ddl.create-semantic-view.define-semantic-view.k8f7bd0591c39", - "sf.ddl.create-semantic-view.define-semantic-view.k9046f52fd17a", - "sf.ddl.create-semantic-view.define-semantic-view.k9051d495b622", - "sf.ddl.create-semantic-view.define-semantic-view.k923f7cfb339a", - "sf.ddl.create-semantic-view.define-semantic-view.k946799d99c67", - "sf.ddl.create-semantic-view.define-semantic-view.k964bb0cabfc6", - "sf.ddl.create-semantic-view.define-semantic-view.k9aad3ed241e6", - "sf.ddl.create-semantic-view.define-semantic-view.k9ae307b2ac76", - "sf.ddl.create-semantic-view.define-semantic-view.k9c62060dbf27", - "sf.ddl.create-semantic-view.define-semantic-view.k9d8a7cb39002", - "sf.ddl.create-semantic-view.define-semantic-view.ka17ee18d50e3", - "sf.ddl.create-semantic-view.define-semantic-view.ka7a45ac8a0a9", - "sf.ddl.create-semantic-view.define-semantic-view.kb04fc5da0d04", - "sf.ddl.create-semantic-view.define-semantic-view.kb112a33830af", - "sf.ddl.create-semantic-view.define-semantic-view.kb5157928382b", - "sf.ddl.create-semantic-view.define-semantic-view.kb85f7a025938", - "sf.ddl.create-semantic-view.define-semantic-view.kba476f5f20e0", - "sf.ddl.create-semantic-view.define-semantic-view.kbc44b093b19d", - "sf.ddl.create-semantic-view.define-semantic-view.kbfeec52e211f", - "sf.ddl.create-semantic-view.define-semantic-view.kc20ff6f44413", - "sf.ddl.create-semantic-view.define-semantic-view.kc283a16ebfff", - "sf.ddl.create-semantic-view.define-semantic-view.kc3da0c050eff", - "sf.ddl.create-semantic-view.define-semantic-view.kc6410d01841a", - "sf.ddl.create-semantic-view.define-semantic-view.kcd4c7582ac80", - "sf.ddl.create-semantic-view.define-semantic-view.kcf0e0b37ead2", - "sf.ddl.create-semantic-view.define-semantic-view.kd95758a1ad31", - "sf.ddl.create-semantic-view.define-semantic-view.kddbe687b9730", - "sf.ddl.create-semantic-view.define-semantic-view.kddee89ec8e14", - "sf.ddl.create-semantic-view.define-semantic-view.ke050d08786b5", - "sf.ddl.create-semantic-view.define-semantic-view.ke2bbdd025d4f", - "sf.ddl.create-semantic-view.define-semantic-view.ke3d08a6bd098", - "sf.ddl.create-semantic-view.define-semantic-view.ke3ef917aeba5", - "sf.ddl.create-semantic-view.define-semantic-view.ke590bc77d882", - "sf.ddl.create-semantic-view.define-semantic-view.ke747ddeea0e6", - "sf.ddl.create-semantic-view.define-semantic-view.kf02ee43bc3e4", - "sf.ddl.create-semantic-view.define-semantic-view.kf6f0d8a75b71", - "sf.ddl.create-semantic-view.define-semantic-view.kf7d84864002f", - "sf.ddl.create-semantic-view.define-semantic-view.kfa9b6e9b0578", - "sf.ddl.create-semantic-view.define-semantic-view.kfef957307859", "sf.ddl.create-sequence.create-or-alter-sequence.k20fca8f5f88e", "sf.ddl.create-sequence.create-or-alter-sequence.k78ac458e2742", "sf.ddl.create-sequence.create-or-alter-sequence.k99f5b3f8173f", @@ -146716,164 +147832,6 @@ "sf.ddl.create-snapshot.kb67387b114a6", "sf.ddl.create-snapshot.kd618b9289f18", "sf.ddl.create-snapshot.kf7601bdcc20e", - "sf.ddl.create-stream.create-or-alter-stream.k0fd695118e45", - "sf.ddl.create-stream.create-or-alter-stream.k11737bd03613", - "sf.ddl.create-stream.create-or-alter-stream.k4ff0fd4112ea", - "sf.ddl.create-stream.create-or-alter-stream.k551a2e92df8b", - "sf.ddl.create-stream.create-or-alter-stream.k69631f0bbcf3", - "sf.ddl.create-stream.create-or-alter-stream.k994c642ed2f8", - "sf.ddl.create-stream.create-or-alter-stream.kaed3f5290069", - "sf.ddl.create-stream.create-or-alter-stream.kb90be711d2e0", - "sf.ddl.create-stream.create-or-alter-stream.kba022d79e648", - "sf.ddl.create-stream.create-or-alter-stream.kbaf039c96f9c", - "sf.ddl.create-stream.create-or-alter-stream.kc09c6a3c123e", - "sf.ddl.create-stream.create-or-alter-stream.kd2e79e706d2a", - "sf.ddl.create-stream.create-stream-on-dynamic.k24aa331dfc37", - "sf.ddl.create-stream.create-stream-on-dynamic.k2961d48df1a1", - "sf.ddl.create-stream.create-stream-on-dynamic.k3bb2c1514605", - "sf.ddl.create-stream.create-stream-on-dynamic.k3eca85a9ba3c", - "sf.ddl.create-stream.create-stream-on-dynamic.k55972c2bda52", - "sf.ddl.create-stream.create-stream-on-dynamic.k5c107983b019", - "sf.ddl.create-stream.create-stream-on-dynamic.k6efe8424f5d7", - "sf.ddl.create-stream.create-stream-on-dynamic.k787864a55eb6", - "sf.ddl.create-stream.create-stream-on-dynamic.k81a6d2a57203", - "sf.ddl.create-stream.create-stream-on-dynamic.k96324acd9100", - "sf.ddl.create-stream.create-stream-on-dynamic.k9df6429667bc", - "sf.ddl.create-stream.create-stream-on-dynamic.ka1847d7d56c5", - "sf.ddl.create-stream.create-stream-on-dynamic.ka2587ea7bd78", - "sf.ddl.create-stream.create-stream-on-dynamic.kbafd2096969a", - "sf.ddl.create-stream.create-stream-on-dynamic.kc67dddb3d916", - "sf.ddl.create-stream.create-stream-on-dynamic.kc908189e0dbe", - "sf.ddl.create-stream.create-stream-on-dynamic.kea4bfa7e2b97", - "sf.ddl.create-stream.create-stream-on-event.k027a41155311", - "sf.ddl.create-stream.create-stream-on-event.k0e57da9428f2", - "sf.ddl.create-stream.create-stream-on-event.k1c7323fe1fee", - "sf.ddl.create-stream.create-stream-on-event.k2e31440ea554", - "sf.ddl.create-stream.create-stream-on-event.k4d34381292f7", - "sf.ddl.create-stream.create-stream-on-event.k56b15778d5df", - "sf.ddl.create-stream.create-stream-on-event.k642e20a76893", - "sf.ddl.create-stream.create-stream-on-event.k683009182584", - "sf.ddl.create-stream.create-stream-on-event.k6ad964b08521", - "sf.ddl.create-stream.create-stream-on-event.k7208b269a222", - "sf.ddl.create-stream.create-stream-on-event.k788b97c35b21", - "sf.ddl.create-stream.create-stream-on-event.k8f9aa6f93a4d", - "sf.ddl.create-stream.create-stream-on-event.k95e2cfaeb679", - "sf.ddl.create-stream.create-stream-on-event.k9c1a0a9e6d7a", - "sf.ddl.create-stream.create-stream-on-event.ka10d0f882252", - "sf.ddl.create-stream.create-stream-on-event.ke9390f21bd1e", - "sf.ddl.create-stream.create-stream-on-event.kf7be268f222f", - "sf.ddl.create-stream.create-stream-on-external.k070a06c5c329", - "sf.ddl.create-stream.create-stream-on-external.k0eec43a75da7", - "sf.ddl.create-stream.create-stream-on-external.k188e143394d8", - "sf.ddl.create-stream.create-stream-on-external.k1945a21d53ed", - "sf.ddl.create-stream.create-stream-on-external.k2bc228943183", - "sf.ddl.create-stream.create-stream-on-external.k2d6518194e52", - "sf.ddl.create-stream.create-stream-on-external.k34bd04f949ed", - "sf.ddl.create-stream.create-stream-on-external.k3923e4d08476", - "sf.ddl.create-stream.create-stream-on-external.k4b03c16b3e2d", - "sf.ddl.create-stream.create-stream-on-external.k4b691f7e57d3", - "sf.ddl.create-stream.create-stream-on-external.k5351ead5f3c7", - "sf.ddl.create-stream.create-stream-on-external.k5e9dd1a9ccff", - "sf.ddl.create-stream.create-stream-on-external.k61c0b127e33e", - "sf.ddl.create-stream.create-stream-on-external.k67e75f1074e8", - "sf.ddl.create-stream.create-stream-on-external.k73a38589db0f", - "sf.ddl.create-stream.create-stream-on-external.k81e054a17599", - "sf.ddl.create-stream.create-stream-on-external.k838a6fef0946", - "sf.ddl.create-stream.create-stream-on-external.k8ae1f7024005", - "sf.ddl.create-stream.create-stream-on-external.k8f68f75e4e82", - "sf.ddl.create-stream.create-stream-on-external.k93a42fcabc7e", - "sf.ddl.create-stream.create-stream-on-external.ka8411d176a70", - "sf.ddl.create-stream.create-stream-on-external.kb80b233c941e", - "sf.ddl.create-stream.create-stream-on-external.kc57b0f0afadf", - "sf.ddl.create-stream.create-stream-on-external.kcfdf3869f92d", - "sf.ddl.create-stream.create-stream-on-external.kd12a8fcd7234", - "sf.ddl.create-stream.create-stream-on-external.kd7559d2e9f13", - "sf.ddl.create-stream.create-stream-on-external.ke306009ea3d2", - "sf.ddl.create-stream.create-stream-on-external.ke977a9138084", - "sf.ddl.create-stream.create-stream-on-external.kf5bdc9d3b8bd", - "sf.ddl.create-stream.create-stream-on-stage.k0b1d03752513", - "sf.ddl.create-stream.create-stream-on-stage.k10926dc2fa7b", - "sf.ddl.create-stream.create-stream-on-stage.k1381a2f725e2", - "sf.ddl.create-stream.create-stream-on-stage.k139731fc5d5b", - "sf.ddl.create-stream.create-stream-on-stage.k6535f20a4636", - "sf.ddl.create-stream.create-stream-on-stage.k74ae1b93ff39", - "sf.ddl.create-stream.create-stream-on-stage.k7f03349a2323", - "sf.ddl.create-stream.create-stream-on-stage.k81f496ca2f38", - "sf.ddl.create-stream.create-stream-on-stage.k883e7497df89", - "sf.ddl.create-stream.create-stream-on-stage.k9fd5add218e1", - "sf.ddl.create-stream.create-stream-on-stage.ka3843bdef324", - "sf.ddl.create-stream.create-stream-on-stage.ka5dc5e959f60", - "sf.ddl.create-stream.create-stream-on-stage.kba60ab63bedb", - "sf.ddl.create-stream.create-stream-on-stage.kbae500eb585b", - "sf.ddl.create-stream.create-stream-on-stage.kcb855688c7f2", - "sf.ddl.create-stream.create-stream-on-stage.kdbe381f9de36", - "sf.ddl.create-stream.create-stream-on-stage.ke8a18f759022", - "sf.ddl.create-stream.create-stream-on-table.k13b95fff7865", - "sf.ddl.create-stream.create-stream-on-table.k1927aafec6b4", - "sf.ddl.create-stream.create-stream-on-table.k1e58f8471a26", - "sf.ddl.create-stream.create-stream-on-table.k2130c4fe7e75", - "sf.ddl.create-stream.create-stream-on-table.k26714687f7ca", - "sf.ddl.create-stream.create-stream-on-table.k2ff7fbe598bb", - "sf.ddl.create-stream.create-stream-on-table.k3226bae717c8", - "sf.ddl.create-stream.create-stream-on-table.k33735439f812", - "sf.ddl.create-stream.create-stream-on-table.k4111128a4e2a", - "sf.ddl.create-stream.create-stream-on-table.k4a5485868724", - "sf.ddl.create-stream.create-stream-on-table.k5234d9dedc95", - "sf.ddl.create-stream.create-stream-on-table.k633a7dc17e5d", - "sf.ddl.create-stream.create-stream-on-table.k6a017c1cc59b", - "sf.ddl.create-stream.create-stream-on-table.k7eba6e4219a3", - "sf.ddl.create-stream.create-stream-on-table.k7ec2b6391935", - "sf.ddl.create-stream.create-stream-on-table.k85ed3c84e40c", - "sf.ddl.create-stream.create-stream-on-table.k86010f7650e0", - "sf.ddl.create-stream.create-stream-on-table.k91922bd93db7", - "sf.ddl.create-stream.create-stream-on-table.kab06dd948d52", - "sf.ddl.create-stream.create-stream-on-table.kb1ae05d6f263", - "sf.ddl.create-stream.create-stream-on-table.kb4c13a231060", - "sf.ddl.create-stream.create-stream-on-table.kb6e349d3c93e", - "sf.ddl.create-stream.create-stream-on-table.kb7285ab93043", - "sf.ddl.create-stream.create-stream-on-table.kbb40371d9a46", - "sf.ddl.create-stream.create-stream-on-table.kc3dda0288dc8", - "sf.ddl.create-stream.create-stream-on-table.kc79cdbb239fc", - "sf.ddl.create-stream.create-stream-on-table.ke57ca33956c8", - "sf.ddl.create-stream.create-stream-on-table.keffa30195d72", - "sf.ddl.create-stream.create-stream-on-table.kf33b601b4f88", - "sf.ddl.create-stream.create-stream-on-table.kfcf39c4aeec6", - "sf.ddl.create-stream.create-stream-on-view.k1e6887cf59ed", - "sf.ddl.create-stream.create-stream-on-view.k4370b0a166d7", - "sf.ddl.create-stream.create-stream-on-view.k44f584aa1c3b", - "sf.ddl.create-stream.create-stream-on-view.k48e0ff92946a", - "sf.ddl.create-stream.create-stream-on-view.k4e517907b1ee", - "sf.ddl.create-stream.create-stream-on-view.k552cd249f50d", - "sf.ddl.create-stream.create-stream-on-view.k5da733f0cfbf", - "sf.ddl.create-stream.create-stream-on-view.k5dc8001e9204", - "sf.ddl.create-stream.create-stream-on-view.k6dbaec256971", - "sf.ddl.create-stream.create-stream-on-view.k6e5d32359e3f", - "sf.ddl.create-stream.create-stream-on-view.k72694b729456", - "sf.ddl.create-stream.create-stream-on-view.k8068173faedf", - "sf.ddl.create-stream.create-stream-on-view.k8751ade64c4a", - "sf.ddl.create-stream.create-stream-on-view.ka1a80f197bc7", - "sf.ddl.create-stream.create-stream-on-view.ka5b56fef616c", - "sf.ddl.create-stream.create-stream-on-view.ka8f3c1bbc03f", - "sf.ddl.create-stream.create-stream-on-view.kb5ca79393277", - "sf.ddl.create-stream.create-stream-on-view.kc113ee6ea48d", - "sf.ddl.create-stream.create-stream-on-view.kce4841efaf0f", - "sf.ddl.create-stream.create-stream-on-view.kd28474b20f07", - "sf.ddl.create-stream.create-stream-on-view.kdae5b8b51216", - "sf.ddl.create-stream.create-stream-on-view.kdde6ba82c50c", - "sf.ddl.create-stream.create-stream-on-view.ke424f57d829b", - "sf.ddl.create-stream.create-stream-on-view.ke8b31351e86d", - "sf.ddl.create-stream.create-stream-on-view.kea728d47186c", - "sf.ddl.create-stream.create-stream-on-view.kedcea6fb9dfb", - "sf.ddl.create-stream.create-stream-on-view.kf4117041a86f", - "sf.ddl.create-stream.create-stream-on-view.kfdb37619f464", - "sf.ddl.create-stream.create-stream-on-view.kfdc2cee3cf39", - "sf.ddl.create-stream.define-stream.k2e7bb95f9c9b", - "sf.ddl.create-stream.define-stream.k446a2e5c880b", - "sf.ddl.create-stream.define-stream.k5bb1c4be674b", - "sf.ddl.create-stream.define-stream.k6b5d4a0043dd", - "sf.ddl.create-stream.define-stream.kbe7045be39a1", - "sf.ddl.create-stream.define-stream.kc008a70c4934", - "sf.ddl.create-stream.define-stream.ke5a3d15f8a0c", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k044440b0e5dd", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k08e99a995dcf", "sf.ddl.create-streamlit.create-streamlit-root-location-main-file.k10c94cf93ea2", @@ -147003,35 +147961,6 @@ "sf.ddl.create-versioned-schema.ke67978ccde94", "sf.ddl.create-versioned-schema.kec07de1bbc4f", "sf.ddl.create-versioned-schema.kf4e407bf82f5", - "sf.ddl.create-view.create-or-alter-view.k29546eca4dec", - "sf.ddl.create-view.create-or-alter-view.ka420eb594321", - "sf.ddl.create-view.create-view-as.k097cd4cbb9d7", - "sf.ddl.create-view.create-view-as.k0dba40eb606a", - "sf.ddl.create-view.create-view-as.k1e1cbbbc134e", - "sf.ddl.create-view.create-view-as.k20d074e12fd0", - "sf.ddl.create-view.create-view-as.k33eee4e21b6b", - "sf.ddl.create-view.create-view-as.k36c9f806af2b", - "sf.ddl.create-view.create-view-as.k37cd631f3951", - "sf.ddl.create-view.create-view-as.k494fa172a61b", - "sf.ddl.create-view.create-view-as.k4af736719289", - "sf.ddl.create-view.create-view-as.k4b1e7aba2b28", - "sf.ddl.create-view.create-view-as.k4feda181d303", - "sf.ddl.create-view.create-view-as.k5e34c237aa0d", - "sf.ddl.create-view.create-view-as.k6f614fa52cdf", - "sf.ddl.create-view.create-view-as.k6f8a75870d70", - "sf.ddl.create-view.create-view-as.k79ca58b8cc0a", - "sf.ddl.create-view.create-view-as.k8ba14e83b3d1", - "sf.ddl.create-view.create-view-as.k8e8e7bd2fc34", - "sf.ddl.create-view.create-view-as.k8fd5356f99b5", - "sf.ddl.create-view.create-view-as.kaf7b2977f6ec", - "sf.ddl.create-view.create-view-as.kb560ec54ef28", - "sf.ddl.create-view.create-view-as.kc505cc99758d", - "sf.ddl.create-view.create-view-as.kc686fb9af11d", - "sf.ddl.create-view.create-view-as.kd1186079b462", - "sf.ddl.create-view.create-view-as.kd97eacc4d229", - "sf.ddl.create-view.define-view.k131a9f3e75f6", - "sf.ddl.create-view.define-view.k637aee0bc387", - "sf.ddl.create-view.define-view.k9c5a66cd7336", "sf.ddl.create-warehouse.create-or-alter-warehouse.k00abbe9862bc", "sf.ddl.create-warehouse.create-or-alter-warehouse.k0d753ad0f2e8", "sf.ddl.create-warehouse.create-or-alter-warehouse.k151f805e29e9", diff --git a/coverage/syntax/corpus-verdicts.json b/coverage/syntax/corpus-verdicts.json index 3352db1a4..87f75429c 100644 --- a/coverage/syntax/corpus-verdicts.json +++ b/coverage/syntax/corpus-verdicts.json @@ -568,6 +568,12 @@ 1144, 1145, 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, 1193, 1194, 1195, @@ -5540,6 +5546,7 @@ 566, 614, 615, + 616, 624, 625, 626, diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/constraints.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/constraints.rs index 4cd5e7689..dd0dd2150 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/constraints.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/constraints.rs @@ -1075,7 +1075,11 @@ impl Parser { } } - fn parse_create_view_query(&mut self, query_parenthesized: bool) -> Result { + /// The view's query after AS, in parentheses when `query_parenthesized`. + pub(crate) fn parse_create_view_query( + &mut self, + query_parenthesized: bool, + ) -> Result { Ok(if self.check(TokenType::With) { self.parse_statement()? } else if query_parenthesized { diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/mod.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/mod.rs index 3572e3324..f1cdcd294 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/mod.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/mod.rs @@ -33,5 +33,7 @@ pub(crate) mod snowflake_routines; pub(crate) mod snowflake_semantic_view; pub(crate) mod snowflake_show; pub(crate) mod snowflake_statements; +pub(crate) mod snowflake_streams; +pub(crate) mod snowflake_views; pub(crate) mod table_options; pub(crate) mod transactions; diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter.rs index fc2a146d8..870fe477e 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter.rs @@ -30,6 +30,8 @@ const OMITTED_NAME_ACTIONS: &[(&str, &[&str])] = &[ ("CATALOG INTEGRATION", &["SET"]), ("EXTERNAL ACCESS INTEGRATION", &["SET", "UNSET"]), ("SECURITY INTEGRATION", &["SET"]), + ("VIEW", &["SET"]), + ("MATERIALIZED VIEW", &["SET"]), ]; impl Parser { diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_resources.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_resources.rs index efe7f39a0..9fa8c3de7 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_resources.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_resources.rs @@ -184,6 +184,7 @@ fn resource_actions(kind: &str) -> &'static [&'static [&'static str]] { &["DROP", "CLUSTERING", "KEY"], &["SUSPEND", "RECLUSTER"], &["RESUME", "RECLUSTER"], + &["RECLUSTER"], &["SUSPEND"], &["RESUME"], &["RENAME", "TO"], @@ -290,7 +291,7 @@ impl Parser { } /// Parse the operands and properties of `action` on `kind`, extending `action` with its later keywords. - fn parse_resource_action( + pub(super) fn parse_resource_action( &mut self, kind: &str, action: String, @@ -303,6 +304,13 @@ impl Parser { properties.extend(self.parse_resource_properties()?); (vec![], properties) } + ("VIEW", "SET" | "UNSET") if self.check_identifier("SECURE") => { + self.skip(); + if !self.is_statement_end_at(0) { + return Err(self.parse_error("A view's SECURE is set or unset on its own")); + } + (vec![], vec![property("SECURE", None, None)]) + } ("DATASET", "DROP VERSION") | (_, "REMOVE STORAGE_LOCATION") => { (vec![self.parse_string_value()?], vec![]) } diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_tables.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_tables.rs index 80a6988c6..0d278de27 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_tables.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_alter_tables.rs @@ -74,7 +74,7 @@ impl Parser { } else if self.match_token(TokenType::Sequence) { self.parse_alter_kind_extension("SEQUENCE", &[&["RENAME", "TO"], &["UNSET"]]) } else if self.match_token(TokenType::View) { - self.parse_alter_kind_extension("VIEW", &[&["RENAME", "TO"]]) + self.parse_alter_view_extension() } else if self.match_identifier("SHARE") { return self.parse_alter_share().map(Some); } else { @@ -311,6 +311,41 @@ impl Parser { })) } + /// Parse the head and a RENAME TO, property SET or property UNSET of an ALTER VIEW, or None for another action. + fn parse_alter_view_extension(&mut self) -> Result> { + let head = self.parse_alter_head_or_omitted("VIEW")?; + if self.is_statement_end_at(0) { + return Err(self.parse_error("Expected an ALTER VIEW action")); + } + let sets_property = self.check(TokenType::Set) + && (self.check_next_identifier("SECURE") + || self + .tokens + .get(self.current + 2) + .is_some_and(|token| token.token_type == TokenType::Eq)); + let unsets_property = + self.check_text_seq(&["UNSET"]) && !self.check_next_identifier("TBLPROPERTIES"); + let action = if self.match_text_seq(&["RENAME", "TO"]) { + return Ok(Some(alter_object( + "VIEW", + head, + "RENAME TO".to_owned(), + (vec![self.parse_tag_operand()?], vec![]), + ))); + } else if sets_property || unsets_property { + self.skip(); + if sets_property { + "SET" + } else { + "UNSET" + } + } else { + return Ok(None); + }; + let (action, parts) = self.parse_resource_action("VIEW", action.to_owned())?; + Ok(Some(alter_object("VIEW", head, action, parts))) + } + /// Parse the head and one of `actions` of an ALTER `kind`, or None for another action. fn parse_alter_kind_extension( &mut self, diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_clone.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_clone.rs index cc77c67ef..ad53702c4 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_clone.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_clone.rs @@ -28,12 +28,17 @@ pub(crate) enum CloneOptions { impl Parser { /// A clone's `{ AT | BEFORE } ( { TIMESTAMP | OFFSET | STATEMENT } => )`, if present. pub(crate) fn parse_clone_time_travel(&mut self) -> Result> { + self.parse_time_travel(&[&["TIMESTAMP"], &["OFFSET"], &["STATEMENT"]]) + } + + /// `{ AT | BEFORE } ( => )` for one of `kinds`, if present. + pub(crate) fn parse_time_travel(&mut self, kinds: &[&[&str]]) -> Result> { if !self.check_identifier("AT") && !self.check(TokenType::Before) { return Ok(None); } let this = self.advance_text()?.to_ascii_uppercase(); self.expect_token(TokenType::LParen)?; - let kind = self.expect_alter_words(&[&["TIMESTAMP"], &["OFFSET"], &["STATEMENT"]])?; + let kind = self.expect_alter_words(kinds)?; self.expect_token(TokenType::FArrow)?; let expression = self.parse_expression()?; self.expect_token(TokenType::RParen)?; diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_properties.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_properties.rs index 2676ba740..58e5bd16a 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_properties.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_create_properties.rs @@ -28,8 +28,11 @@ impl Parser { if let Some(table) = self.parse_snowflake_create_event_table(or_replace, or_alter)? { return Ok(Some(table)); } - if self.check_text_seq(&["SEMANTIC", "VIEW"]) { - self.check_snowflake_semantic_view()?; + if let Some(stream) = self.parse_snowflake_create_stream(or_replace, or_alter)? { + return Ok(Some(stream)); + } + if let Some(view) = self.parse_snowflake_create_semantic_view(or_replace, or_alter)? { + return Ok(Some(view)); } if self.check(TokenType::Alter) || self.check(TokenType::String) { return Err(self.parse_error("Expected an object kind after CREATE")); diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_external_table.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_external_table.rs index de5e2d082..1d3f126e9 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_external_table.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_external_table.rs @@ -311,13 +311,13 @@ impl Parser { } /// `( = [ , ... ] )`, one TAG property per tag. - fn parse_external_tags(&mut self) -> Result> { + pub(super) fn parse_external_tags(&mut self) -> Result> { self.expect_token(TokenType::LParen)?; let mut tags: Vec = Vec::new(); loop { let tag = self.parse_object_name()?; self.expect_token(TokenType::Eq)?; - let value = match self.check(TokenType::String) { + let value = match self.check(TokenType::String) || self.check(TokenType::Number) { true => self.parse_primary()?, false => self.parse_external_word()?, }; @@ -390,7 +390,8 @@ impl Parser { Ok(Expression::Tuple(Box::new(Tuple { expressions }))) } - fn parse_external_scalar(&mut self) -> Result { + /// A string, number or boolean literal, or a bare word. + pub(super) fn parse_external_scalar(&mut self) -> Result { let literal = matches!( self.peek().token_type, TokenType::String | TokenType::Number | TokenType::True | TokenType::False diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_semantic_view.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_semantic_view.rs index d8ab76239..36bc639e6 100644 --- a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_semantic_view.rs +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_semantic_view.rs @@ -1,251 +1,340 @@ -//! Parser ddl: Snowflake CREATE SEMANTIC VIEW, checked before the statement is kept as written. +//! Parser ddl: Snowflake CREATE SEMANTIC VIEW and DEFINE SEMANTIC VIEW, built against their grammar. +use crate::parser::_helpers::ddl::snowflake_alter::property; use crate::parser::constants::SNOWFLAKE_VERIFIED_QUERY_FIELDS; use crate::parser::models::Parser; +use sqlquack_syntax::expressions::names::models::Identifier; +use sqlquack_syntax::expressions::operators::models::BinaryOp; +use sqlquack_syntax::expressions::schema_objects::models::{CreateObject, ObjectProperty}; +use sqlquack_syntax::expressions::tree::models::Expression; +use sqlquack_syntax::expressions::types::models::Tuple; use sqlquack_syntax::tokens::models::TokenType; use sqlquack_syntax::tokens::types::Result; +/// Parses one item of a semantic view list. +type SemanticItem = fn(&mut Parser) -> Result; + +/// ` = `: one named part of a semantic view entry. +pub(super) fn part(key: &str, value: Expression) -> Expression { + Expression::PropertyEQ(Box::new(BinaryOp::new( + Expression::Identifier(Identifier::new(key)), + value, + ))) +} + +/// The parts of one entry, in the order they are written. +pub(super) fn tuple(expressions: Vec) -> Expression { + Expression::Tuple(Box::new(Tuple { expressions })) +} + impl Parser { - /// Refuses a Snowflake CREATE SEMANTIC VIEW that breaks its grammar, leaving the position unchanged. - pub(crate) fn check_snowflake_semantic_view(&mut self) -> Result<()> { - let start = self.current; - let checked = self.check_semantic_view_body(); - self.current = start; + /// A Snowflake CREATE [ OR REPLACE | OR ALTER ] SEMANTIC VIEW or DEFINE SEMANTIC VIEW; None for any other CREATE. + pub(crate) fn parse_snowflake_create_semantic_view( + &mut self, + or_replace: bool, + or_alter: bool, + ) -> Result> { + if !self.check_text_seq(&["SEMANTIC", "VIEW"]) { + return Ok(None); + } + self.config.in_semantic_view = true; + let view = self.parse_semantic_view_definition(or_replace, or_alter); self.config.in_semantic_view = false; - checked + view.map(Some) } - /// Skips EXCLUDING after a window's PARTITION BY while a semantic view is checked. + /// Skips EXCLUDING after a window's PARTITION BY inside a semantic view. pub(crate) fn skip_semantic_view_excluding(&mut self) { if self.config.in_semantic_view { self.match_text_seq(&["EXCLUDING"]); } } - fn check_semantic_view_body(&mut self) -> Result<()> { - self.config.in_semantic_view = true; + fn parse_semantic_view_definition( + &mut self, + or_replace: bool, + or_alter: bool, + ) -> Result { self.match_text_seq(&["SEMANTIC", "VIEW"]); - if self.check(TokenType::If) + let if_not_exists = self.check(TokenType::If); + if if_not_exists && !self.match_keywords(&[TokenType::If, TokenType::Not, TokenType::Exists]) { return Err(self.parse_error("Expected IF NOT EXISTS")); } - self.parse_object_name()?; + let name = self.parse_object_name()?; if !self.match_text_seq(&["TABLES"]) { return Err(self.parse_error("Expected TABLES after the semantic view name")); } - self.semantic_list(Self::check_semantic_table)?; + let mut properties = vec![property( + "TABLES", + None, + Some(self.semantic_list(Self::parse_semantic_table)?), + )]; while !self.is_at_end() && !self.check(TokenType::Semicolon) { - self.check_semantic_view_clause()?; + properties.push(self.parse_semantic_view_clause()?); } - Ok(()) + Ok(Expression::CreateObject(Box::new(CreateObject { + kind: "SEMANTIC VIEW".to_owned(), + modifier: None, + or_replace, + or_alter, + if_not_exists, + name, + source: String::new(), + operands: Vec::new(), + properties, + }))) } - fn check_semantic_view_clause(&mut self) -> Result<()> { - if self.match_text_seq(&["RELATIONSHIPS"]) { - self.semantic_list(Self::check_semantic_relationship) - } else if self.match_text_seq(&["FACTS"]) - || self.match_text_seq(&["DIMENSIONS"]) - || self.match_text_seq(&["METRICS"]) - { - self.semantic_list(Self::check_semantic_item) - } else if self.match_text_seq(&["AI_VERIFIED_QUERIES"]) { - self.semantic_list(Self::check_semantic_verified_query) - } else if self.match_text_seq(&["AI_SQL_GENERATION"]) - || self.match_text_seq(&["AI_QUESTION_CATEGORIZATION"]) - { - self.expect_semantic_string() - } else if self.match_text_seq(&["COPY", "GRANTS"]) { - Ok(()) - } else if self.match_text_seq(&["COMMENT"]) { + fn parse_semantic_view_clause(&mut self) -> Result { + let lists: [(&str, SemanticItem); 5] = [ + ("RELATIONSHIPS", Self::parse_semantic_relationship), + ("FACTS", Self::parse_semantic_item), + ("DIMENSIONS", Self::parse_semantic_item), + ("METRICS", Self::parse_semantic_item), + ("AI_VERIFIED_QUERIES", Self::parse_semantic_verified_query), + ]; + if let Some((kind, item)) = lists.iter().find(|(kind, _)| self.match_text_seq(&[kind])) { + return Ok(property(kind, None, Some(self.semantic_list(*item)?))); + } + for kind in ["AI_SQL_GENERATION", "AI_QUESTION_CATEGORIZATION"] { + if self.match_text_seq(&[kind]) { + return Ok(property(kind, None, Some(self.parse_semantic_string()?))); + } + } + if self.match_text_seq(&["COPY", "GRANTS"]) { + return Ok(property("COPY GRANTS", None, None)); + } + if self.match_text_seq(&["COMMENT"]) { self.expect_token(TokenType::Eq)?; - self.expect_semantic_string() - } else if self.match_text_seq(&["WITH", "TAG"]) || self.match_text_seq(&["TAG"]) { - self.check_semantic_tags() - } else { - Err(self.parse_error("Unexpected clause in CREATE SEMANTIC VIEW")) + return Ok(property( + "COMMENT", + None, + Some(self.parse_semantic_string()?), + )); + } + if self.match_text_seq(&["WITH", "TAG"]) || self.match_text_seq(&["TAG"]) { + return Ok(property("TAG", None, Some(self.parse_semantic_tags()?))); } + Err(self.parse_error("Unexpected clause in CREATE SEMANTIC VIEW")) } - /// Checks `( [ , ... ] )`, which needs at least one item. - fn semantic_list(&mut self, item: fn(&mut Self) -> Result<()>) -> Result<()> { + /// `( [ , ... ] )`, which needs at least one item. + fn semantic_list(&mut self, item: SemanticItem) -> Result { self.expect_token(TokenType::LParen)?; + let mut items: Vec = Vec::new(); loop { - item(self)?; + items.push(item(self)?); if !self.match_token(TokenType::Comma) { break; } } self.expect_token(TokenType::RParen)?; - Ok(()) + Ok(tuple(items)) } - fn expect_semantic_string(&mut self) -> Result<()> { - match self.match_token(TokenType::String) { - true => Ok(()), + fn parse_semantic_string(&mut self) -> Result { + match self.check(TokenType::String) { + true => self.parse_primary(), false => Err(self.parse_error("Expected a string")), } } - /// Checks one unqualified name: an identifier or a keyword Snowflake does not reserve. - fn expect_semantic_name(&mut self) -> Result<()> { - let token_type = self.peek().token_type; - let name_like = matches!( - token_type, - TokenType::Identifier | TokenType::QuotedIdentifier | TokenType::Var - ) || token_type.is_keyword(); - if self.is_at_end() || !name_like || self.is_snowflake_reserved_keyword() { - return Err(self.parse_error("Expected a name")); - } - self.skip(); - Ok(()) + /// One unqualified name: an identifier or a keyword Snowflake does not reserve. + fn parse_semantic_name(&mut self) -> Result { + Ok(Expression::Identifier(self.parse_external_name()?)) } - fn check_semantic_alias(&mut self) -> Result<()> { - if self + /// ` AS`, when the name is followed by AS. + fn parse_semantic_alias(&mut self) -> Result> { + if !self .peek_nth(1) .is_some_and(|token| token.token_type == TokenType::As) { - self.expect_semantic_name()?; - self.skip(); + return Ok(None); } - Ok(()) + let alias = self.parse_semantic_name()?; + self.skip(); + Ok(Some(part("ALIAS", alias))) } - fn check_semantic_table(&mut self) -> Result<()> { - self.check_semantic_alias()?; - self.parse_object_name()?; + /// `[ AS] [ PRIMARY KEY ( ... ) | UNIQUE ( ... ) | CONSTRAINT ... | ... ]`. + fn parse_semantic_table(&mut self) -> Result { + let mut parts: Vec = self.parse_semantic_alias()?.into_iter().collect(); + parts.push(Expression::Table(Box::new(self.parse_object_name()?))); while !self.check(TokenType::Comma) && !self.check(TokenType::RParen) { - if self.match_text_seq(&["PRIMARY", "KEY"]) || self.match_text_seq(&["UNIQUE"]) { - self.semantic_list(Self::expect_semantic_name)?; + if self.match_text_seq(&["PRIMARY", "KEY"]) { + parts.push(part( + "PRIMARY KEY", + self.semantic_list(Self::parse_semantic_name)?, + )); + } else if self.match_text_seq(&["UNIQUE"]) { + parts.push(part( + "UNIQUE", + self.semantic_list(Self::parse_semantic_name)?, + )); } else if self.match_text_seq(&["CONSTRAINT"]) { - self.expect_semantic_name()?; + let constraint = self.parse_semantic_name()?; if !self.match_text_seq(&["DISTINCT", "RANGE"]) { return Err(self.parse_error("Expected DISTINCT RANGE")); } - self.check_semantic_range()?; + let range = self.parse_semantic_range()?; + parts.push(part("CONSTRAINT", tuple(vec![constraint, range]))); } else { - self.check_semantic_property(false)?; + parts.push(self.parse_semantic_property(false)?); } } - Ok(()) + Ok(tuple(parts)) } - fn check_semantic_range(&mut self) -> Result<()> { + /// `BETWEEN AND EXCLUSIVE`. + fn parse_semantic_range(&mut self) -> Result { if !self.match_text_seq(&["BETWEEN"]) { return Err(self.parse_error("Expected BETWEEN")); } - self.expect_semantic_name()?; + let start = self.parse_semantic_name()?; if !self.match_text_seq(&["AND"]) { return Err(self.parse_error("Expected AND")); } - self.expect_semantic_name()?; + let end = self.parse_semantic_name()?; match self.match_text_seq(&["EXCLUSIVE"]) { - true => Ok(()), + true => Ok(part("DISTINCT RANGE", tuple(vec![start, end]))), false => Err(self.parse_error("Expected EXCLUSIVE")), } } - /// Checks COMMENT, SYNONYMS or TAG, and with `item` also a Cortex Search service. - fn check_semantic_property(&mut self, item: bool) -> Result<()> { + /// COMMENT, SYNONYMS or TAG, and with `item` also a Cortex Search service. + fn parse_semantic_property(&mut self, item: bool) -> Result { if self.match_text_seq(&["COMMENT"]) { self.expect_token(TokenType::Eq)?; - self.expect_semantic_string() + Ok(part("COMMENT", self.parse_semantic_string()?)) } else if self.match_text_seq(&["WITH", "SYNONYMS"]) { self.match_token(TokenType::Eq); - self.semantic_list(Self::expect_semantic_string) + Ok(part( + "SYNONYMS", + self.semantic_list(Self::parse_semantic_string)?, + )) } else if item && self.match_text_seq(&["WITH", "CORTEX", "SEARCH", "SERVICE"]) { - self.parse_object_name()?; - match self.match_token(TokenType::Using) { - true => self.expect_semantic_name(), - false => Ok(()), + let mut service = vec![Expression::Table(Box::new(self.parse_object_name()?))]; + if self.match_token(TokenType::Using) { + service.push(self.parse_semantic_name()?); } + Ok(part("CORTEX SEARCH SERVICE", tuple(service))) } else if self.match_text_seq(&["WITH", "TAG"]) || self.match_text_seq(&["TAG"]) { - self.check_semantic_tags() + Ok(part("TAG", self.parse_semantic_tags()?)) } else { Err(self.parse_error("Unexpected property in CREATE SEMANTIC VIEW")) } } - fn check_semantic_tags(&mut self) -> Result<()> { + /// `( = [ , ... ] )`, the value a string or a name. + fn parse_semantic_tags(&mut self) -> Result { self.semantic_list(|parser| { - parser.parse_object_name()?; + let tag = Expression::Table(Box::new(parser.parse_object_name()?)); parser.expect_token(TokenType::Eq)?; - match parser.check(TokenType::String) { - true => parser.expect_semantic_string(), - false => parser.expect_semantic_name(), - } + let value = match parser.check(TokenType::String) { + true => parser.parse_semantic_string()?, + false => parser.parse_semantic_name()?, + }; + Ok(Expression::PropertyEQ(Box::new(BinaryOp::new(tag, value)))) }) } - fn check_semantic_relationship(&mut self) -> Result<()> { - self.check_semantic_alias()?; - self.parse_object_name()?; - self.semantic_list(Self::expect_semantic_name)?; + /// `[ AS]
( ) REFERENCES
[ ( | ) ]`. + fn parse_semantic_relationship(&mut self) -> Result { + let mut parts: Vec = self.parse_semantic_alias()?.into_iter().collect(); + parts.push(Expression::Table(Box::new(self.parse_object_name()?))); + parts.push(self.semantic_list(Self::parse_semantic_name)?); if !self.match_text_seq(&["REFERENCES"]) { return Err(self.parse_error("Expected REFERENCES")); } - self.parse_object_name()?; - if !self.match_token(TokenType::LParen) { - return Ok(()); - } - if self.check_text_seq(&["BETWEEN"]) { - self.check_semantic_range()?; - } else { - loop { - self.match_text_seq(&["ASOF"]); - self.expect_semantic_name()?; - if !self.match_token(TokenType::Comma) { - break; + let mut references = vec![Expression::Table(Box::new(self.parse_object_name()?))]; + if self.match_token(TokenType::LParen) { + if self.check_text_seq(&["BETWEEN"]) { + references.push(self.parse_semantic_range()?); + } else { + loop { + references.push(match self.match_text_seq(&["ASOF"]) { + true => part("ASOF", self.parse_semantic_name()?), + false => self.parse_semantic_name()?, + }); + if !self.match_token(TokenType::Comma) { + break; + } } } + self.expect_token(TokenType::RParen)?; } - self.expect_token(TokenType::RParen)?; - Ok(()) + parts.push(part("REFERENCES", tuple(references))); + Ok(tuple(parts)) } - /// Checks a fact, dimension or metric: `[PUBLIC | PRIVATE]
. [...] AS [ ...]`. - fn check_semantic_item(&mut self) -> Result<()> { + /// A fact, dimension or metric: `[PUBLIC | PRIVATE]
. [...] AS [ ...]`. + fn parse_semantic_item(&mut self) -> Result { + let mut parts: Vec = Vec::new(); if !self.check_next(TokenType::Dot) { - let _ = self.match_text_seq(&["PUBLIC"]) || self.match_text_seq(&["PRIVATE"]); + for visibility in ["PUBLIC", "PRIVATE"] { + if self.match_text_seq(&[visibility]) { + parts.push(Expression::Identifier(Identifier::new(visibility))); + break; + } + } } - self.expect_semantic_name()?; + let table = self.parse_semantic_name()?; self.expect_token(TokenType::Dot)?; - self.expect_semantic_name()?; + parts.push(tuple(vec![table, self.parse_semantic_name()?])); loop { if self.match_text_seq(&["LABELS"]) { self.expect_token(TokenType::Eq)?; - self.semantic_list(Self::expect_semantic_name)?; + parts.push(part( + "LABELS", + self.semantic_list(Self::parse_semantic_name)?, + )); } else if self.match_token(TokenType::Using) { - self.semantic_list(Self::expect_semantic_name)?; + parts.push(part( + "USING", + self.semantic_list(Self::parse_semantic_name)?, + )); } else if self.match_text_seq(&["NON", "ADDITIVE", "BY"]) { - self.semantic_list(Self::check_semantic_ordered_name)?; + parts.push(part( + "NON ADDITIVE BY", + self.semantic_list(Self::parse_semantic_ordered_name)?, + )); } else { break; } } self.expect_token(TokenType::As)?; - self.parse_expression()?; + parts.push(part("AS", self.parse_expression()?)); while !self.check(TokenType::Comma) && !self.check(TokenType::RParen) { - self.check_semantic_property(true)?; + parts.push(self.parse_semantic_property(true)?); } - Ok(()) + Ok(tuple(parts)) } - fn check_semantic_ordered_name(&mut self) -> Result<()> { - self.expect_semantic_name()?; - let _ = self.match_token(TokenType::Asc) || self.match_token(TokenType::Desc); - if self.match_text_seq(&["NULLS"]) - && !(self.match_text_seq(&["FIRST"]) || self.match_text_seq(&["LAST"])) - { - return Err(self.parse_error("Expected FIRST or LAST after NULLS")); + /// ` [ ASC | DESC ] [ NULLS { FIRST | LAST } ]`. + fn parse_semantic_ordered_name(&mut self) -> Result { + let mut parts = vec![self.parse_semantic_name()?]; + for direction in ["ASC", "DESC"] { + if self.match_text_seq(&[direction]) { + parts.push(Expression::Identifier(Identifier::new(direction))); + break; + } } - Ok(()) + if self.match_text_seq(&["NULLS"]) { + let order = self.expect_alter_words(&[&["FIRST"], &["LAST"]])?; + parts.push(part( + "NULLS", + Expression::Identifier(Identifier::new(order)), + )); + } + Ok(tuple(parts)) } - /// Checks ` AS ( ... )`, which needs QUESTION and SQL. - fn check_semantic_verified_query(&mut self) -> Result<()> { - self.expect_semantic_name()?; + /// ` AS ( ... )`, which needs QUESTION and SQL. + fn parse_semantic_verified_query(&mut self) -> Result { + let mut parts = vec![self.parse_semantic_name()?]; self.expect_token(TokenType::As)?; self.expect_token(TokenType::LParen)?; let mut keys: Vec = Vec::new(); @@ -256,15 +345,17 @@ impl Parser { ) { return Err(self.parse_error("Expected a verified query field")); } - keys.push(self.advance_text()?.to_ascii_uppercase()); + let key = self.advance_text()?.to_ascii_uppercase(); let literal = matches!( self.peek().token_type, TokenType::String | TokenType::Number | TokenType::True | TokenType::False ); - match literal { - true => self.skip(), - false => self.expect_semantic_name()?, - } + let value = match literal && !self.is_at_end() { + true => self.parse_primary()?, + false => self.parse_semantic_name()?, + }; + parts.push(part(&key, value)); + keys.push(key); } if !SNOWFLAKE_VERIFIED_QUERY_FIELDS .iter() @@ -273,6 +364,6 @@ impl Parser { return Err(self.parse_error("Expected QUESTION and SQL in a verified query")); } self.expect_token(TokenType::RParen)?; - Ok(()) + Ok(tuple(parts)) } } diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_streams.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_streams.rs new file mode 100644 index 000000000..375e5a19c --- /dev/null +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_streams.rs @@ -0,0 +1,117 @@ +//! Parser ddl: Snowflake CREATE STREAM on a table, view, external, dynamic or event table or a stage, checked against its grammar. + +use crate::parser::_helpers::ddl::snowflake_alter::property; +use crate::parser::_helpers::ddl::snowflake_alter::property_kind; +use crate::parser::models::Parser; +use sqlquack_syntax::expressions::names::models::Identifier; +use sqlquack_syntax::expressions::schema_objects::models::{CreateObject, ObjectProperty}; +use sqlquack_syntax::expressions::tree::models::Expression; +use sqlquack_syntax::expressions::types::models::Tuple; +use sqlquack_syntax::tokens::models::TokenType; +use sqlquack_syntax::tokens::types::Result; + +/// The sources of CREATE STREAM, as their words after ON. +const STREAM_SOURCES: [&[&str]; 6] = [ + &["TABLE"], + &["VIEW"], + &["EXTERNAL", "TABLE"], + &["DYNAMIC", "TABLE"], + &["EVENT", "TABLE"], + &["STAGE"], +]; + +/// The kinds a stream's AT or BEFORE takes. +const STREAM_TIME_TRAVEL_KINDS: [&[&str]; 5] = [ + &["TIMESTAMP"], + &["OFFSET"], + &["STATEMENT"], + &["STREAM"], + &["VERSION"], +]; + +impl Parser { + /// A Snowflake CREATE [ OR REPLACE | OR ALTER ] STREAM or DEFINE STREAM other than a clone; None for any other CREATE and outside the faithful Snowflake modes. + pub(crate) fn parse_snowflake_create_stream( + &mut self, + or_replace: bool, + or_alter: bool, + ) -> Result> { + if !self.applies_snowflake_context_rules() || !self.check_identifier("STREAM") { + return Ok(None); + } + let start = self.current; + self.skip(); + let if_not_exists = !or_alter && self.check(TokenType::If); + if if_not_exists + && !self.match_keywords(&[TokenType::If, TokenType::Not, TokenType::Exists]) + { + return Err(self.parse_error("Expected IF NOT EXISTS")); + } + let name = self.parse_iceberg_object_name()?; + if !or_alter && self.check_identifier("CLONE") { + self.current = start; + return Ok(None); + } + let mut properties: Vec = Vec::new(); + if self.match_text_seq(&["WITH", "TAG"]) || self.match_text_seq(&["TAG"]) { + properties.extend(self.parse_external_tags()?); + } + if !or_alter && self.match_text_seq(&["COPY", "GRANTS"]) { + properties.push(property("COPY GRANTS", None, None)); + } + if !self.match_token(TokenType::On) { + return Err(self.parse_error("Expected ON and the stream's source")); + } + let sources = match or_alter { + true => &STREAM_SOURCES[..1], + false => &STREAM_SOURCES[..], + }; + let Some(source) = sources.iter().find(|words| self.check_text_seq(words)) else { + let words = sources + .iter() + .map(|words| words.join(" ")) + .collect::>() + .join(" or "); + return Err(self.parse_error(format!("Expected {words}"))); + }; + self.match_text_seq(source); + let mut operands = vec![Expression::Table(Box::new( + self.parse_iceberg_object_name()?, + ))]; + if !or_alter { + operands.extend(self.parse_time_travel(&STREAM_TIME_TRAVEL_KINDS)?); + } + while !self.is_at_end() && !self.check(TokenType::Semicolon) { + let kind = property_kind(&self.parse_simple_name()?); + self.expect_token(TokenType::Eq)?; + let value = match kind.as_str() { + "COPY" => self.parse_stream_copy()?, + _ => self.parse_external_scalar()?, + }; + properties.push(property(&kind, None, Some(value))); + } + Ok(Some(Expression::CreateObject(Box::new(CreateObject { + kind: "STREAM".to_owned(), + modifier: None, + or_replace, + or_alter, + if_not_exists, + name, + source: format!("ON {}", source.join(" ")), + operands, + properties, + })))) + } + + /// A stream's `COPY = ( [ GRANTS ] )` value after its `=`. + fn parse_stream_copy(&mut self) -> Result { + self.expect_token(TokenType::LParen)?; + let mut expressions: Vec = Vec::new(); + if !self.check(TokenType::RParen) { + let grants = self.expect_alter_words(&[&["GRANTS"]])?; + expressions.push(Expression::Identifier(Identifier::new(grants))); + } + self.expect_token(TokenType::RParen)?; + Ok(Expression::Tuple(Box::new(Tuple { expressions }))) + } +} diff --git a/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_views.rs b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_views.rs new file mode 100644 index 000000000..d4706f9ce --- /dev/null +++ b/crates/sqlquack-syntax-snowflake/src/parser/_helpers/ddl/snowflake_views.rs @@ -0,0 +1,307 @@ +//! Parser ddl: Snowflake CREATE VIEW and CREATE MATERIALIZED VIEW, checked against their grammar. + +use crate::parser::_helpers::ddl::snowflake_semantic_view::{part, tuple}; +use crate::parser::models::Parser; +use sqlquack_syntax::expressions::names::models::Identifier; +use sqlquack_syntax::expressions::operators::models::BinaryOp; +use sqlquack_syntax::expressions::schema_objects::models::{CreateView, ViewColumn}; +use sqlquack_syntax::expressions::tree::models::Expression; +use sqlquack_syntax::tokens::models::TokenType; +use sqlquack_syntax::tokens::types::Result; + +/// The words that make a view temporary, longest first. +const VIEW_SCOPES: [&[&str]; 9] = [ + &["LOCAL", "TEMPORARY"], + &["LOCAL", "TEMP"], + &["LOCAL", "VOLATILE"], + &["GLOBAL", "TEMPORARY"], + &["GLOBAL", "TEMP"], + &["GLOBAL", "VOLATILE"], + &["TEMPORARY"], + &["TEMP"], + &["VOLATILE"], +]; + +/// What a COPY = ( ... ) list may name. +const VIEW_COPY_KINDS: [&[&str]; 3] = [&["COMMENTS"], &["TAGS"], &["GRANTS"]]; + +/// The view kinds whose clauses differ: a view, a materialized view, and CREATE OR ALTER or DEFINE of a view. +#[derive(Clone, Copy, PartialEq, Eq)] +enum ViewKind { + View, + Materialized, + OrAlter, +} + +impl Parser { + /// A Snowflake CREATE [ OR REPLACE | OR ALTER ] [ SECURE ] [ ] [ RECURSIVE ] VIEW, or [ SECURE ] [ INTERACTIVE ] MATERIALIZED VIEW; None for any other CREATE and outside the faithful Snowflake modes. + pub(crate) fn parse_snowflake_create_view( + &mut self, + or_replace: bool, + or_alter: bool, + ) -> Result> { + if !self.applies_snowflake_context_rules() { + return Ok(None); + } + let start = self.current; + let secure = self.match_text_seq(&["SECURE"]); + let scope = VIEW_SCOPES + .iter() + .find(|words| self.match_text_seq(words)) + .map(|words| words.join(" ")); + let interactive = self.match_text_seq(&["INTERACTIVE"]); + let recursive = self.match_text_seq(&["RECURSIVE"]); + let materialized = self.match_token(TokenType::Materialized); + if !self.check(TokenType::View) { + self.current = start; + return Ok(None); + } + if materialized && (scope.is_some() || recursive || or_alter) { + return Err(self.parse_error("Expected VIEW; a materialized view is not temporary, recursive or altered in place")); + } + if recursive && scope.is_some() { + return Err(self.parse_error( + "Expected VIEW; Snowflake refuses RECURSIVE after a temporary scope", + )); + } + if interactive && !materialized { + return Err(self.parse_error("Expected MATERIALIZED VIEW after INTERACTIVE")); + } + self.skip(); + let kind = match (materialized, or_alter) { + (true, _) => ViewKind::Materialized, + (false, true) => ViewKind::OrAlter, + (false, false) => ViewKind::View, + }; + let if_not_exists = kind != ViewKind::OrAlter && self.check(TokenType::If); + if if_not_exists + && !self.match_keywords(&[TokenType::If, TokenType::Not, TokenType::Exists]) + { + return Err(self.parse_error("Expected IF NOT EXISTS")); + } + let name = self.parse_iceberg_object_name()?; + let temporary = scope.is_some(); + let mut properties: Vec = [scope, recursive.then(|| "RECURSIVE".to_owned())] + .into_iter() + .chain([interactive.then(|| "INTERACTIVE".to_owned())]) + .flatten() + .map(|word| Expression::Identifier(Identifier::new(word))) + .collect(); + let mut copy_grants = false; + if kind == ViewKind::Materialized { + copy_grants = self.match_text_seq(&["COPY", "GRANTS"]); + if self.check(TokenType::Copy) && self.check_next(TokenType::Eq) { + self.skip(); + self.skip(); + properties.push(part("COPY", self.parse_view_copy_list()?)); + } + } + let mut columns = match self.check(TokenType::LParen) { + true => self.parse_snowflake_view_columns()?, + false => Vec::new(), + }; + while !self.is_at_end() && !self.check(TokenType::As) && !self.check(TokenType::Semicolon) { + if kind == ViewKind::View && columns.is_empty() && self.check(TokenType::LParen) { + columns = self.parse_snowflake_view_columns()?; + continue; + } + match self.parse_snowflake_view_clause(kind)? { + Some(clause) => properties.push(clause), + None => copy_grants = true, + } + } + if !self.match_token(TokenType::As) { + return Err(self.parse_error("Expected AS and the view's query")); + } + let query_parenthesized = self.check(TokenType::LParen); + let query = self.parse_create_view_query(query_parenthesized)?; + let mut view = CreateView::new(String::new(), query); + view.name = name; + view.columns = columns; + view.or_replace = or_replace; + view.or_alter = or_alter; + view.if_not_exists = if_not_exists; + view.materialized = materialized; + view.temporary = temporary; + view.secure = secure; + view.query_parenthesized = query_parenthesized; + view.copy_grants = copy_grants; + view.table_properties = properties; + Ok(Some(Expression::CreateView(Box::new(view)))) + } + + /// `( [