-
Notifications
You must be signed in to change notification settings - Fork 7
/
Changelog.txt
253 lines (224 loc) · 11.2 KB
/
Changelog.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
250
251
252
253
Version 2.13 (26. Aug. 2022)
- Update SQLite to version 3.39.2.
- Update c-blosc to 1.21.2.dev
Version 2.12 (18. Dec. 2021)
- Bugfix:
Since V2.7 (SHA-1 d9c3ea5f5536b24fab78b9fc214ce538f8e540ca), compression
methods QLIN16 and QLOG16 have no effect (data stored uncompressed).
- SQLite update to version 3.37.0
- Supporting SQLITE_ENABLE_MATH_FUNCTIONS
- Added compressor "FLOAT" (cast to IEEE-754 single precision floating point)
Version 2.11 (2. Feb. 2021)
- Added buildin functions uuid(), uuid_str(X), uuid_blob(X) from uuid.c (sqlite.org)
- c-blosc update to version 1.21.0
- SQLite update to version 3.34.1
- Bugfix: Some error messages weren't displayed
- Bugfix: mksqlite 'status'
Version 2.10 (18. Aug. 2020)
- Added buildin functions ceil() and floor()
Version 2.9 (31. July 2020)
- Updated sqlite to version 3.32.3
- Changed license to BSD-2
Version 2.8 (12. March 2020)
- Updated sqlite to version 3.31.1
- Increased default value for MKSQLITE_CONFIG_MAX_NUM_OF_DBS from 10 to 20
Version 2.7 (4. November 2018)
- Changed license to LGPLv3
- CMake toolchain support. (buildit.m is deprecated now!)
- Separated C-Blosc as optional submodule. mksqlite supports all compression
types now.
C-Blosc is integrated as "submodule" in the mksqlite git repository and
is not part of the mksqlite sources anymore.
You may compile mksqlite without C-Blosc as required, adjustable per
MKSQLITE_CONFIG_USE_BLOSC define.
- Updated MD5 source
[http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5]
- SQLite update to V3.25.2
Version 2.6 (build 138 - 27. Jun. 2018)
- Bugfix: Charset conversion now for query string itself, not for arguments only.
Queries like mksqlite( 'SELECT * FROM tbl WHERE name="Dünn"') failed,
whereas mksqlite( 'SELECT * FROM tbl WHERE name=?', 'Dünn' ) succeeded.
- sql.m changed: When streaming (option 'typed_BLOBs'=2) and parameter wrapping
(option 'param_wrapping'=1) are set, it is now possible to pass a single struct
array for binding.
- Bugfixes on buildit.m
Addresses mac os builds. THX to Ben Davis for his experiences.
- SQLite update to V3.24
Version 2.5 (build 133 - 9. Feb. 2017)
- Changes on non-SQL commands:
-- 'filename':
Bugfix, ignored the given database id (always returned the name of the first database)
-- 'status':
When called with no arguments (or 0 as dbid) mksqlite('status') writes the statuses for
each database id to the command window, as before. If called as function (status = mksqlite(...)),
a cell array with respective strings "OPEN" or "CLOSED" will be returned with
no output to the command window.
When called with a database id other than 0, the status only for this id is written to command window.
If called as function a respective string "OPEN" or "CLOSED" will be returned, with
no output to the command window.
-- 'result_type':
Same issue as with 'status'. Causes crash, when called with no arguments.
- Raised the number of available database ids to 10.
- Bugfix: Bind array with empty fields (GitHub issue #6, thx to Knut Voigtlaender)
- Fixed: Building mksqlite with buildit.m failed on linux using newer MATLAB versions.
- Long running calls of mksqlite may be aborted by pressing Ctrl+C now.
- SQLite3 update (3.16.2)
Version 2.4 (build 123 - 29. Aug. 2016)
- Removed some typos
- Bugfix: sql.m checks for 'typedBLOBs' mode before testing tailing struct arguments now.
- Bugfix: Crash, if mksqlite is called to set flags (i.e. 'streaming') with an empty argument
- Bugfix: MATLAB crashed under some circumstances when freeing a persistent handle
that was created in an object derived from 'handle'.
- Bugfix: mksqlite('lang', nr) accepted nr > 1, that later leads to a crash
- Added new command mksqlite( dbid, 'filename', database ) to get the filename of a database.
If the database is temporary (memory based) or doesn't exist, an empty string will be returned.
- SQLite3 update (3.14.1)
Version 2.3 (build 118 - 3. Jun. 2016)
- Implementations of sqlites application-defined functions for MATLAB functions
- Bugfix: Scalar MATLAB logical arrays were read flawy
- SQLite update to 3.13.0
Version 2.2 (build 110 - 18. Apr. 2016)
- Bugfix: Database filename/path with umlauts could not be opened.
- Bugfix in sql.m: [+#] key evaluation deleted 1 char too much.
- mksqlite handles named binding with struct argument.
- SQLite update to 3.10.2.
- Updated buildit.m for mac users.
Version 2.1 (build 98 - 28. Aug. 2015)
- Bugfix: Not all SQLite errors were caught and passed to the user (kv69).
- Bugfix: When using SELECT statements with param_wrapping is on, only
the last result was returned (kv69).
- Returning rowid on queries as 4th parameter (even when using parameter wrapping).
- sql.m handles struct parameter for parameter binding (kv69).
- DEELX update to 1.3
- SQLite update to 3.8.11.1
* (Thanks to Knut Voigtlaender (kv69) for supporting)
Version 2.0 (build 92 - 04. Feb. 2015)
- Structural cleanup of "one file source" to "multiple file sources"
- Added support for parameter wrapping
mksqlite('param_wrapping', 0|1)
(Default is off)
- Added support for different results types for table queries:
0: array of structs (default)
1: struct of arrays
2: cell matrix
mksqlite('result_type', 0|1|2)
- mksqlite returns row count and column names for table queries now
[result,rowcount,colnames] = mksqlite('SELECT...')
- Source documentation with doxygen
- python filter function for doxygen (python must be installed)
- Added new sql user math functions (lg, ln, exp)
- Added wrapper function sql(...) with sprintf feature (see script help)
- SQLite update to version 3.8.8.1
Version 1.15 (build 71 - 13. Oct 2014)
- Large integer values (INT64) suffered from numeric fuzziness of double types.
They now will be returned as INT64 MATLAB type. (Thanks to Alan Race)
- Added English translation "mksqlite_en.m" (Thanks to Walter Blume)
Version 1.14 (build 65 - 23. Apr 2014 )
- Supporting storage of any combination of structs, cells and complex
numbers as blob using an undocumented Matlab feature to get a byte stream
from any MATLAB variable.
Please bear in mind, that nevertheless, there can be no guarantee that
this feature will work in future MATLAB versions. But for now it works
excellent.
If this feature is activated via mksqlite('typedBLOBs',2) you can't pass
multiple arguments for parameter binding in one cell any more (because
this cell would be passed as argument for the first SQL parameter).
Each parameter has to be passed as argument list then.
- SQLite update 3.8.4.3
- Added option mksqlite( db, 'enable extension', 0|1 ) to support
additional libraries. For further information about extensions
see www.sqlite.org.
- Added two additional compressors 'qlin16' and 'qlog16' (for double
arrays only). Doubles are stored quantized to 16-bit to obtain a compression
ratio of 25%. Due to the quantization, this compression method is a lossy one,
but reasonable in most cases.
Use linear quantization (qlin16) for an uniform quantization error over
the whole range, or logarithmic quantization (qlog16)for an uniform
value-relative quantization error.
- Added function sql.m as example how to simplify mksqlite calls with more
complex SQL string generation.
- Added patch to be conform with Mac OSX and binary (thanks to Stefan Balke)
Version 1.13 (build 53 - 23. Jan 2014 )
- SQLite Engine updated to Version 3.8.2
- Optional parameters for open command (SQL) to set file access mode
and multi-threading mode (single threaded, multi threaded or serialized)
mksqlite( 'open', {filename} [,{access_mode}] [,{threading_mode}] )
{access_mode} can be 'ro', 'rw' or 'rwc' (not case sensitive)
{threading_mode} can be 'single', 'multi' or 'serial' (not case sensitive)
- Strict field names: Only alphanumeric chars and '_' are allowed
- Parameter binding extension
- Tiny exception handling implementation
- Introducing "typed BLOBs"
Behavior can be changed by switch mksqlite('typedBLOBs', 0|1)
(Default is OFF)
- Added two new commands:
mksqlite('version mex'): Returns the release version of mksqlite
mksqlite('version sql'): Returns the version of the used SQLite engine
- Data compression (BLOSC lib) for typed blobs. Set the compression method by
mksqlite( 'compression', {method}, {level} )
{method} can be 'blosclz', 'lz4' or 'lz4hc' (not case sensitive)
{level} ranges between 0 and 9. 0 means no compression, 9 means max. compression.
Compressed data is by default checked, if decompressed equals to original. You can
disable this behavior by
mksqlite( 'compression_check', 0|1 );
- Added more SQL functions:
* pow(x,y): power function x**y
* regex(str,pattern,<repstr>): Regular expression pattern on str, replacements
by optional parameter repstr definition.
(Based on DEELX V1.2 Rev.864, see www.regexlab.com)
Including example file "test_regex.m"
* md5(x): calculates the MD5 digest of data x.
(see sqlite_test_md5_and_packaging.m for example)
* bdcpacktime(x): calculates the time needing to compress data x with current
compressor type and level.
* bdcunpacktime(x): calculates the time needing to decompress data x with current
compressor type and level.
* bdcratio(x): calculates the compression ratio relying on data x and
current compressor type and level.
- Bugfix: matlab crash when no arguments passed to mksqlite
- Insertion of svn revision number into source code for linux too, now
- Switch to return NULL as NaN applied: mksqlite('NullAsNaN', 0|1)
(Default is OFF)
Version 1.12 (Build 34 - 29. Apr 2012)
- SQLite Engine updated to Version 3.7.11
- Unique field names for duplicate database fields (eg JOINed Databases)
Behavior can be changed by switch mksqlite('check4uniquefields', 0|1)
- UTF8 to Latin1 conversion
Behavior can be changed by switch mksqlite('convertUTF8', 0|1)
Version 1.11 (Build 32 - 25. Mai 2011)
- SQLite Engine updated to Version 3.7.6.3
- mxCreateScalarDouble changed to mxCreateDoubleSalar
so it runs under MATLAB 2011a again
(thanks to Gerald Grabner and Peter Li)
Version 1.10 (Build 30 - 06. Feb 2011)
- SQLite Engine updated to Version 3.7.5
Version 1.9 (Build 28 - 15. Jan 2011)
- SQLite Engine updated to Version 3.7.4
- adding busy timeout (command: mksqlite('SETBUSYTIMEOUT', 1000);)
defaults to 1000ms
Verion 1.8 (Build 26 - 05. Oct 2010)
- SQLite Engine updated to Verison 3.7.2
- it is now possible to read simple BLOBs into an MATLAB Byte Array
- Changed the License from GPL to LGPL
Version 1.7 (Build 22 - 21. Nov 2009)
- SQLite Engine updated to Version 3.6.20
- a little FAQ
Version 1.6 (Build 20 - 08. Aug 2009)
- SQLite Engine updated to Version 3.6.16
Version 1.5 (Build 18 - 19. Apr 2009)
- SQLite Engine updated to Version 3.6.13
- changes to eliminate Warnings on MSVC 2005
- changes in buildit.m, new build arguments
Version 1.4 (Build 15 - 05. Mar 2009)
- SQLite Engine updated to Version 3.6.11
- changes for Linux and MAC OS-X Versions (thanks to Andreas Korinek)
Version 1.3 (Build 13 - 30. Nov 2008)
- SQLite Engine updated to Version 3.6.6.2
Version 1.2 (Build 11 - 14. Nov 2008)
- SQLite Engine updated to Version 3.6.5
Version 1.1 (Build 8 - 01. Sept 2008)
- Sourcecode cleanup
- Sourcecode comments in English
- inserted the website contents as documentation
Version 1.0 (Build 3 - 14. Aug 2008)
- First Release