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