Class NativeDB

  • All Implemented Interfaces:
    Codes

    public final class NativeDB
    extends DB
    This class provides a thin JNI layer over the SQLite3 C API.
    • Method Detail

      • load

        public static boolean load()
                            throws Exception
        Loads the SQLite interface backend.
        Returns:
        True if the SQLite JDBC driver is successfully loaded; false otherwise.
        Throws:
        Exception
      • shared_cache

        public int shared_cache​(boolean enable)
        Description copied from class: DB
        Enables or disables the sharing of the database cache and schema data structures between connections to the same database.
        Specified by:
        shared_cache in class DB
        Parameters:
        enable - True to enable; false otherwise.
        Returns:
        Result Codes
        See Also:
        DB.shared_cache(boolean)
      • interrupt

        public void interrupt()
        Description copied from class: DB
        Aborts any pending operation and returns at its earliest opportunity.
        Specified by:
        interrupt in class DB
        See Also:
        DB.interrupt()
      • busy_timeout

        public void busy_timeout​(int ms)
        Description copied from class: DB
        Sets a busy handler that sleeps for a specified amount of time when a table is locked.
        Specified by:
        busy_timeout in class DB
        Parameters:
        ms - Time to sleep in milliseconds.
        See Also:
        DB.busy_timeout(int)
      • libversion

        public String libversion()
        Description copied from class: DB
        Returns the value for SQLITE_VERSION, SQLITE_VERSION_NUMBER, and SQLITE_SOURCE_ID C preprocessor macros that are associated with the library.
        Specified by:
        libversion in class DB
        Returns:
        Compile-time SQLite version information.
        See Also:
        DB.libversion()
      • changes

        public int changes()
        Specified by:
        changes in class DB
        Returns:
        Number of rows that were changed, inserted or deleted by the last SQL statement
        See Also:
        DB.changes()
      • total_changes

        public int total_changes()
        Specified by:
        total_changes in class DB
        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: DB
        Destroys a prepared statement.
        Specified by:
        finalize in class DB
        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: DB
        Evaluates a statement.
        Specified by:
        step in class DB
        Parameters:
        stmt - Pointer to the statement.
        Returns:
        Result Codes
        See Also:
        DB.step(long)
      • reset

        public int reset​(long stmt)
        Description copied from class: DB
        Sets a prepared statement object back to its initial state, ready to be re-executed.
        Specified by:
        reset in class DB
        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: DB
        Reset all bindings on a prepared statement (reset all host parameters to NULL).
        Specified by:
        clear_bindings in class DB
        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_count in class DB
        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_type in class DB
        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_decltype in class DB
        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_name in class DB
        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_name in class DB
        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_text in class DB
        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_blob in class DB
        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_double in class DB
        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_long in class DB
        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_int in class DB
        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: DB
        Sets the result of an SQL function as NULL with the pointer to the SQLite database context.
        Specified by:
        result_null in class DB
        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: DB
        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.
        Specified by:
        result_text in class DB
        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: DB
        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.
        Specified by:
        result_blob in class DB
        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: DB
        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.
        Specified by:
        result_double in class DB
        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: DB
        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.
        Specified by:
        result_long in class DB
        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: DB
        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.
        Specified by:
        result_int in class DB
        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: DB
        Sets 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_error in class DB
        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_text in class DB
        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_blob in class DB
        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_double in class DB
        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_long in class DB
        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: DB
        Accesses the parameter values on the function or aggregate in int data type with the function object and the parameter value.
        Specified by:
        value_int in class DB
        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_type in class DB
        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)
      • destroy_collation

        public int destroy_collation​(String name)
        Description copied from class: DB
        Create a user defined collation with given collation name and the collation object.
        Specified by:
        destroy_collation in class DB
        Parameters:
        name - The collation name to be created.
        Returns:
        Result Codes
        See Also:
        DB.destroy_collation(String)