diff options
author | stephan <stephan@noemail.net> | 2022-05-22 14:07:44 +0000 |
---|---|---|
committer | stephan <stephan@noemail.net> | 2022-05-22 14:07:44 +0000 |
commit | d60b7275c3a8734ab8ebeeb5277b2fbb49f49484 (patch) | |
tree | b697a5eec539f04ac36e6beed7c783d319e2fda8 /ext/fiddle/sqlite3-api.js | |
parent | 166542cc98f78ac2e25adb8e84cffcb6eee30fc0 (diff) | |
download | sqlite-d60b7275c3a8734ab8ebeeb5277b2fbb49f49484.tar.gz sqlite-d60b7275c3a8734ab8ebeeb5277b2fbb49f49484.zip |
WASM OO wrapper #1: prepare() and bind() APIs are in place but are untested, pending fetch/get APIs.
FossilOrigin-Name: 84c8f63a1c446331a3afe52b0c8bdfa6980f24aa4cf600f576877fef5e650c39
Diffstat (limited to 'ext/fiddle/sqlite3-api.js')
-rw-r--r-- | ext/fiddle/sqlite3-api.js | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/ext/fiddle/sqlite3-api.js b/ext/fiddle/sqlite3-api.js index 65e6b00f6..83e46bbca 100644 --- a/ext/fiddle/sqlite3-api.js +++ b/ext/fiddle/sqlite3-api.js @@ -85,6 +85,7 @@ SQLITE_FLOAT: 2, SQLITE_TEXT: 3, SQLITE_BLOB: 4, + SQLITE_NULL: 5, /* sqlite encodings, used for creating UDFs, noting that we will only support UTF8. */ SQLITE_UTF8: 1 @@ -102,61 +103,61 @@ use for the JS-side binding. That's required when overloading a binding for two different uses. */ - ["sqlite3_open", "number", ["string", "number"]], - ["sqlite3_close_v2", "number", ["number"]], - ["sqlite3_exec", "number", - ["number", "string", "number", "number", "number"]], + ["sqlite3_bind_blob","number",["number", "number", "number", "number", "number"]], + ["sqlite3_bind_double","number",["number", "number", "number"]], + ["sqlite3_bind_int","number",["number", "number", "number"]], + ["sqlite3_bind_int64","number",["number", "number", "number"]], + ["sqlite3_bind_null","void",["number"]], + ["sqlite3_bind_parameter_index","number",["number", "string"]], + ["sqlite3_bind_text","number",["number", "number", "number", "number", "number"]], ["sqlite3_changes", "number", ["number"]], + ["sqlite3_clear_bindings","number",["number"]], + ["sqlite3_close_v2", "number", ["number"]], + ["sqlite3_column_blob","number", ["number", "number"]], + ["sqlite3_column_bytes","number",["number", "number"]], + ["sqlite3_column_count", "number", ["number"]], + ["sqlite3_column_count","number",["number"]], + ["sqlite3_column_double","number",["number", "number"]], + ["sqlite3_column_name","string",["number", "number"]], + ["sqlite3_column_text","string",["number", "number"]], + ["sqlite3_column_type","number",["number", "number"]], + ["sqlite3_create_function_v2", "number", + ["number", "string", "number", "number","number", + "number", "number", "number", "number"]], + ["sqlite3_data_count", "number", ["number"]], + ["sqlite3_db_filename", "string", ["number", "string"]], + ["sqlite3_errmsg", "string", ["number"]], + ["sqlite3_exec", "number", ["number", "string", "number", "number", "number"]], + ["sqlite3_finalize", "number", ["number"]], + ["sqlite3_interrupt", "void", ["number"]], + ["sqlite3_libversion", "string", []], + ["sqlite3_open", "number", ["string", "number"]], ["sqlite3_prepare_v2", "number", ["number", "string", "number", "number", "number"]], - ["sqlite3_prepare_v2_sqlptr", + ["sqlite3_prepare_v2_sqlptr", "sqlite3_prepare_v2", /* Impl which requires that the 2nd argument be a pointer to the SQL, instead of a string. This is used for cases where we require a non-NULL value for the final argument. We may or may not need this, depending on how our higher-level API shapes up, but this code's spiritual guide (sql.js) uses it we we'll include it. */ - "sqlite3_prepare_v2", "number", ["number", "number", "number", "number", "number"]], - ["sqlite3_bind_text","number",["number", "number", "number", "number", "number"]], - ["sqlite3_bind_blob","number",["number", "number", "number", "number", "number"]], - ["sqlite3_bind_double","number",["number", "number", "number"]], - ["sqlite3_bind_int","number",["number", "number", "number"]], - ["sqlite3_bind_parameter_index","number",["number", "string"]], - ["sqlite3_step", "number", ["number"]], - ["sqlite3_errmsg", "string", ["number"]], - ["sqlite3_column_count","number",["number"]], - ["sqlite3_data_count", "number", ["number"]], - ["sqlite3_column_count", "number", ["number"]], - ["sqlite3_column_double","number",["number", "number"]], - ["sqlite3_column_text","string",["number", "number"]], - ["sqlite3_column_blob","number", ["number", "number"]], - ["sqlite3_column_bytes","number",["number", "number"]], - ["sqlite3_column_type","number",["number", "number"]], - ["sqlite3_column_name","string",["number", "number"]], ["sqlite3_reset", "number", ["number"]], - ["sqlite3_clear_bindings","number",["number"]], - ["sqlite3_finalize", "number", ["number"]], - ["sqlite3_create_function_v2", "number", - ["number", "string", "number", "number", - "number", "number", "number", "number", - "number"]], - ["sqlite3_value_type", "number", ["number"]], - ["sqlite3_value_bytes","number",["number"]], - ["sqlite3_value_text", "string", ["number"]], - ["sqlite3_value_blob", "number", ["number"]], - ["sqlite3_value_double","number",["number"]], + ["sqlite3_result_blob",null,["number", "number", "number", "number"]], ["sqlite3_result_double",null,["number", "number"]], + ["sqlite3_result_error",null,["number", "string", "number"]], + ["sqlite3_result_int",null,["number", "number"]], ["sqlite3_result_null",null,["number"]], ["sqlite3_result_text",null,["number", "string", "number", "number"]], - ["sqlite3_result_blob",null,["number", "number", "number", "number"]], - ["sqlite3_result_int",null,["number", "number"]], - ["sqlite3_result_error",null,["number", "string", "number"]], - ["sqlite3_libversion", "string", []], - ["sqlite3_sourceid", "string", []] + ["sqlite3_sourceid", "string", []], + ["sqlite3_step", "number", ["number"]], + ["sqlite3_value_blob", "number", ["number"]], + ["sqlite3_value_bytes","number",["number"]], + ["sqlite3_value_double","number",["number"]], + ["sqlite3_value_text", "string", ["number"]], + ["sqlite3_value_type", "number", ["number"]] //["sqlite3_sql", "string", ["number"]], //["sqlite3_normalized_sql", "string", ["number"]] - ].forEach(function(e){ - const a = Array.prototype.slice.call(e); + ].forEach(function(a){ const k = (4==a.length) ? a.shift() : a[0]; api[k] = cwrap.apply(this, a); }); |