-
Notifications
You must be signed in to change notification settings - Fork 1
/
HISTORY
250 lines (168 loc) · 7.47 KB
/
HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
2016-November-13
Version "0.9.4"
Since the "0.9.3-devel" release of this Lua library...
Add functions db:get_ptr() and sqlite3.open_ptr(db_ptr) to pass a db connection between threads.
Add function db:db_filename(name).
Update sqlite3_open to sqlite3_open_v2 and add open flags constants.
Thanks to Wolfgang Oertl!
Added second module 'lsqlite3complete' that statically links sqlite.c. Continue to use
'lsqlite3' for dynamic linking to 'sqlite3.so' or 'sqlite3.dll'.
Added Online Backup API
Added unit tests for NULs in BLOBs and TEXT columns. (Refute defect report.)
Use lua_createtable() in lieu of lua_newtable() when number of table elements is known.
This will improve performance.
Thanks to Egil Hjelmeland for the suggestion.
2015-January-06
Version "0.9.3"
Since the "0.9.2-devel" release of this Lua library...
Added lversion() function to report library version, "0.9.3".
Added db:load_extension() function to support SQLite extension libraries.
Added some tests for new funcitons and Lua 5.3 64-bit integers in the database.
Fixed longstanding bug: if db is no longer live, it is auto-closed by gc, but there may still
be live prepared statements. Executing these statements would produce an error. Prepared
statements now hold a reference to the db to prevent it from being collected while the prepared
statement is live. Manually closing the db will continue to finalize the statements, as before.
Fixed bug in PUSH_INT64 macro for Lua < 5.3 introduced in version 0.9.2-devel.
2015-January-04
Version "0.9.2-devel"
Since the "0.9.1-devel" release of this Lua library...
Lua 5.3 compatibility (backward compatible with Lua 5.2 and Lua 5.1.5).
Finally uses sqlite3_prepare_v2() to preserve detailed error codes in statement stepping
With Lua 5.3, 64-bit integer database values are supported for reading and writing columns;
all other values, e.g., status and counts, are now also returned as integers. The only use of
doubles is for values of that type read from or written to columns.
Added support for stmt:last_insert_rowid() as requested
2013-April-08
Version "0.9.1-devel"
Since the "0.9-devel" release of this Lua library...
Updated examples and tests from Dmitry Pashkevich.
2013-March-30
Version "0.9-devel"
Since the "0.8-devel" release of this Lua library...
Updates for Lua 5.2 (backward compatible with Lua 5.1.5).
Uses lunitx-0.6-1.rockspec for Lua 5.2 compatible testing.
Added sqlite3.update_hook(), sqlite3.commit_hook() and
sqlite3.rollback_hook() at the suggesiton of Dmitry Pashkevich, who
also contributed examples and some testing assistance on this release.
Converted Makefile to depend on luarocks.
2011-January-10
Version "0.8-devel"
Since the "0.7-devel" release of this Lua library...
Added a missing lua_pop in dbvm_bind_names()
Now dbvm_bind_index() binds a boolean as 1 or 0
Thanks to Ronny Dierckx
Since the "0.6-devel" release of this Lua library...
Made db_exec_callback thread safe.
Thanks to Grant Robinson.
Bug fix in dbvm_bind_index error message.
Thanks to Dirk Feytons.
Added a few casts and changed a few comments to ANSI C style.
Thanks to Corey Stup.
Note that Thomas Lauer has a patch referenced on LuaForge
to make collations thread safe(r). This issue is still
under investigation: the patch has wide ranging affect
and to me it appears unsafe wrt GC. The whole issue of
thread references in callbacks deserves thorough review.
A new design that places referenced values in the upvalues
of the callback function (rather than in the registry of
the function defining thread) would be preferable. It may
also make sense to keep thread references in a shared
environment of the library's functions, and/or require
all callbacks to be defined in the main lua state (so
they the state is guaranteed to outlive other threads).
-=-
2007-August-15 e
Version "0.6-devel"
Since the "0.5-devel" release of this Lua library...
Tested with SQLite 3.4.2
Added some documentation.
Thanks to Thomas Lauer...
Moved line 525 ("luaL_checktype(L, 2, LUA_TTABLE);")
below the declarations to eliminate non-gcc compiler errors.
Added create-collation, and associated test case.
-=-
2006-October-02 e
Since the "0.1-devel" release of this Lua library...
- updated for Lua 5.1
- provide automatic re-preparation of queries after schema changes
- made prepared statements with bindings work with for-loops
- added some compatibility names
- added many test cases, and ported Mike Roth's tests and examples
-=-
Below is a header comment from the 2004 "0.1" version of the library...
/************************************************************************
$Id: lsqlite3.c,v 1.3 2004/09/05 17:50:32 tngd Exp $
To consider:
------------
EXPERIMENTAL APIs
* sqlite3_progress_handler (implemented)
* sqlite3_commit_hook
TODO?
* sqlite3_create_collation
Changes:
04-09-2004
----------
* changed second return value of db:compile to be the rest of the
sql statement that was not processed instead of the number of
characters of sql not processed (situation in case of success).
* progress callback register function parameter order changed.
number of opcodes is given before the callback now.
29-08-2004 e
------------
* added version() (now supported in sqlite 3.0.5)
* added db:errmsg db:errcode db:total_changes
* rename vm:get_column to vm:get_value
* merge in Tiago's v1.11 change in dbvm_tostring
23-06-2004 e
------------
* heavily revised for SQLite3 C API
* row values now returned as native type (not always text)
* added db:nrows (named rows)
* added vm:bind_blob
* added vm:get_column
* removed encode_binary decode_binary (no longer needed or supported)
* removed version encoding error_string (unsupported in v 3.0.1 -- soon?)
09-04-2004
----------
* renamed db:rows to db:urows
* renamed db:prows to db:rows
* added vm:get_unames()
* added vm:get_utypes()
* added vm:get_uvalues()
08-04-2004
----------
* changed db:encoding() and db:version() to use sqlite_libencoding() and
sqlite_libversion()
* added vm:columns()
* added vm:get_named_types()
* added vm:get_named_values()
* added db:prows - like db:rows but returns a table with the column values
instead of returning multiple columns seperatly on each iteration
* added compatibility functions idata,iname,itype,data,type
* added luaopen_sqlite_module. allow the library to be loaded without
setting a global variable. does the same as luaopen_sqlite, but does not
set the global name "sqlite".
* vm:bind now also returns an error string in case of error
31-03-2004 - 01-04-2004
-----------------------
* changed most of the internals. now using references (luaL_ref) in
most of the places
* make the virtual machine interface seperate from the database
handle. db:compile now returns a vm handle
* added db:rows [for ... in db:rows(...) do ... end]
* added db:close_vm
* added sqlite.encode_binary and sqlite.decode_binary
* attempt to do a strict checking on the return type of the user
defined functions returned values
18-01-2004
----------
* add check on sql function callback to ensure there is enough stack
space to pass column values as parameters
03-12-2003
----------
* callback functions now have to return boolean values to abort or
continue operation instead of a zero or non-zero value
06-12-2003
----------
* make version member of sqlite table a function instead of a string
************************************************************************/