
prerna.query.querystruct.update.UpdateSqlInterpreter Maven / Gradle / Ivy
The newest version!
package prerna.query.querystruct.update;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import prerna.date.SemossDate;
import prerna.ds.rdbms.AbstractRdbmsFrame;
import prerna.engine.api.IRDBMSEngine;
import prerna.query.interpreters.sql.SqlInterpreter;
import prerna.query.querystruct.AbstractQueryStruct;
import prerna.query.querystruct.AbstractQueryStruct.QUERY_STRUCT_TYPE;
import prerna.query.querystruct.selectors.IQuerySelector;
import prerna.query.querystruct.selectors.QueryColumnSelector;
import prerna.util.sql.AbstractSqlQueryUtil;
@Deprecated
public class UpdateSqlInterpreter extends SqlInterpreter {
private StringBuilder sets = new StringBuilder();
private String updateFrom = null;
private String userId = null;
public UpdateSqlInterpreter(UpdateQueryStruct qs) {
this.qs = qs;
if(this.qs.getQsType() == QUERY_STRUCT_TYPE.ENGINE
|| this.qs.getQsType() == QUERY_STRUCT_TYPE.RAW_ENGINE_QUERY) {
this.engine = qs.retrieveQueryStructEngine();
if(this.engine != null) {
this.queryUtil = ((IRDBMSEngine) this.engine).getQueryUtil();
}
} else {
this.frame = qs.getFrame();
if(this.frame != null) {
this.queryUtil = ((AbstractRdbmsFrame) this.frame).getQueryUtil();
}
}
}
//////////////////////////////////////////// Compose Query //////////////////////////////////////////////
public String composeQuery() {
addSets();
addFilters();
// Initiate String
StringBuilder query = new StringBuilder("UPDATE ");
// Add sets depending on...
query.append(this.updateFrom);
query.append(" SET ").append(this.sets);
int numFilters = this.filterStatements.size();
for(int i = 0; i < numFilters; i++) {
if(i == 0) {
query.append(" WHERE ");
} else {
query.append(" AND ");
}
query.append(this.filterStatements.get(i).toString());
}
return query.toString();
}
//////////////////////////////////////////// End Compose Query //////////////////////////////////////////
private void addSets() {
Set tableList = new HashSet();
// determine if we can insert booleans as true/false
boolean allowBooleanType = queryUtil.allowBooleanDataType();
List selectors = qs.getSelectors();
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy