public abstract class

SQLiteProgram

extends SQLiteClosable
java.lang.Object
   ↳ android.database.sqlite.SQLiteClosable
     ↳ android.database.sqlite.SQLiteProgram
Known Direct Subclasses

Class Overview

A base class for compiled SQLite programs.

Summary

Fields
protected SQLiteDatabase mDatabase The database this program is compiled against.
protected int nHandle Native linkage, do not modify.
protected int nStatement Native linkage, do not modify.
Public Methods
void bindBlob(int index, byte[] value)
Bind a byte array value to this statement.
void bindDouble(int index, double value)
Bind a double value to this statement.
void bindLong(int index, long value)
Bind a long value to this statement.
void bindNull(int index)
Bind a NULL value to this statement.
void bindString(int index, String value)
Bind a String value to this statement.
void clearBindings()
Clears all existing bindings.
void close()
Release this program's resources, making it invalid.
final int getUniqueId()
Returns a unique identifier for this program.
Protected Methods
void compile(String sql, boolean forceCompilation)
Compiles the given SQL into a SQLite byte code program using sqlite3_prepare_v2().
void finalize()
Make sure that the native resource is cleaned up.
final void native_bind_blob(int index, byte[] value)
final void native_bind_double(int index, double value)
final void native_bind_long(int index, long value)
final void native_bind_null(int index)
final void native_bind_string(int index, String value)
final void native_compile(String sql)
Compiles SQL into a SQLite program.
final void native_finalize()
void onAllReferencesReleased()
void onAllReferencesReleasedFromContainer()
[Expand]
Inherited Methods
From class android.database.sqlite.SQLiteClosable
From class java.lang.Object

Fields

protected SQLiteDatabase mDatabase

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.

Parameters
sql The SQL to compile.

protected final void native_finalize ()

protected void onAllReferencesReleased ()

protected void onAllReferencesReleasedFromContainer ()