android.database.sqlite.SQLiteProgram
A base class for compiled SQLite programs.
Known Direct Subclasses
Summary
Fields
Public Methods
Protected Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Fields
The database this program is compiled against.
protected
int
nHandle
Native linkage, do not modify. This comes from the database and should not be modified
in here or in the native code.
protected
int
nStatement
Native linkage, do not modify. When non-0 this holds a reference to a valid
sqlite3_statement object. It is only updated by the native code, but may be
checked in this class when the database lock is held to determine if there
is a valid native-side program or not.
Public Methods
public
void
bindBlob(int index, byte[] value)
Bind a byte array value to this statement. The value remains bound until
clearBindings() is called.
Parameters
index
| The 1-based index to the parameter to bind |
value
| The value to bind
|
public
void
bindDouble(int index, double value)
Bind a double value to this statement. The value remains bound until
clearBindings() is called.
Parameters
index
| The 1-based index to the parameter to bind |
value
| The value to bind
|
public
void
bindLong(int index, long value)
Bind a long value to this statement. The value remains bound until
clearBindings() is called.
Parameters
index
| The 1-based index to the parameter to bind |
value
| The value to bind
|
public
void
bindNull(int index)
Bind a NULL value to this statement. The value remains bound until
clearBindings() is called.
Parameters
index
| The 1-based index to the parameter to bind null to
|
public
void
bindString(int index, String value)
Bind a String value to this statement. The value remains bound until
clearBindings() is called.
Parameters
index
| The 1-based index to the parameter to bind |
value
| The value to bind
|
public
void
clearBindings()
Clears all existing bindings. Unset bindings are treated as NULL.
public
void
close()
Release this program's resources, making it invalid.
public
final
int
getUniqueId()
Returns a unique identifier for this program.
Returns
- a unique identifier for this program
Protected Methods
protected
void
compile(String sql, boolean forceCompilation)
Compiles the given SQL into a SQLite byte code program using sqlite3_prepare_v2(). If
this method has been called previously without a call to close and forCompilation is set
to false the previous compilation will be used. Setting forceCompilation to true will
always re-compile the program and should be done if you pass differing SQL strings to this
method.
Note: this method acquires the database lock.
Parameters
sql
| the SQL string to compile |
forceCompilation
| forces the SQL to be recompiled in the event that there is an
existing compiled SQL program already around
|
protected
void
finalize()
Make sure that the native resource is cleaned up.
protected
final
void
native_bind_blob(int index, byte[] value)
protected
final
void
native_bind_double(int index, double value)
protected
final
void
native_bind_long(int index, long value)
protected
final
void
native_bind_null(int index)
protected
final
void
native_bind_string(int index, String value)
protected
final
void
native_compile(String sql)
Compiles SQL into a SQLite program.
The database lock must be held when calling this method.
protected
final
void
native_finalize()
protected
void
onAllReferencesReleased()
protected
void
onAllReferencesReleasedFromContainer()