@@ -28,6 +28,7 @@ public class Drop implements Statement {
2828 private List <String > parameters ;
2929 private Map <String , List <String >> typeToParameters = new HashMap <>();
3030 private boolean ifExists = false ;
31+ private boolean materialized = false ;
3132
3233 private boolean isUsingTemporary ;
3334
@@ -81,6 +82,14 @@ public Drop withUsingTemporary(boolean useTemporary) {
8182 return this ;
8283 }
8384
85+ public boolean isMaterialized () {
86+ return materialized ;
87+ }
88+
89+ public void setMaterialized (boolean materialized ) {
90+ this .materialized = materialized ;
91+ }
92+
8493 public Map <String , List <String >> getTypeToParameters () {
8594 return typeToParameters ;
8695 }
@@ -91,7 +100,10 @@ public void setTypeToParameters(Map<String, List<String>> typeToParameters) {
91100
92101 @ Override
93102 public String toString () {
94- String sql = "DROP " + ( isUsingTemporary ? "TEMPORARY " : "" ) + type + " "
103+ String sql = "DROP "
104+ + (isUsingTemporary ? "TEMPORARY " : "" )
105+ + (materialized ? "MATERIALIZED " : "" )
106+ + type + " "
95107 + (ifExists ? "IF EXISTS " : "" ) + name .toString ();
96108
97109 if (type .equals ("FUNCTION" )) {
@@ -121,6 +133,11 @@ public Drop withIfExists(boolean ifExists) {
121133 return this ;
122134 }
123135
136+ public Drop withMaterialized (boolean materialized ) {
137+ this .setMaterialized (materialized );
138+ return this ;
139+ }
140+
124141 public Drop withType (String type ) {
125142 this .setType (type );
126143 return this ;
0 commit comments