forked from mmottl/sqlite3-ocaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pre-v4.2.0-CHANGES.txt
249 lines (156 loc) · 9.14 KB
/
pre-v4.2.0-CHANGES.txt
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
2017-06-11: Fixed return value bug in enable_load_extension. The result
was just the opposite of what the API documentation says.
2017-01-04: Added external dependency to OPAM spec for openSUSE support.
2017-01-03: Fixed incorrect LGPL license reference in Oasis specification.
The software is actually distributed under the Expat-license.
2016-12-15: Added new functions for more efficient and convenient blob access:
* column_blob
* row_blobs
Thanks to Nicolas Ojeda Bar <[email protected]>
for this patch!
2016-10-07: Some portability improvements and Travis integration
Thanks to Leonid Rozenberg <[email protected]> for his Travis work!
2016-06-14: Changed default configuration setting for loadable extensions
on Mac OS X. Due to frequent installation issues the default
setting is now to turn off loadable extensions on that platform.
You will have to explicitly turn them on if you need them.
2016-05-24: Fixed a bug finalizing user-defined functions for a database.
Thanks to Mark Bradley <[email protected]> for this patch!
2015-11-18: More build process improvements for Homebrew users.
Thanks to Leonid Rozenberg <[email protected]> for this patch!
2015-11-05: Improved build process for Homebrew users.
Thanks to Leonid Rozenberg <[email protected]> for this patch!
2015-09-02: Major API change that is compatible with major release series 2:
It is now possible to return errors from user-defined SQL-functions
by simply raising (arbitrary) exceptions. This somewhat
tricky internal change eliminates the need for Data.ERROR and
reestablishes compatibility with major release series 2.
Sorry for the churn, but the more elegant solution was not
quite obvious!
2015-08-29: Added user function error handling (major API change).
Thanks to Joseph Young for this patch!
2015-01-29: Fixed a build problem due to Oasis/ocamlbuild inconsistency.
Thanks to Leonid Rozenberg <[email protected]> for this patch!
2014-10-08: Fixed a callback locking bug when encountering rows containing
unexpected NULLs.
Thanks to <[email protected]> for this patch!
2014-07-04: Moved to GitHub.
2012-12-02: Added new functions
* sleep
* clear_bindings
Really old operating system distributions may have had problems
linking these functions, but it seems that reasonably recent
ones support them.
2012-11-19: Added missing .mldylib file for shared library support.
Thanks to Hugo Heuzard for the bug report!
2012-07-20: Downgraded findlib version requirement to support the Debian
testing branch.
2012-07-16: Replaced String.trim function in myocamlbuild.ml to allow
compiling with OCaml 3.12.1.
2012-07-15: New major release version 2.0.0:
* Upgraded to OCaml 4.00
* Switched to Oasis for packaging
* Switched to OCamlBuild for the build process
* Rewrote README in Markdown
* Added stricter compilation flags
2012-05-19: Fixed cpp warnings and removed superfluous check for dynamic
linking library. The latter improves portability to FreeBSD.
Thanks to Stéphane Legrand <[email protected]> for the bug report!
2011-03-10: Added sqlite3_open_v2 functionality.
Thanks to Mike Lin <[email protected]> for the initial patch!
2010-12-20: Fixed linking problem with loadable module support.
Thanks to Adrien Nader <[email protected]> for the patch!
2010-09-18: Fixed segfault related to incorrect handling of exceptions raised
from user callbacks.
Thanks to William Le Ferrand <[email protected]> for the bug
report!
2009-12-15: Fixed segfault related to exceptions raised from C.
Thanks to Gareth Smith <[email protected]> for the
bug report!
2009-09-14: Fixed build problem.
2009-09-13: Removed deprecated functions and improved build process.
2009-09-08: Added "changes" function.
Thanks to <[email protected]> for this patch!
2009-08-22: enable_load_extension now raises an exception if unsupported.
2009-07-28: Added better support for compiling with MSVC and ocamlbuild.
Thanks to <[email protected]> for this patch!
2009-05-23: Fixed example to be consistent with new API.
2009-05-16: Fixed mishandling of OCaml-runtime lock when callbacks
raise exceptions, and correctly handle NULL-pointer
results when getting column type declarations.
Thanks to Bruno Daniel <[email protected]> for this
patch!
Changed API to expose optional results.
2009-03-09: Fixed potential build problem.
2009-03-01: Added support for user-defined aggregate functions.
Thanks to Anil Madhavapeddy <[email protected]> for the initial
version of the patch!
2009-02-21: Added new function:
* busy_timeout
Thanks to Paolo Donadeo <[email protected]> for the patch!
2009-01-05: Switched to generational global root registration of
callbacks for better performance.
Requires OCaml 3.11 or higher!!!
2008-12-02: Added function enable_load_extension if it is available.
Thanks to Pietro Abate <[email protected]> for
the patch!
2008-05-11: Added function column_count, used it internally in place of
data_count, and improved documentation of associated
functions.
Thanks to James Cheney <[email protected]> for the patch!
2008-05-07: Renamed Data.to_string to Data.to_string_debug for converting
fields to strings with their data constructor. Replaced the
previous function with one that behaves more like users
would expect. Thanks to Stefano Zacchiroli <[email protected]>
for the suggestion.
2008-04-18: Improved backwards compatibility to older versions of SQLite.
2008-04-04: Fixed a build problem on Mac OS X.
2008-03-27: Fixed a build problem on FreeBSD.
Thanks to Jaap Boender <[email protected]> for
the patch!
2008-03-14: Synced with Jane Street tree.
2008-03-05: Added a patch to improve Windows support. Thanks to Alain
Frisch <[email protected]> for the patch!
2007-09-04: Fixed a minor bug converting status codes.
2007-08-20: Fixed a GC-bug related to user-defined SQL-functions.
Thanks to Enrico Tassi <[email protected]> for the
test case to replicate this problem!
2007-06-17: Added support for user-defined scalar functions. Thanks to
Enrico Tassi <[email protected]> for the patch!
Switched to sqlite3_prepare_v2 internally to avoid the older,
deprecated sqlite3_prepare-function. Thanks to Gabriel
Kerneis <[email protected]> for the hint!
Removed exec_sql-function, which was buggy in the last
release anyway (thanks to Paul Stodghill <[email protected]>
for pointing this out!). Its interface hides too much
important information from the user (e.g. BUSY-steps, etc.).
It did not seem possible to design a function that made
it as simple as exec_sql to run an SQL-statement without
inviting the user to write buggy/incomplete code, or that
wouldn't make the interface almost as complicated as just
writing the correct code that handles all cases by oneself.
2007-05-07: Further GC-bug fixes. There was a design bug in the library
that was causing all these GC issues (C-structs allocated
in the OCaml-heap). This obviously seemed safe (and more
efficient) to the initial author, but after extensive checking
it became apparent that this just does not work if C-structs
reference each other, because the GC might move these memory
regions. It seems safer to allocate C-structs with "malloc",
and use an indirection to access them.
2007-05-04: Fixed several GC-bugs, and improved thread interaction.
2007-04-23: callback_exn -> caml_callback_exn.
2007-03-30: Fixed a GC-bug.
2007-03-19: Fixed an installation problem on Cygwin.
Thanks to James Cheney <[email protected]> for the hint!
2007-02-27: Small API-change: the callback for exec is now an optional
argument.
Added three more "exec"-functions, which do or do not take
headers or handle NULL-values.
Improved quality of C-code (removed warnings).
2007-02-23: Fixed a bug in the "db_close"-function. Improved documentation.
2007-02-19: Added check for out of memory after malloc.
2007-01-31: Fixed build problem on x86_64: added -fPIC flag to compilation
of C-stubs.
2007-01-17: Complete rewrite by Markus Mottl <[email protected]>.
2005-04-??: Initial coding (0.1) by
Christian Szegedy <[email protected]>.