org.apache.empire.db.sqlite
Class DBDatabaseDriverSQLite

java.lang.Object
  extended by org.apache.empire.db.DBDatabaseDriver
      extended by org.apache.empire.db.sqlite.DBDatabaseDriverSQLite
All Implemented Interfaces:
Serializable

public class DBDatabaseDriverSQLite
extends DBDatabaseDriver

This class provides support for the SQLite database system.

See Also:
Serialized Form

Nested Class Summary
static class DBDatabaseDriverSQLite.DBCommandSQLite
          Defines the SQLite command type.
 
Nested classes/interfaces inherited from class org.apache.empire.db.DBDatabaseDriver
DBDatabaseDriver.DBSeqTable, DBDatabaseDriver.DBSetGenKeys
 
Field Summary
 
Fields inherited from class org.apache.empire.db.DBDatabaseDriver
ddlColumnDefaults, GENERAL_SQL_KEYWORDS, ILLEGAL_NAME_CHARS, reservedSQLKeywords, SQL_BOOLEAN_FALSE, SQL_BOOLEAN_TRUE, SQL_CONCAT_EXPR, SQL_CURRENT_DATE, SQL_CURRENT_DATETIME, SQL_DATABASE_LINK, SQL_DATE_PATTERN, SQL_DATE_TEMPLATE, SQL_DATETIME_PATTERN, SQL_DATETIME_TEMPLATE, SQL_FUNC_ABS, SQL_FUNC_AVG, SQL_FUNC_CEILING, SQL_FUNC_COALESCE, SQL_FUNC_DAY, SQL_FUNC_DECODE, SQL_FUNC_DECODE_ELSE, SQL_FUNC_DECODE_PART, SQL_FUNC_DECODE_SEP, SQL_FUNC_ESCAPE, SQL_FUNC_FLOOR, SQL_FUNC_LENGTH, SQL_FUNC_LOWER, SQL_FUNC_LTRIM, SQL_FUNC_MAX, SQL_FUNC_MIN, SQL_FUNC_MONTH, SQL_FUNC_REPLACE, SQL_FUNC_REVERSE, SQL_FUNC_ROUND, SQL_FUNC_RTRIM, SQL_FUNC_STRINDEX, SQL_FUNC_STRINDEXFROM, SQL_FUNC_SUBSTRING, SQL_FUNC_SUBSTRINGEX, SQL_FUNC_SUM, SQL_FUNC_TRIM, SQL_FUNC_TRUNC, SQL_FUNC_UPPER, SQL_FUNC_YEAR, SQL_NULL_VALUE, SQL_PARAMETER, SQL_QUOTES_CLOSE, SQL_QUOTES_OPEN, SQL_RENAME_COLUMN, SQL_RENAME_TABLE
 
Constructor Summary
DBDatabaseDriverSQLite()
          Constructor for the SQLite database driver.
 
Method Summary
 DBCommand createCommand(DBDatabase db)
          Creates a new SQLite command object.
 int executeSQL(String sqlCmd, Object[] sqlParams, Connection conn, DBDatabaseDriver.DBSetGenKeys genKeys)
          Executes the select, update or delete SQL-Command with a Statement object.
 String getConvertPhrase(DataType destType, DataType srcType, Object format)
          Returns a data type convertion phrase template for this driver
The returned template must contain a '?' which will be replaced by a column expression.
 void getDDLScript(DBCmdType type, DBObject dbo, DBSQLScript script)
          Appends the required DLL commands to create, drop or alter an object to the supplied DBDQLScript.
 Object getNextSequenceValue(DBDatabase db, String SeqName, int minValue, Connection conn)
          Returns the next value of a named sequence The numbers are used for fields of type DBExpr.DT_AUTOINC.
If a driver supports this function it must return true for isSupported(DBDriverFeature.SEQUENCES).
 Object getResultValue(ResultSet rset, int columnIndex, DataType dataType)
           Reads a single column value from the given JDBC ResultSet and returns a value object of desired data type.
See DBExpr.getValueClass(DataType) for java class type mapping.
 String getSQLPhrase(int phrase)
          Gets an sql phrase template for this database system.
 Timestamp getUpdateTimestamp(Connection conn)
          Overridden.
 boolean isSupported(DBDriverFeature type)
          Returns whether or not a particular feature is supported by this driver
 
