# A prepared statement
extern class NativeStatement `{sqlite3_stmt*`}
# Evaluate the statement
fun step: Sqlite3Code `{
return sqlite3_step(self);
`}
fun (i: Int): CString `{
return (char *)sqlite3_column_name(self, i);
`}
# Number of bytes in the blob or string at row `i`
fun column_bytes(i: Int) : Int `{
return sqlite3_column_bytes(self, i);
`}
fun (i: Int) : Float `{
return sqlite3_column_double(self, i);
`}
fun (i: Int) : Int `{
return sqlite3_column_int(self, i);
`}
fun (i: Int): CString `{
return (char *)sqlite3_column_text(self, i);
`}
# Type of the entry at row `i`
fun column_type(i: Int): DataType `{
return sqlite3_column_type(self, i);
`}
fun (i: Int): Pointer `{ return (void*)sqlite3_column_blob(self, i); `}
fun : Int `{
return sqlite3_column_count(self);
`}
# Reset this statement to its original state, to be reexecuted
fun reset: Sqlite3Code `{ return sqlite3_reset(self); `}
# Delete this statement
fun finalize: Sqlite3Code `{ return sqlite3_finalize(self); `}
end
lib/sqlite3/native_sqlite3.nit:90,1--135,3