1 23 24 package org.continuent.sequoia.controller.requests; 25 26 import java.io.Serializable ; 27 import java.sql.SQLException ; 28 29 import org.continuent.sequoia.common.i18n.Translate; 30 import org.continuent.sequoia.controller.semantic.SemanticBehavior; 31 import org.continuent.sequoia.controller.sql.schema.DatabaseSchema; 32 33 43 public class UnknownWriteRequest extends AbstractWriteRequest 44 implements 45 Serializable 46 { 47 private static final long serialVersionUID = 2620807724931159903L; 48 49 private boolean needsMacroProcessing; 50 51 protected boolean altersStoredProcedureList = true; 54 protected boolean altersUsers = true; 55 protected boolean altersSomething = true; 56 protected boolean altersDatabaseCatalog = false; 57 protected boolean altersDatabaseSchema = false; 58 protected boolean altersUserDefinedTypes = false; 59 protected boolean altersAggregateList = false; 60 protected boolean altersMetadataCache = false; 61 protected boolean altersQueryResultCache = false; 62 63 72 public UnknownWriteRequest(String sqlQuery, boolean escapeProcessing, 73 int timeout, String lineSeparator) 74 { 75 super(sqlQuery, escapeProcessing, timeout, lineSeparator, 76 RequestType.UNKNOWN_WRITE); 77 } 78 79 82 public boolean altersAggregateList() 83 { 84 return this.altersAggregateList; 85 } 86 87 90 public boolean altersDatabaseCatalog() 91 { 92 return this.altersDatabaseCatalog; 93 } 94 95 98 public boolean altersDatabaseSchema() 99 { 100 return this.altersDatabaseSchema; 101 } 102 103 106 public boolean altersMetadataCache() 107 { 108 return this.altersMetadataCache; 109 } 110 111 114 public boolean altersQueryResultCache() 115 { 116 return this.altersQueryResultCache; 117 } 118 119 122 public boolean altersSomething() 123 { 124 return altersSomething; 125 } 126 127 130 public boolean altersStoredProcedureList() 131 { 132 return this.altersStoredProcedureList; 133 } 134 135 138 public boolean altersUserDefinedTypes() 139 { 140 return this.altersUserDefinedTypes; 141 } 142 143 146 public boolean altersUsers() 147 { 148 return altersUsers; 149 } 150 151 155 public boolean needsMacroProcessing() 156 { 157 return needsMacroProcessing; 158 } 159 160 166 public void parse(DatabaseSchema schema, int granularity, 167 boolean isCaseSensitive) throws SQLException 168 { 169 isParsed = true; 172 setSemantic(new SemanticBehavior(null, writeLockedTables, null, 173 altersDatabaseSchema(), altersMetadataCache(), 174 altersQueryResultCache(), altersUsers(), isReadOnly, 175 needsMacroProcessing(), SemanticBehavior.SERIALIZABLE_ORDER, 176 requiresConnectionPoolFlush 177 ? SemanticBehavior.FLUSH_ALL_USERS 178 : SemanticBehavior.FLUSH_NONE)); 179 } 180 181 186 public void cloneParsing(AbstractRequest request) 187 { 188 super.cloneParsingCommons(request); 189 isParsed = true; 190 } 191 192 195 public String getParsingResultsAsString() 196 { 197 StringBuffer sb = new StringBuffer (super.getParsingResultsAsString()); 198 sb.append(Translate.get("request.alters", 199 new String []{String.valueOf(altersAggregateList()), 200 String.valueOf(altersDatabaseCatalog()), 201 String.valueOf(altersDatabaseSchema()), 202 String.valueOf(altersMetadataCache()), 203 String.valueOf(altersQueryResultCache()), 204 String.valueOf(altersSomething()), 205 String.valueOf(altersStoredProcedureList()), 206 String.valueOf(altersUserDefinedTypes()), 207 String.valueOf(altersUsers())})); 208 return sb.toString(); 209 } 210 211 220 public boolean equals(Object other) 221 { 222 if (id != 0) return super.equals(other); 224 225 if ((other == null) || !(other instanceof UnknownWriteRequest)) 229 return false; 230 231 UnknownWriteRequest r = (UnknownWriteRequest) other; 232 return transactionId == r.getTransactionId() 233 && sqlQueryOrTemplate.equals(r.getSqlOrTemplate()); 234 } 235 } | Popular Tags |