
prerna.query.interpreters.sql.MicrosoftSqlServerInterpreter Maven / Gradle / Ivy
The newest version!
package prerna.query.interpreters.sql;
import java.util.List;
import prerna.algorithm.api.ITableDataFrame;
import prerna.algorithm.api.SemossDataType;
import prerna.engine.api.IDatabaseEngine;
import prerna.query.querystruct.HardSelectQueryStruct;
import prerna.query.querystruct.SelectQueryStruct;
import prerna.query.querystruct.selectors.IQuerySelector;
import prerna.query.querystruct.selectors.IQuerySelector.SELECTOR_TYPE;
import prerna.util.Utility;
import prerna.util.sql.AbstractSqlQueryUtil;
public class MicrosoftSqlServerInterpreter extends SqlInterpreter {
public MicrosoftSqlServerInterpreter() {
}
public MicrosoftSqlServerInterpreter(IDatabaseEngine engine) {
super(engine);
}
public MicrosoftSqlServerInterpreter(ITableDataFrame frame) {
super(frame);
}
@Override
public String composeQuery() {
if(this.qs != null && !(this.qs instanceof HardSelectQueryStruct) ) {
if(((SelectQueryStruct) this.qs).getLimit() > 0 || ((SelectQueryStruct) this.qs).getOffset() > 0) {
if(((SelectQueryStruct) this.qs).getCombinedOrderBy().isEmpty()) {
// need to add an implicit order
IQuerySelector firstSelector = this.qs.getSelectors().get(0);
if(firstSelector.getSelectorType() == SELECTOR_TYPE.COLUMN) {
((SelectQueryStruct) this.qs).addOrderBy(firstSelector.getQueryStructName(), "ASC");
} else {
((SelectQueryStruct) this.qs).addOrderBy(firstSelector.getAlias(), null, "ASC");
}
}
}
}
// now just feed into the above
return super.composeQuery();
}
/**
* Microsoft SQL Server copies the other BUT boolean fields must be in quotes
* @param dataType
* @param objects
* @param comparator
* @return
*/
@Override
public String getFormatedObject(String dataType, List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy