Commit Graph

138 Commits

Author SHA1 Message Date
Connor Rigby
8fa063a3f1 Add ability to subscribe to table updates.
This was implemented based on
[this](https://www.sqlite.org/c3ref/update_hook.html) document.
2018-11-29 15:30:00 -08:00
Maas-Maarten Zeeman
6728a0c020 Merge pull request #43 from TenderPro/BulkRowsReading
Bulk rows reading
2018-07-17 22:52:59 +02:00
Alex Golubov
f5d73f7c82 Reading multiple rows from sqlite and send to Erlang process in one bulk. 2018-07-05 22:55:10 +05:00
Alex Golubov
34b144eeea Upgrade SQLite to 3.24.0. 2018-07-05 22:05:10 +05:00
Eric Scouten
6bb10f8939 Upgrade SQLite to 3.18.0. 2017-04-22 15:24:19 -07:00
Maas-Maarten Zeeman
c1ba116de4 Pass the statement to the command thread in an erlang term to prevent it from being destructed before it was processed 2017-03-01 23:25:45 +01:00
Maas-Maarten Zeeman
792921fbcc Swapped malloc and free for enif_alloc and enif_free 2017-03-01 22:33:07 +01:00
Maas-Maarten Zeeman
bd6d4aaaa7 Added check to make sure sqlite is build in thread-safe mode 2017-03-01 11:17:12 +01:00
Maas-Maarten Zeeman
aefc294613 Removed unneeded if statements 2017-03-01 08:48:11 +01:00
Maas-Maarten Zeeman
d4969140bc Cleaned up connection reference inside c-struct of statement 2017-02-28 23:38:14 +01:00
Maas-Maarten Zeeman
3f1ef40b90 Fix reference count to connection when a prepared statement is made 2017-02-26 14:55:47 +01:00
Maas-Maarten Zeeman
f6d0f8b3e9 Store the reference to the connection when prepare fails.
When the statement is destructed, the connection will be decreffed and also destructed.
2017-02-24 16:54:30 +01:00
Maas-Maarten Zeeman
fe80c2279b Release the statement when prepare fails. 2017-02-24 16:42:07 +01:00
Maas-Maarten Zeeman
57e01c9968 Remove unneeded variable 2017-02-24 16:29:50 +01:00
Maas-Maarten Zeeman
dc294c0d25 Don't release the connection when prepare_v2 fails 2017-02-24 16:28:08 +01:00
Maas-Maarten Zeeman
785903ae6d Keep a reference to the connection before the prepare statement is put on the command queue.
This should fix a race condition when a prepare is called right before the
db connection is garbage collected.
2017-02-22 22:03:26 +01:00
Maas-Maarten Zeeman
3d546ff8a4 Empty the command queue before destroying it. It could contain commands. Fixes a crash 2016-12-16 11:14:33 +01:00
Maas-Maarten Zeeman
f7b151f64c Merge pull request #27 from NineFX/bump-sqlite-version
Bump SQLite version
2015-08-02 17:01:36 +02:00
Maas-Maarten Zeeman
c295381715 Removed unneeded queue_send and made closing the db more robust. Does this fix #20? 2015-08-02 16:55:36 +02:00
Drew Varner
db9383cc30 Bump SQLite version
Bump SQLite to 3.8.11
2015-07-25 15:28:04 -04:00
jazzyb
0a073b18e9 fixes sqlite3_column_count() return check
sqlite3_column_count() may return 0 for SQL statements that do not return rows
from the database.  This should not be treated as an error.

See:  https://sqlite.org/c3ref/column_count.html
2015-04-16 22:29:50 -04:00
jazzyb
2a32ad90e6 fixes column types error 2015-02-28 11:10:18 -05:00
Maas-Maarten Zeeman
9bc0713f79 Better version check 2015-02-01 13:40:06 +01:00
Maas-Maarten Zeeman
c6976193da Updated sqlite to version 3.8.8.2 2015-02-01 09:54:21 +01:00
Michael Ries
19080b849c get column types 2015-01-30 09:24:00 -07:00
Maas-Maarten Zeeman
6428cec6dd Make sure the statement is reset after a in step. Fixes #10 2014-06-16 22:24:59 +02:00
Maas-Maarten Zeeman
d0fb9156a8 Use sqlite3_close_v2, it automatically closes the db after the last statement finishes 2014-06-16 16:42:25 +02:00
Maas-Maarten Zeeman
2a5c521cda Simplified error handling of do_step as any error code can be returned by prepare_v2 2014-06-16 16:36:12 +02:00
Maas-Maarten Zeeman
297b829482 Ensure that an error message is returned 2014-06-16 16:18:17 +02:00
Maas-Maarten Zeeman
af213d6df7 Upgrading sqlite to version 3.8.5 2014-06-16 15:03:29 +02:00
Maas-Maarten Zeeman
4841764b94 merge 2014-06-15 21:19:25 +02:00
Arjan Scherpenisse
d860e0182c Return SQLITE_CONSTRAINT error 2014-06-15 09:17:52 +02:00
Arjan Scherpenisse
476c34e1e3 Add esqlite3:changes/3 function to get nr of affected rows 2014-06-15 00:14:11 +02:00
Arjan Scherpenisse
9ca051542d Removed 'unexpected return code'; we're using the v2 version of sqlite_prepare
See http://www.sqlite.org/c3ref/step.html; any error code can be returned.
2014-01-19 20:41:54 +01:00
Maas-Maarten Zeeman
8be2c9ec35 Return an error when the input is not an iolist 2013-11-29 21:59:54 +01:00
Maas-Maarten Zeeman
5fde2244f3 Bumped sqlite to version 3.8.1 2013-11-29 21:54:56 +01:00
Maas-Maarten Zeeman
8cdd55de20 Forgot to add static keyword 2013-11-29 21:53:18 +01:00
Maas-Maarten Zeeman
9df3a49445 Use a selective receive, and ignore stale answers. I think this fixes #3 2013-11-28 19:41:40 +01:00
qingliangcn
0578386bc3 fix overflow problem when insert function returned value larger than int32 2013-11-28 21:35:15 +08:00
qingliangcn
a921bd65b2 add insert function to get last insert rowid 2013-11-28 00:22:40 +08:00
qingliangcn
b2d1f7ed9f support nif module reload and upgrade 2013-11-27 18:47:39 +08:00
Maas-Maarten Zeeman
1d27deb3c0 Addes support for 64-bit integers. 2013-03-08 22:34:47 +01:00
Maas-Maarten Zeeman
cfe06ddfd9 New trick to get 0 terminated strings from an iolist 2013-02-22 08:37:20 +01:00
Maas-Maarten Zeeman
7fa56acf34 Set a busy timeout when opening the connection. 2013-02-09 10:04:58 +01:00
Maas-Maarten Zeeman
b6066c269d Support for utf-8 text. Blobs as separate entities 2013-01-01 21:45:24 +01:00
Maas-Maarten Zeeman
ec04d67632 Check for issue #2. No problem... Fixes #2 2013-01-01 14:42:43 +01:00
Maas-Maarten Zeeman
827a8c1756 Added specs 2012-12-26 23:51:54 +01:00
Maas-Maarten Zeeman
3697633c6b Changed plain 'error' to 'sqlite_error' 2012-12-26 16:51:20 +01:00
Maas-Maarten Zeeman
425e9947bb Enabled the FTS extensions 2012-12-26 15:43:55 +01:00
Maas-Maarten Zeeman
6f7574fa1f Return sqlite3 errors from step. 2012-12-26 14:44:47 +01:00