Class DBMSHandlerSQLite

java.lang.Object
org.apache.empire.dbms.DBMSHandlerBase
org.apache.empire.dbms.sqlite.DBMSHandlerSQLite
All Implemented Interfaces:
DBMSHandler

public class DBMSHandlerSQLite extends DBMSHandlerBase
This class provides support for the SQLite database system.
  • Field Details

    • SQLITE_KEYWORDS

      protected static final String[] SQLITE_KEYWORDS
  • Constructor Details

    • DBMSHandlerSQLite

      public DBMSHandlerSQLite()
      Constructor for the SQLite database dbms.
  • Method Details

    • createCommand

      public DBCommand createCommand(boolean autoPrepareStmt)
      Creates a new SQLite command object.
      Specified by:
      createCommand in interface DBMSHandler
      Overrides:
      createCommand in class DBMSHandlerBase
      Parameters:
      autoPrepareStmt - flag whether to automatically provide literal values as prepared statement params
      Returns:
      the new DBCommandSQLite object
    • isSupported

      public boolean isSupported(DBMSFeature type)
      Returns whether or not a particular feature is supported by this dbms
      Specified by:
      isSupported in interface DBMSHandler
      Specified by:
      isSupported in class DBMSHandlerBase
      Parameters:
      type - type of requested feature. @see DBMSFeature
      Returns:
      true if the features is supported or false otherwise
    • getSQLPhrase

      public String getSQLPhrase(DBSqlPhrase phrase)
      Gets an sql phrase template for this database system.
      Parameters:
      phrase - the identifier of the phrase
      Returns:
      the phrase template
      See Also:
    • getConvertPhrase

      public String getConvertPhrase(DataType destType, DataType srcType, Object format)
      Description copied from interface: DBMSHandler
      Returns a data type convertion phrase template for this dbms
      The returned template must contain a '?' which will be replaced by a column expression.
      Parameters:
      destType - the target data type
      srcType - the source data type
      format - additional formatting information (optional)
      Returns:
      the data conversion phrase template
      See Also:
    • executeSQL

      public int executeSQL(String sqlCmd, Object[] sqlParams, Connection conn, DBMSHandler.DBSetGenKeys genKeys) throws SQLException
      Override since conn.prepareStatement(sqlCmd, Statement.RETURN_GENERATED_KEYS) is not supported by SQLLite dbms
      Specified by:
      executeSQL in interface DBMSHandler
      Overrides:
      executeSQL in class DBMSHandlerBase
      Parameters:
      sqlCmd - the SQL-Command
      sqlParams - array of sql command parameters used for prepared statements (Optional).
      conn - a valid connection to the database.
      genKeys - allows to set the auto generated key of a record (INSERT statements only)
      Returns:
      the row count for insert, update or delete or 0 for SQL statements that return nothing
      Throws:
      SQLException - if a database access error occurs
    • getResultValue

      public Object getResultValue(ResultSet rset, int columnIndex, DataType dataType) throws SQLException
      Description copied from class: DBMSHandlerBase
      Reads a single column value from the given JDBC ResultSet and returns a value object of desired data type.
      This gives the dbms the opportunity to change the value i.e. to simulate missing data types with other types.
      Specified by:
      getResultValue in interface DBMSHandler
      Overrides:
      getResultValue in class DBMSHandlerBase
      Parameters:
      rset - the sql Resultset with the current data row
      columnIndex - one based column Index of the desired column
      dataType - the required data type
      Returns:
      the value of the Column
      Throws:
      SQLException - if a database access error occurs
    • getUpdateTimestamp

      public Timestamp getUpdateTimestamp(Connection conn)
      Overridden. Returns a timestamp that is used for record updates created by the database server.
      Specified by:
      getUpdateTimestamp in interface DBMSHandler
      Overrides:
      getUpdateTimestamp in class DBMSHandlerBase
      Parameters:
      conn - the connection that might be used
      Returns:
      the current date and time of the database server.
    • getDDLScript

      public void getDDLScript(DBDDLGenerator.DDLActionType type, DBObject dbo, DBSQLScript script)
      Description copied from interface: DBMSHandler
      Appends the required DLL commands to create, drop or alter an object to the supplied DBDQLScript.
      Parameters:
      type - operation to perform (CREATE, DROP, ALTER)
      dbo - the object for which to perform the operation (DBDatabase, DBTable, DBView, DBColumn, DBRelation)
      script - the script to which to add the DDL command(s)
      See Also:
    • getNextSequenceValue

      public Object getNextSequenceValue(DBDatabase db, String SeqName, int minValue, Connection conn)
      Description copied from class: DBMSHandlerBase
      Returns the next value of a named sequence The numbers are used for fields of type DBExpr.DT_AUTOINC.
      If a dbms supports this function it must return true for isSupported(DBMSFeature.SEQUENCES).
      Specified by:
      getNextSequenceValue in class DBMSHandlerBase
      Parameters:
      db - the database
      SeqName - the name of the sequence
      minValue - the minimum value of the sequence
      conn - a valid database connection
      Returns:
      a new unique sequence value or null if an error occurred
    • getNextSequenceValueExpr

      public DBColumnExpr getNextSequenceValueExpr(DBTableColumn column)
      Description copied from class: DBMSHandlerBase
      Returns an expression for creating a sequence value. This is intended for the use with INSERT INTO statements where many records are affected.
      Specified by:
      getNextSequenceValueExpr in class DBMSHandlerBase
      Parameters:
      column - the column for which to obtain an expression providing the next sequence value
      Returns:
      an expression for the next sequence value
      See Also: