Package nl.giantit.minecraft.database.drivers.sqlite

Source Code of nl.giantit.minecraft.database.drivers.sqlite.SQLiteTruncateQuery

package nl.giantit.minecraft.database.drivers.sqlite;

import nl.giantit.minecraft.database.Driver;
import nl.giantit.minecraft.database.QueryResult;
import nl.giantit.minecraft.database.query.DeleteQuery;
import nl.giantit.minecraft.database.query.Group;
import nl.giantit.minecraft.database.query.Query;
import nl.giantit.minecraft.database.query.TruncateQuery;

/**
*
* @author Giant
*/
public class SQLiteTruncateQuery implements TruncateQuery {

  private final Driver db;
 
  private String table;
 
  private boolean prepared = false;
  private String query;
 
  public SQLiteTruncateQuery(Driver db) {
    this.db = db;
  }
 
  @Override
  public TruncateQuery setTable(String table) {
    if(!this.isParsed()) {
      this.table = table;
    }
   
    return this;
  }

  @Override
  public Query parse() {
    if(!this.prepared) {
      this.prepared = true;
     
      StringBuilder sB = new StringBuilder();
      sB.append("DELETE FROM ");
      sB.append(table.replace("#__", this.db.getPrefix()));
      sB.append("\n");
     
      this.query = sB.toString();
    }
   
    return this;
  }
 
  @Override
  public boolean isParsed() {
    return this.prepared;
  }
 
  @Override
  public String getParsedQuery() {
    if(!this.prepared) {
      return "";
    }
   
    return this.query;
  }

  @Override
  public QueryResult exec() {
    return this.exec(false);
  }

  @Override
  public QueryResult exec(boolean debug) {
    if(debug) {
      // Send MySQL Query syntax to console for debugging purposes!
      this.db.getPlugin().getLogger().info(this.query);
    }
   
    DeleteQuery dQ = this.db.delete("sqlite_sequence");
    dQ.where("name", table.replace("#__", this.db.getPrefix()));
    dQ.parse().exec(debug);
   
    return this.db.updateQuery(this);
  }
 
  @Override
  public Group createGroup() {
    return new SQLiteGroup(this.db);
  }
}
TOP

Related Classes of nl.giantit.minecraft.database.drivers.sqlite.SQLiteTruncateQuery

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.