Package org.sqlite.core
Class NativeDB
java.lang.Object
org.sqlite.core.DB
org.sqlite.core.NativeDB
- All Implemented Interfaces:
Codes
This class provides a thin JNI layer over the SQLite3 C API.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.sqlite.core.DB
DB.ProgressObserver -
Field Summary
Fields inherited from interface org.sqlite.core.Codes
SQLITE_ABORT, SQLITE_AUTH, SQLITE_BLOB, SQLITE_BUSY, SQLITE_CANTOPEN, SQLITE_CONSTRAINT, SQLITE_CORRUPT, SQLITE_DONE, SQLITE_EMPTY, SQLITE_ERROR, SQLITE_FLOAT, SQLITE_FULL, SQLITE_INTEGER, SQLITE_INTERNAL, SQLITE_INTERRUPT, SQLITE_IOERR, SQLITE_LOCKED, SQLITE_MISMATCH, SQLITE_MISUSE, SQLITE_NOLFS, SQLITE_NOMEM, SQLITE_NOTFOUND, SQLITE_NULL, SQLITE_OK, SQLITE_PERM, SQLITE_PROTOCOL, SQLITE_READONLY, SQLITE_ROW, SQLITE_SCHEMA, SQLITE_TEXT, SQLITE_TOOBIG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void_close()Closes the SQLite interface to a database.intComplies, evaluates, executes and commits an SQL statement.protected voidCreates an SQLite interface to a database with the provided open flags.intbackup(String dbName, String destFileName, DB.ProgressObserver observer) intbackup(String dbName, String destFileName, DB.ProgressObserver observer, int sleepTimeMillis, int nTimeouts, int pagesPerStep) voidbusy_handler(BusyHandler busyHandler) Sets a busy handler that sleeps for a specified amount of time when a table is locked.voidbusy_timeout(int ms) Sets a busy handler that sleeps for a specified amount of time when a table is locked.longchanges()intclear_bindings(long stmt) Reset all bindings on a prepared statement (reset all host parameters to NULL).voidbyte[]column_blob(long stmt, int col) intcolumn_count(long stmt) column_decltype(long stmt, int col) doublecolumn_double(long stmt, int col) intcolumn_int(long stmt, int col) longcolumn_long(long stmt, int col) column_name(long stmt, int col) column_table_name(long stmt, int col) column_text(long stmt, int col) intcolumn_type(long stmt, int col) intcreate_collation(String name, Collation coll) Create a user defined collation with given collation name and the collation object.intcreate_function(String name, Function func, int nArgs, int flags) Create a user defined function with given function name and the function object.voiddeserialize(String schema, byte[] buff) intdestroy_collation(String name) Create a user defined collation with given collation name and the collation object.intdestroy_function(String name) De-registers a user defined functionintenable_load_extension(boolean enable) Enables or disables loading of SQLite extensions.protected intfinalize(long stmt) Destroys a prepared statement.voidAborts any pending operation and returns at its earliest opportunity.Returns the value for SQLITE_VERSION, SQLITE_VERSION_NUMBER, and SQLITE_SOURCE_ID C preprocessor macros that are associated with the library.intlimit(int id, int value) static booleanload()Loads the SQLite interface backend.protected SafeStmtPtrComplies an SQL statement.voidregister_progress_handler(int vmCalls, ProgressHandler progressHandler) Progress handlerintreset(long stmt) Sets a prepared statement object back to its initial state, ready to be re-executed.intrestore(String dbName, String sourceFileName, DB.ProgressObserver observer) intrestore(String dbName, String sourceFileName, DB.ProgressObserver observer, int sleepTimeMillis, int nTimeouts, int pagesPerStep) voidresult_blob(long context, byte[] val) Sets the result of an SQL function as blob data type with the pointer to the SQLite database context and the the result value of byte array.voidresult_double(long context, double val) Sets the result of an SQL function as double data type with the pointer to the SQLite database context and the the result value of double.voidresult_error(long context, String err) Sets the result of an SQL function as an error with the pointer to the SQLite database context and the the error of String.voidresult_int(long context, int val) Sets the result of an SQL function as int data type with the pointer to the SQLite database context and the the result value of int.voidresult_long(long context, long val) Sets the result of an SQL function as long data type with the pointer to the SQLite database context and the the result value of long.voidresult_null(long context) Sets the result of an SQL function as NULL with the pointer to the SQLite database context.voidresult_text(long context, String val) Sets the result of an SQL function as text data type with the pointer to the SQLite database context and the the result value of String.byte[]intshared_cache(boolean enable) Enables or disables the sharing of the database cache and schema data structures between connections to the same database.intstep(long stmt) Evaluates a statement.longbyte[]value_blob(Function f, int arg) doublevalue_double(Function f, int arg) intAccesses the parameter values on the function or aggregate in int data type with the function object and the parameter value.longvalue_long(Function f, int arg) value_text(Function f, int arg) intvalue_type(Function f, int arg) Methods inherited from class org.sqlite.core.DB
addCommitListener, addUpdateListener, close, column_names, exec, execute, executeUpdate, finalize, getConfig, getUrl, isClosed, newSQLException, open, prepare, removeCommitListener, removeUpdateListener, throwex
-
Constructor Details
-
NativeDB
- Throws:
SQLException
-
-
Method Details
-
load
Loads the SQLite interface backend.- Returns:
- True if the SQLite JDBC driver is successfully loaded; false otherwise.
- Throws:
Exception
-
_open
Description copied from class:DBCreates an SQLite interface to a database with the provided open flags.- Specified by:
_openin classDB- Parameters:
file- The database to open.openFlags- File opening configurations (https://www.sqlite.org/c3ref/c_open_autoproxy.html)- Throws:
SQLException- See Also:
-
_close
Description copied from class:DBCloses the SQLite interface to a database.- Specified by:
_closein classDB- Throws:
SQLException- See Also:
-
_exec
Description copied from class:DBComplies, evaluates, executes and commits an SQL statement.- Specified by:
_execin classDB- Parameters:
sql- An SQL statement.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
enable_load_extension
public int enable_load_extension(boolean enable) Description copied from class:DBEnables or disables loading of SQLite extensions.- Specified by:
enable_load_extensionin classDB- Parameters:
enable- True to enable; false otherwise.- Returns:
- Result Codes
- See Also:
-
interrupt
public void interrupt()Description copied from class:DBAborts any pending operation and returns at its earliest opportunity. -
busy_timeout
public void busy_timeout(int ms) Description copied from class:DBSets a busy handler that sleeps for a specified amount of time when a table is locked.- Specified by:
busy_timeoutin classDB- Parameters:
ms- Time to sleep in milliseconds.- See Also:
-
busy_handler
Description copied from class:DBSets a busy handler that sleeps for a specified amount of time when a table is locked.- Specified by:
busy_handlerin classDB- See Also:
-
prepare
Description copied from class:DBComplies an SQL statement.- Specified by:
preparein classDB- Parameters:
sql- An SQL statement.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
libversion
Description copied from class:DBReturns the value for SQLITE_VERSION, SQLITE_VERSION_NUMBER, and SQLITE_SOURCE_ID C preprocessor macros that are associated with the library.- Specified by:
libversionin classDB- Returns:
- Compile-time SQLite version information.
- See Also:
-
changes
public long changes() -
total_changes
public long total_changes()- Specified by:
total_changesin classDB- Returns:
- Number of row changes caused by INSERT, UPDATE or DELETE statements since the database connection was opened.
- See Also:
-
finalize
protected int finalize(long stmt) Description copied from class:DBDestroys a prepared statement.- Specified by:
finalizein classDB- Parameters:
stmt- Pointer to the statement pointer.- Returns:
- Result Codes
- See Also:
-
step
public int step(long stmt) Description copied from class:DBEvaluates a statement.- Specified by:
stepin classDB- Parameters:
stmt- Pointer to the statement.- Returns:
- Result Codes
- See Also:
-
reset
public int reset(long stmt) Description copied from class:DBSets a prepared statement object back to its initial state, ready to be re-executed.- Specified by:
resetin classDB- Parameters:
stmt- Pointer to the statement.- Returns:
- Result Codes
- See Also:
-
clear_bindings
public int clear_bindings(long stmt) Description copied from class:DBReset all bindings on a prepared statement (reset all host parameters to NULL).- Specified by:
clear_bindingsin classDB- Parameters:
stmt- Pointer to the statement.- Returns:
- Result Codes
- See Also:
-
column_count
public int column_count(long stmt) - Specified by:
column_countin classDB- Parameters:
stmt- Pointer to the statement.- Returns:
- Number of columns in the result set returned by the prepared statement.
- See Also:
-
column_type
public int column_type(long stmt, int col) - Specified by:
column_typein classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- Datatype code for the initial data type of the result column.
- See Also:
-
column_decltype
- Specified by:
column_decltypein classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- Declared type of the table column for prepared statement.
- See Also:
-
column_table_name
- Specified by:
column_table_namein classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- Original text of column name which is the declared in the CREATE TABLE statement.
- See Also:
-
column_name
- Specified by:
column_namein classDB- Parameters:
stmt- Pointer to the statement.col- The number of column.- Returns:
- Name assigned to a particular column in the result set of a SELECT statement.
- See Also:
-
column_text
- Specified by:
column_textin classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- Value of the column as text data type in the result set of a SELECT statement.
- See Also:
-
column_blob
public byte[] column_blob(long stmt, int col) - Specified by:
column_blobin classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- BLOB value of the column in the result set of a SELECT statement
- See Also:
-
column_double
public double column_double(long stmt, int col) - Specified by:
column_doublein classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- DOUBLE value of the column in the result set of a SELECT statement
- See Also:
-
column_long
public long column_long(long stmt, int col) - Specified by:
column_longin classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- LONG value of the column in the result set of a SELECT statement.
- See Also:
-
column_int
public int column_int(long stmt, int col) - Specified by:
column_intin classDB- Parameters:
stmt- Pointer to the statement.col- Number of column.- Returns:
- INT value of column in the result set of a SELECT statement.
- See Also:
-
result_null
public void result_null(long context) Description copied from class:DBSets the result of an SQL function as NULL with the pointer to the SQLite database context.- Specified by:
result_nullin classDB- Parameters:
context- Pointer to the SQLite database context.- See Also:
-
result_text
Description copied from class:DBSets the result of an SQL function as text data type with the pointer to the SQLite database context and the the result value of String.- Specified by:
result_textin classDB- Parameters:
context- Pointer to the SQLite database context.val- Result value of an SQL function.- See Also:
-
result_blob
public void result_blob(long context, byte[] val) Description copied from class:DBSets the result of an SQL function as blob data type with the pointer to the SQLite database context and the the result value of byte array.- Specified by:
result_blobin classDB- Parameters:
context- Pointer to the SQLite database context.val- Result value of an SQL function.- See Also:
-
result_double
public void result_double(long context, double val) Description copied from class:DBSets the result of an SQL function as double data type with the pointer to the SQLite database context and the the result value of double.- Specified by:
result_doublein classDB- Parameters:
context- Pointer to the SQLite database context.val- Result value of an SQL function.- See Also:
-
result_long
public void result_long(long context, long val) Description copied from class:DBSets the result of an SQL function as long data type with the pointer to the SQLite database context and the the result value of long.- Specified by:
result_longin classDB- Parameters:
context- Pointer to the SQLite database context.val- Result value of an SQL function.- See Also:
-
result_int
public void result_int(long context, int val) Description copied from class:DBSets the result of an SQL function as int data type with the pointer to the SQLite database context and the the result value of int.- Specified by:
result_intin classDB- Parameters:
context- Pointer to the SQLite database context.val- Result value of an SQL function.- See Also:
-
result_error
Description copied from class:DBSets the result of an SQL function as an error with the pointer to the SQLite database context and the the error of String.- Specified by:
result_errorin classDB- Parameters:
context- Pointer to the SQLite database context.err- Error result of an SQL function.- See Also:
-
value_text
- Specified by:
value_textin classDB- Parameters:
f- SQLite function object.arg- Pointer to the parameter of the SQLite function or aggregate.- Returns:
- Parameter value of the given SQLite function or aggregate in text data type.
- See Also:
-
value_blob
- Specified by:
value_blobin classDB- Parameters:
f- SQLite function object.arg- Pointer to the parameter of the SQLite function or aggregate.- Returns:
- Parameter value of the given SQLite function or aggregate in blob data type.
- See Also:
-
value_double
- Specified by:
value_doublein classDB- Parameters:
f- SQLite function object.arg- Pointer to the parameter of the SQLite function or aggregate.- Returns:
- Parameter value of the given SQLite function or aggregate in double data type
- See Also:
-
value_long
- Specified by:
value_longin classDB- Parameters:
f- SQLite function object.arg- Pointer to the parameter of the SQLite function or aggregate.- Returns:
- Parameter value of the given SQLite function or aggregate in long data type.
- See Also:
-
value_int
Description copied from class:DBAccesses the parameter values on the function or aggregate in int data type with the function object and the parameter value. -
value_type
- Specified by:
value_typein classDB- Parameters:
f- SQLite function object.arg- Pointer to the parameter of the SQLite function or aggregate.- Returns:
- Parameter datatype of the function or aggregate in int data type.
- See Also:
-
create_function
Description copied from class:DBCreate a user defined function with given function name and the function object.- Specified by:
create_functionin classDB- Parameters:
name- The function name to be created.func- SQLite function object.flags- Extra flags to use when creating the function, such asFunction.FLAG_DETERMINISTIC- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
destroy_function
Description copied from class:DBDe-registers a user defined function- Specified by:
destroy_functionin classDB- Parameters:
name- Name of the function to de-registered.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
create_collation
Description copied from class:DBCreate a user defined collation with given collation name and the collation object.- Specified by:
create_collationin classDB- Parameters:
name- The collation name to be created.coll- SQLite collation object.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
destroy_collation
Description copied from class:DBCreate a user defined collation with given collation name and the collation object.- Specified by:
destroy_collationin classDB- Parameters:
name- The collation name to be created.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
limit
- Specified by:
limitin classDB- Parameters:
id- The id of the limit.value- The new value of the limit.- Returns:
- The prior value of the limit
- Throws:
SQLException- See Also:
-
backup
public int backup(String dbName, String destFileName, DB.ProgressObserver observer) throws SQLException - Specified by:
backupin classDB- Parameters:
dbName- Database name to be backed up.destFileName- Target backup file name.observer- ProgressObserver object.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
backup
public int backup(String dbName, String destFileName, DB.ProgressObserver observer, int sleepTimeMillis, int nTimeouts, int pagesPerStep) throws SQLException - Specified by:
backupin classDB- Parameters:
dbName- Database name to be backed up.destFileName- Target backup file name.observer- ProgressObserver object.sleepTimeMillis- time to wait during a backup/restore operation if sqlite3_backup_step returns SQLITE_BUSY before continuingnTimeouts- the number of times sqlite3_backup_step can return SQLITE_BUSY before failingpagesPerStep- the number of pages to copy in each sqlite3_backup_step. If this is negative, the entire DB is copied at once.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
restore
public int restore(String dbName, String sourceFileName, DB.ProgressObserver observer) throws SQLException - Specified by:
restorein classDB- Parameters:
dbName- Database name for restoring data.sourceFileName- Source file name.observer- ProgressObserver object.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
restore
public int restore(String dbName, String sourceFileName, DB.ProgressObserver observer, int sleepTimeMillis, int nTimeouts, int pagesPerStep) throws SQLException - Specified by:
restorein classDB- Parameters:
dbName- the name of the db to restoresourceFileName- the filename of the source db to restoreobserver- ProgressObserver object.sleepTimeMillis- time to wait during a backup/restore operation if sqlite3_backup_step returns SQLITE_BUSY before continuingnTimeouts- the number of times sqlite3_backup_step can return SQLITE_BUSY before failingpagesPerStep- the number of pages to copy in each sqlite3_backup_step. If this is negative, the entire DB is copied at once.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
-
register_progress_handler
public void register_progress_handler(int vmCalls, ProgressHandler progressHandler) throws SQLException Description copied from class:DBProgress handler- Specified by:
register_progress_handlerin classDB- Throws:
SQLException
-
clear_progress_handler
- Specified by:
clear_progress_handlerin classDB- Throws:
SQLException
-
serialize
- Specified by:
serializein classDB- Throws:
SQLException
-
deserialize
- Specified by:
deserializein classDB- Throws:
SQLException
-