From: Juerg Billeter Date: Tue, 18 Dec 2007 16:25:08 +0000 (+0000) Subject: some enhancements to the SQLite bindings X-Git-Tag: VALA_0_1_6~86 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=954a7952a54f03f8a31cc3f21d780f95ee32a63f;p=platform%2Fupstream%2Fvala.git some enhancements to the SQLite bindings 2007-12-18 Juerg Billeter * vapi/sqlite3.vapi: some enhancements to the SQLite bindings svn path=/trunk/; revision=781 --- diff --git a/ChangeLog b/ChangeLog index 870d2e8..d37c3e6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-12-18 Jürg Billeter + * vapi/sqlite3.vapi: some enhancements to the SQLite bindings + +2007-12-18 Jürg Billeter + * vala/parser.y, vala/valaattributeprocessor.vala, vala/valaconstant.vala: support cname attribute for constants diff --git a/vapi/sqlite3.vapi b/vapi/sqlite3.vapi index c78dad8..92ed9f6 100644 --- a/vapi/sqlite3.vapi +++ b/vapi/sqlite3.vapi @@ -22,41 +22,132 @@ [CCode (lower_case_cprefix = "sqlite3_", cheader_filename = "sqlite3.h")] namespace Sqlite { + /* Database Connection Handle */ [CCode (free_function = "sqlite3_close", cname = "sqlite3", cprefix = "sqlite3_")] public class Database { - public int exec (string! sql, Callback sqlite3_callback = null, pointer data = null, out string errmsg = null); - public int64 last_insert_rowid (); + public int busy_timeout (int ms); public int changes (); - public int total_changes (); + public int exec (string! sql, Callback sqlite3_callback = null, void* data = null, out string errmsg = null); + public int extended_result_codes (int onoff); + public int get_autocommit (); public void interrupt (); + public int64 last_insert_rowid (); + public int total_changes (); + public int complete (string! sql); public int get_table (string! sql, out string[] resultp, ref int nrow, ref int ncolumn, out string errmsg); + public static void free_table(string[] result); public static int open (string! filename, out Database db); public int errcode (); public weak string errmsg (); public int prepare (string! sql, int n_bytes, out Statement stmt, out string tail = null); } + /* Dynamically Typed Value Object */ + [CCode (cname = "sqlite3_value")] + public class Value { + public void* blob (); + public int bytes (); + public double double (); + public int int (); + public int64 int64 (); + public weak string text (); + public int type (); + public int numeric_type (); + } + + [NoArrayLength] [CCode (cname = "sqlite3_callback")] - public static delegate int Callback (pointer data, int n_columns, string[] values, string[] column_names); + public static delegate int Callback (void* data, int n_columns, string[] values, string[] column_names); + + [CCode (cname = "SQLITE_OK")] + public const int OK; + [CCode (cname = "SQLITE_ERROR")] + public const int ERROR; + [CCode (cname = "SQLITE_INTERNAL")] + public const int INTERNAL; + [CCode (cname = "SQLITE_PERM")] + public const int PERM; + [CCode (cname = "SQLITE_ABORT")] + public const int ABORT; + [CCode (cname = "SQLITE_BUSY")] + public const int BUSY; + [CCode (cname = "SQLITE_LOCKED")] + public const int LOCKED; + [CCode (cname = "SQLITE_NOMEM")] + public const int NOMEM; + [CCode (cname = "SQLITE_READONLY")] + public const int READONLY; + [CCode (cname = "SQLITE_INTERRUPT")] + public const int INTERRUPT; + [CCode (cname = "SQLITE_IOERR")] + public const int IOERR; + [CCode (cname = "SQLITE_CORRUPT")] + public const int CORRUPT; + [CCode (cname = "SQLITE_NOTFOUND")] + public const int NOTFOUND; + [CCode (cname = "SQLITE_FULL")] + public const int FULL; + [CCode (cname = "SQLITE_CANTOPEN")] + public const int CANTOPEN; + [CCode (cname = "SQLITE_PROTOCOL")] + public const int PROTOCOL; + [CCode (cname = "SQLITE_EMPTY")] + public const int EMPTY; + [CCode (cname = "SQLITE_SCHEMA")] + public const int SCHEMA; + [CCode (cname = "SQLITE_TOOBIG")] + public const int TOOBIG; + [CCode (cname = "SQLITE_CONSTRAINT")] + public const int CONSTRAINT; + [CCode (cname = "SQLITE_MISMATCH")] + public const int MISMATCH; + [CCode (cname = "SQLITE_MISUSE")] + public const int MISUSE; + [CCode (cname = "SQLITE_NOLFS")] + public const int NOLFS; + [CCode (cname = "SQLITE_AUTH")] + public const int AUTH; + [CCode (cname = "SQLITE_FORMAT")] + public const int FORMAT; + [CCode (cname = "SQLITE_RANGE")] + public const int RANGE; + [CCode (cname = "SQLITE_NOTADB")] + public const int NOTADB; + [CCode (cname = "SQLITE_ROW")] + public const int ROW; + [CCode (cname = "SQLITE_DONE")] + public const int DONE; + /* SQL Statement Object */ [CCode (free_function = "sqlite3_finalize", cname = "sqlite3_stmt", cprefix = "sqlite3_")] public class Statement { - [NoArrayLength] - public int bind_blob (int index, uchar[] value, int n, GLib.DestroyNotify destroy_notify); - public int bind_double (int index, double value); - public int bind_int (int index, int value); - public int bind_int64 (int index, int64 value); - public int bind_null (int index); - public int bind_text (int index, string! value, int n, GLib.DestroyNotify destroy_notify); public int bind_parameter_count (); - public string bind_parameter_name (int index); public int bind_parameter_index (string! name); + public string bind_parameter_name (int index); public int clear_bindings (); public int column_count (); - public string! column_name (int index); + public int data_count (); + public weak Database db_handle (); + public int reset (); public int step (); - public int column_int (int i_col); + public int bind_blob (int index, void* value, int n, GLib.DestroyNotify destroy_notify); + public int bind_double (int index, double value); + public int bind_int (int index, int value); + public int bind_int64 (int index, int64 value); + public int bind_null (int index); + public int bind_text (int index, string! value, int n, GLib.DestroyNotify destroy_notify); + public int bind_value (int index, Value value); + public int bind_zeroblob (int index, int n); + public void* column_blob (int col); + public int column_bytes (int col); + public double column_double (int col); + public int column_int (int col); + public int64 column_int64 (int col); + public weak string column_text (int col); + public int column_type (int col); + public weak Value column_value (int col); + public weak string! column_name (int index); } }