Methods inherited from class org.apache.empire.db.DBDatabaseDriver
addEnableRelationStmt, addStatementParam, appendElementName, appendElementName, appendSQLTextValue, attachDatabase, checkDatabase, close, createCombinedCommand, detachDatabase, detectQuoteName, executeQuery, extractErrorMessage, getColumnAutoValue, getSQLDateTimeString, getSQLNumberString, getSQLTextString, getValueString, isDDLColumnDefaults, prepareStatement, setDDLColumnDefaults, stringToBoolean
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBDatabaseDriverSQLite

public DBDatabaseDriverSQLite()
Constructor for the SQLite database driver.

Method Detail

executeSQL

public int executeSQL(String sqlCmd,
                      Object[] sqlParams,
                      Connection conn,
                      DBDatabaseDriver.DBSetGenKeys genKeys)
               throws SQLException
Description copied from class: DBDatabaseDriver
Executes the select, update or delete SQL-Command with a Statement object.

Overrides:
executeSQL in class DBDatabaseDriver
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

createCommand

public DBCommand createCommand(DBDatabase db)
Creates a new SQLite command object.

Specified by:
createCommand in class DBDatabaseDriver
Parameters:
db - the database for which to create a command object for
Returns:
the new DBCommandSQLite object

isSupported

public boolean isSupported(DBDriverFeature type)
Returns whether or not a particular feature is supported by this driver

Specified by:
isSupported in class DBDatabaseDriver
Parameters:
type - type of requested feature. @see DBDriverFeature
Returns:
true if the features is supported or false otherwise

getSQLPhrase

public String getSQLPhrase(int phrase)
Gets an sql phrase template for this database system.

Specified by:
getSQLPhrase in class DBDatabaseDriver
Parameters:
phrase - the identifier of the phrase
Returns:
the phrase template
See Also:
DBDatabaseDriver.getSQLPhrase(int)

getResultValue

public Object getResultValue(ResultSet rset,
                             int columnIndex,
                             DataType dataType)
                      throws SQLException
Description copied from class: DBDatabaseDriver

Reads a single column value from the given JDBC ResultSet and returns a value object of desired data type.
See DBExpr.getValueClass(DataType) for java class type mapping.

This gives the driver the opportunity to change the value i.e. to simulate missing data types with other types.

Overrides:
getResultValue in class DBDatabaseDriver
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

getConvertPhrase

public String getConvertPhrase(DataType destType,
                               DataType srcType,
                               Object format)
Description copied from class: DBDatabaseDriver
Returns a data type convertion phrase template for this driver
The returned template must contain a '?' which will be replaced by a column expression.

Specified by:
getConvertPhrase in class DBDatabaseDriver
Parameters:
destType - the target data type
srcType - the source data type
format - additional formatting information (optional)
Returns:
the data conversion phrase template
See Also:
DBDatabaseDriver.getConvertPhrase(DataType, DataType, Object)

getUpdateTimestamp

public Timestamp getUpdateTimestamp(Connection conn)
Overridden. Returns a timestamp that is used for record updates created by the database server.

Overrides:
getUpdateTimestamp in class DBDatabaseDriver
Parameters:
conn - the connection that might be used
Returns:
the current date and time of the database server.

getDDLScript

public void getDDLScript(DBCmdType type,
                         DBObject dbo,
                         DBSQLScript script)
Description copied from class: DBDatabaseDriver
Appends the required DLL commands to create, drop or alter an object to the supplied DBDQLScript.

Overrides:
getDDLScript in class DBDatabaseDriver
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:
DBDatabaseDriver.getDDLScript(DBCmdType, DBObject, DBSQLScript)

getNextSequenceValue

public Object getNextSequenceValue(DBDatabase db,
                                   String SeqName,
                                   int minValue,
                                   Connection conn)
Description copied from class: DBDatabaseDriver
Returns the next value of a named sequence The numbers are used for fields of type DBExpr.DT_AUTOINC.
If a driver supports this function it must return true for isSupported(DBDriverFeature.SEQUENCES).

Specified by:
getNextSequenceValue in class DBDatabaseDriver
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


Copyright © 2008–2014 Apache Software Foundation. All rights reserved.