All Downloads are FREE. Search and download functionalities are using the official Maven repository.

prerna.query.querystruct.delete.DeleteSqlInterpreter Maven / Gradle / Ivy

The newest version!
package prerna.query.querystruct.delete;

import java.util.List;

import prerna.query.interpreters.sql.SqlInterpreter;
import prerna.query.querystruct.SelectQueryStruct;
import prerna.query.querystruct.filters.SimpleQueryFilter;
import prerna.query.querystruct.selectors.IQuerySelector;
import prerna.query.querystruct.selectors.QueryColumnSelector;
import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.nounmeta.NounMetadata;

public class DeleteSqlInterpreter extends SqlInterpreter {
	
	private String table;
	
	public DeleteSqlInterpreter(SelectQueryStruct qs) {
		this.qs = qs;
		this.frame = qs.getFrame();
		this.engine = qs.getEngine();
	}
	
	//////////////////////////////////////////// Compose Query //////////////////////////////////////////////
	
	public String composeQuery() {
		addTable();
		addFilters();
		
		StringBuilder query = new StringBuilder("DELETE FROM ");
		query.append(table);
		
		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();
	}
	
	/**
	 * This is set directly in the QueryDelete reactor
	 */
	public void addTable() {
		List selectors = qs.getSelectors();
		QueryColumnSelector t = (QueryColumnSelector) selectors.get(0);
		this.table = t.getTable();
	}
	
//	public static void main(String[] args) {
//		SelectQueryStruct qs = new SelectQueryStruct();
//		qs.addSelector("table", "column");
//		QueryColumnSelector tab = new QueryColumnSelector("Nominated__Title_FK");
//		QueryColumnSelector tab2 = new QueryColumnSelector("Nominated__Revenue");
//		NounMetadata fil1 = new NounMetadata(tab, PixelDataType.COLUMN);
//		NounMetadata fil2 = new NounMetadata("Chocolat", PixelDataType.CONST_STRING);
//		NounMetadata fil3 = new NounMetadata(tab2, PixelDataType.COLUMN);
//		NounMetadata fil4 = new NounMetadata(300000, PixelDataType.CONST_INT);
//		SimpleQueryFilter filter1 = new SimpleQueryFilter(fil2, "=", fil1);
////		SimpleQueryFilter filter2 = new SimpleQueryFilter(fil4, "=", fil3);
//		qs.addExplicitFilter(filter1);
////		qs.addExplicitFilter(filter2);
//		DeleteSqlInterpreter interpreter = new DeleteSqlInterpreter(qs);
//		String s = interpreter.composeQuery();
//		System.out.println(s);
//	}
	
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy