Package org.bgerp.app.dist.inst.call

# Class ExecuteSQL

java.lang.Object
ru.bgcrm.dao.CommonDAO
org.bgerp.app.dist.inst.call.ExecuteSQL

All Implemented Interfaces:
  `InstallationCall`

public class ExecuteSQL extends CommonDAO implements InstallationCall
Executer of SQL queries for updating DB structure. Running as `InstallationCall` and also directly.

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class ru.bgcrm.dao.CommonDAO

  `CommonDAO.ObjectExtractor<T>, CommonDAO.RecordUpdater<T extends Id>`

- ## Field Summary

  ### Fields inherited from class ru.bgcrm.dao.CommonDAO

  `con, SQL_AND, SQL_DELETE, SQL_DELETE_FROM, SQL_DESC, SQL_DISTINCT, SQL_FROM, SQL_GROUP_BY, SQL_INNER_JOIN, SQL_INSERT_IGNORE_INTO, SQL_INSERT_INTO, SQL_LEFT_JOIN, SQL_LIMIT, SQL_ON_DUP_KEY_UPDATE, SQL_ORDER_BY, SQL_REPLACE, SQL_SELECT, SQL_SELECT_ALL_FROM, SQL_SELECT_COUNT_ROWS, SQL_SET, SQL_UNION_ALL, SQL_UPDATE, SQL_VALUES, SQL_VALUES_1, SQL_VALUES_2, SQL_VALUES_3, SQL_VALUES_4, SQL_VALUES_5, SQL_WHERE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ExecuteSQL()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addHashes(Connection con, Set<String> hashes)`
  Stores executed queries hashes.
  `void`
  `call(Connection con, String query)`
  Executes multiline SQL script.
  `void`
  `call(Setup setup, File zip, String param)`
  `static void`
  `clearHashes()`
  `protected void`
  `doQuery(Statement st, String query, boolean useHash, Set<String> existingHashes, Set<String> newHashes)`
  Executes SQL query.
  `protected Set<String>`
  `getQueryHashes(Connection con)`
  Loads applied query hashes.
  `static void`
  `skipHash(String hash)`

  ### Methods inherited from class ru.bgcrm.dao.CommonDAO

  `deleteById, foundRows, getById, getGroupedIds, getGroupedIds, getIds, getIds, getPageLimit, getPeriodSql, lastInsertId, setPeriodParamValue, setRecordCount, update, updateColumn, updateIds, updateIds, updateOrInsert`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### ExecuteSQL

    public ExecuteSQL()

- ## Method Details

  - ### clearHashes

    public static void clearHashes() throws SQLException
    Throws:
      `SQLException`

  - ### skipHash

    public static void skipHash(String hash) throws SQLException
    Throws:
      `SQLException`

  - ### call

    public void call(Setup setup, File zip, String param) throws Exception
    Specified by:
      `call` in interface `InstallationCall`
    Throws:
      `Exception`

  - ### call

    public void call(Connection con, String query) throws SQLException
    Executes multiline SQL script.
    Parameters:
      `con` - connection.
      `query` - SQL script, tokenized to commands by `;`.
    Throws:
      `SQLException`

  - ### doQuery

    protected void doQuery(Statement st, String query, boolean useHash, Set<String> existingHashes, Set<String> newHashes) throws SQLException
    Executes SQL query.
    Parameters:
      `st` - SQL statement, running the query.
      `query` - the query.
      `useHash` - use executed query hash to prevent re-execution.
      `existingHashes` - hashes of already applied queries.
      `newHashes` - set there added hash of executed `query` if it wasn't presented in `hashes`.
    Throws:
      `SQLException`

  - ### getQueryHashes

    protected Set<String> getQueryHashes(Connection con) throws SQLException
    Loads applied query hashes.
    Parameters:
      `con` - SQL connection.
    Returns:
      set with hashes.
    Throws:
      `SQLException`

  - ### addHashes

    protected void addHashes(Connection con, Set<String> hashes) throws SQLException
    Stores executed queries hashes.
    Parameters:
      `con` - SQL connection.
      `hashes` - set with hashes.
    Throws:
      `SQLException`