Package org.sqlite.core
Class NativeDB
- java.lang.Object
-
- org.sqlite.core.DB
-
- org.sqlite.core.NativeDB
-
-
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 Constructor Description NativeDB(String url, String fileName, SQLiteConfig config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_close()Closes the SQLite interface to a database.int_exec(String sql)Complies, evaluates, executes and commits an SQL statement.protected void_open(String file, int openFlags)Creates 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).voidclear_progress_handler()byte[]column_blob(long stmt, int col)intcolumn_count(long stmt)Stringcolumn_decltype(long stmt, int col)doublecolumn_double(long stmt, int col)intcolumn_int(long stmt, int col)longcolumn_long(long stmt, int col)Stringcolumn_name(long stmt, int col)Stringcolumn_table_name(long stmt, int col)Stringcolumn_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.voidinterrupt()Aborts any pending operation and returns at its earliest opportunity.Stringlibversion()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 SafeStmtPtrprepare(String sql)Complies 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[]serialize(String schema)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.longtotal_changes()byte[]value_blob(Function f, int arg)doublevalue_double(Function f, int arg)intvalue_int(Function f, int arg)Accesses 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)Stringvalue_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 Detail
-
NativeDB
public NativeDB(String url, String fileName, SQLiteConfig config) throws SQLException
- Throws:
SQLException
-
-
Method Detail
-
load
public static boolean load() throws ExceptionLoads the SQLite interface backend.- Returns:
- True if the SQLite JDBC driver is successfully loaded; false otherwise.
- Throws:
Exception
-
_open
protected void _open(String file, int openFlags) throws SQLException
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:
DB._open(java.lang.String, int)
-
_close
protected void _close() throws SQLExceptionDescription copied from class:DBCloses the SQLite interface to a database.- Specified by:
_closein classDB- Throws:
SQLException- See Also:
DB._close()
-
_exec
public int _exec(String sql) throws SQLException
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:
DB._exec(java.lang.String)
-
shared_cache
public int shared_cache(boolean enable)
Description copied from class:DBEnables or disables the sharing of the database cache and schema data structures between connections to the same database.- Specified by:
shared_cachein classDB- Parameters:
enable- True to enable; false otherwise.- Returns:
- Result Codes
- See Also:
DB.shared_cache(boolean)
-
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:
DB.enable_load_extension(boolean)
-
interrupt
public void interrupt()
Description copied from class:DBAborts any pending operation and returns at its earliest opportunity.- Specified by:
interruptin classDB- See Also:
DB.interrupt()
-
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:
DB.busy_timeout(int)
-
busy_handler
public void busy_handler(BusyHandler busyHandler)
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:
DB.busy_handler(BusyHandler)
-
prepare
protected SafeStmtPtr prepare(String sql) throws SQLException
Description copied from class:DBComplies an SQL statement.- Specified by:
preparein classDB- Parameters:
sql- An SQL statement.- Returns:
- Result Codes
- Throws:
SQLException- See Also:
DB.prepare(java.lang.String)
-
libversion
public String 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:
DB.libversion()
-
changes
public long changes()
- Specified by:
changesin classDB- Returns:
- Number of rows that were changed, inserted or deleted by the last SQL statement
- See Also:
DB.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:
DB.total_changes()
-
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:
DB.finalize(long)
-
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:
DB.step(long)
-
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:
DB.reset(long)
-
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:
DB.clear_bindings(long)
-
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:
DB.column_count(long)
-
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:
DB.column_type(long, int)
-
column_decltype
public String column_decltype(long stmt, int col)
- 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:
DB.column_decltype(long, int)
-
column_table_name
public String column_table_name(long stmt, int col)
- 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:
DB.column_table_name(long, int)
-
column_name
public String column_name(long stmt, int col)
- 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:
DB.column_name(long, int)
-
column_text
public String column_text(long stmt, int col)
- 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:
DB.column_text(long, int)
-
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:
DB.column_blob(long, int)
-
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:
DB.column_double(long, int)
-
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:
DB.column_long(long, int)
-
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:
DB.column_int(long, int)
-
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:
DB.result_null(long)
-
result_text
public void result_text(long context, String val)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:
DB.result_text(long, java.lang.String)
-
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:
DB.result_blob(long, byte[])
-
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:
DB.result_double(long, double)
-
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:
DB.result_long(long, long)
-
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:
DB.result_int(long, int)
-
result_error
public void result_error(long context, String err)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:
DB.result_error(long, java.lang.String)
-
value_text
public String value_text(Function f, int arg)
- 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:
DB.value_text(org.sqlite.Function, int)
-
value_blob
public byte[] value_blob(Function f, int arg)
- 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:
DB.value_blob(org.sqlite.Function, int)
-
value_double
public double value_double(Function f, int arg)
- 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:
DB.value_double(org.sqlite.Function, int)
-
value_long
public long value_long(Function f, int arg)
- 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:
DB.value_long(org.sqlite.Function, int)
-
value_int
public int value_int(Function f, int arg)
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.- Specified by:
value_intin 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.
- See Also:
DB.value_int(org.sqlite.Function, int)
-
value_type
public int value_type(Function f, int arg)
- 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:
DB.value_type(org.sqlite.Function, int)
-
create_function
public int create_function(String name, Function func, int nArgs, int flags) throws SQLException
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:
DB.create_function(java.lang.String, org.sqlite.Function, int, int)
-
destroy_function
public int destroy_function(String name) throws SQLException
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:
DB.destroy_function(java.lang.String)
-
create_collation
public int create_collation(String name, Collation coll) throws SQLException
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:
DB.create_collation(String, Collation)
-
destroy_collation
public int destroy_collation(String name) throws SQLException
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:
DB.destroy_collation(String)
-
limit
public int limit(int id, int value) throws SQLException- 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:
- https://www.sqlite.org/c3ref/limit.html
-
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:
DB.backup(java.lang.String, java.lang.String, org.sqlite.core.DB.ProgressObserver)
-
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:
DB.backup(String, String, org.sqlite.core.DB.ProgressObserver, int, int, int)
-
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:
DB.restore(java.lang.String, java.lang.String, org.sqlite.core.DB.ProgressObserver)
-
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:
DB.restore(String, String, ProgressObserver, int, int, int)
-
register_progress_handler
public void register_progress_handler(int vmCalls, ProgressHandler progressHandler) throws SQLExceptionDescription copied from class:DBProgress handler- Specified by:
register_progress_handlerin classDB- Throws:
SQLException
-
clear_progress_handler
public void clear_progress_handler() throws SQLException- Specified by:
clear_progress_handlerin classDB- Throws:
SQLException
-
serialize
public byte[] serialize(String schema) throws SQLException
- Specified by:
serializein classDB- Throws:
SQLException
-
deserialize
public void deserialize(String schema, byte[] buff) throws SQLException
- Specified by:
deserializein classDB- Throws:
SQLException
-
-