
prerna.reactor.export.snowflake.SnowflakeRemoveFilesReactor Maven / Gradle / Ivy
The newest version!
package prerna.reactor.export.snowflake;
import java.util.List;
import java.util.Map;
import prerna.auth.utils.SecurityEngineUtils;
import prerna.engine.api.IDatabaseEngine;
import prerna.engine.api.IRDBMSEngine;
import prerna.query.querystruct.HardSelectQueryStruct;
import prerna.reactor.AbstractReactor;
import prerna.sablecc2.om.PixelDataType;
import prerna.sablecc2.om.ReactorKeysEnum;
import prerna.sablecc2.om.nounmeta.NounMetadata;
import prerna.util.QueryExecutionUtility;
import prerna.util.Utility;
import prerna.util.sql.RdbmsTypeEnum;
public class SnowflakeRemoveFilesReactor extends AbstractReactor {
public SnowflakeRemoveFilesReactor() {
this.keysToGet = new String[] {ReactorKeysEnum.DATABASE.getKey(), "userStage", "tableStage", "namedStage"};
this.keyRequired = new int[] {1, 0, 0, 0};
}
@Override
public NounMetadata execute() {
organizeKeys();
String databaseId = this.keyValue.get(this.keysToGet[0]);
if(!SecurityEngineUtils.userCanViewEngine(this.insight.getUser(), databaseId)) {
throw new IllegalArgumentException("Database " + databaseId + " does not exist or user does not have access to database");
}
String userStage = this.keyValue.get(this.keysToGet[1]);
String tableStage = this.keyValue.get(this.keysToGet[2]);
String namedStage = this.keyValue.get(this.keysToGet[3]);
String sql = "remove ";
if(userStage != null && !(userStage=userStage.trim()).isEmpty()) {
sql += " @~" + userStage;
} else if(tableStage != null && !(tableStage=tableStage.trim()).isEmpty()) {
sql += " @%" + tableStage;
} else if(namedStage != null && !(namedStage=namedStage.trim()).isEmpty()) {
sql += " @" + namedStage;
} else {
throw new IllegalArgumentException("Must pass in userStage, tableStage, or namedStage. All values were null or empty");
}
IDatabaseEngine snowflake = Utility.getDatabase(databaseId);
if(!(snowflake instanceof IRDBMSEngine)) {
throw new IllegalArgumentException("Database is not a snowlfake db");
}
IRDBMSEngine snowflakeRdbms = (IRDBMSEngine) snowflake;
if(snowflakeRdbms.getDbType() != RdbmsTypeEnum.SNOWFLAKE) {
throw new IllegalArgumentException("Database is not a snowlfake db");
}
HardSelectQueryStruct qs = new HardSelectQueryStruct();
qs.setQuery(sql);
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy