sqlite3 :: NativeSqlite3 :: defaultinit
sqlite3 :: NativeSqlite3 :: error
sqlite3 :: NativeSqlite3 :: open
Open a connection to a database in UTF-8sqlite3 :: NativeSqlite3 :: prepare
Prepare a SQL statementsqlite3 $ NativeSqlite3 :: SELF
Type of this instance, automatically specialized in every classcore :: Pointer :: address_is_null
Is the address behind this Object at NULL?core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
sqlite3 :: NativeSqlite3 :: defaultinit
core :: Pointer :: defaultinit
core :: Object :: defaultinit
sqlite3 :: NativeSqlite3 :: error
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
sqlite3 :: NativeSqlite3 :: open
Open a connection to a database in UTF-8core :: Object :: output_class_name
Display class name on stdout (debug only).sqlite3 :: NativeSqlite3 :: prepare
Prepare a SQL statement
# A database connection
extern class NativeSqlite3 `{sqlite3 *`}
# Open a connection to a database in UTF-8
new open(filename: CString) `{
sqlite3 *self = NULL;
int err = sqlite3_open(filename, &self);
nit_sqlite_open_error = err;
return self;
`}
# Has this DB been correctly opened?
#
# To know if it has been closed or interrupted, you must check for errors with `error`.
fun is_valid: Bool do return not address_is_null
# Close this connection
fun close `{
#if SQLITE_VERSION_NUMBER >= 3007014
sqlite3_close_v2(self);
#else
// A program using the older version should not rely on the garbage-collector
// to close its connections. They must be closed manually after the associated
// prepare statements have been finalized.
sqlite3_close(self);
#endif
`}
# Execute a SQL statement
fun exec(sql: CString): Sqlite3Code `{
return sqlite3_exec(self, sql, NULL, NULL, NULL);
`}
# Prepare a SQL statement
fun prepare(sql: CString): NativeStatement `{
sqlite3_stmt *stmt;
int res = sqlite3_prepare_v2(self, sql, -1, &stmt, 0);
if (res == SQLITE_OK)
return stmt;
else
return NULL;
`}
fun last_insert_rowid: Int `{
return sqlite3_last_insert_rowid(self);
`}
fun error: Sqlite3Code `{
return sqlite3_errcode(self);
`}
end
lib/sqlite3/native_sqlite3.nit:137,1--187,3