|
1 | 1 | /* |
2 | 2 | * Symisc UnQLite: An Embeddable NoSQL (Post Modern) Database Engine. |
3 | 3 | * Copyright (C) 2012-2018, Symisc Systems http://unqlite.org/ |
4 | | - * Version 1.1.8 |
| 4 | + * Version 1.1.9 |
5 | 5 | * For information on licensing, redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES |
6 | 6 | * please contact Symisc Systems via: |
7 | 7 | * legal@symisc.net |
|
35 | 35 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN |
36 | 36 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
37 | 37 | */ |
38 | | -/* |
39 | | - * $SymiscID: unqlite.c v1.1.8 Win10 2108-01-21 00:02:12 stable <chm@symisc.net> $ |
40 | | - */ |
41 | | -/* This file is an amalgamation of many separate C source files from unqlite version 1.1.6 |
| 38 | + /* $SymiscID: unqlite.c v1.1.9 Win10 2108-04-27 02:35:11 stable <chm@symisc.net> $ */ |
| 39 | +/* This file is an amalgamation of many separate C source files from unqlite version 1.1.9 |
42 | 40 | * By combining all the individual C code files into this single large file, the entire code |
43 | 41 | * can be compiled as a single translation unit. This allows many compilers to do optimization's |
44 | 42 | * that would not be possible if the files were compiled separately. Performance improvements |
|
75 | 73 | /* |
76 | 74 | * Symisc UnQLite: An Embeddable NoSQL (Post Modern) Database Engine. |
77 | 75 | * Copyright (C) 2012-2018, Symisc Systems http://unqlite.org/ |
78 | | - * Version 1.1.8 |
| 76 | + * Version 1.1.9 |
79 | 77 | * For information on licensing, redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES |
80 | 78 | * please contact Symisc Systems via: |
81 | 79 | * legal@symisc.net |
|
109 | 107 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN |
110 | 108 | * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
111 | 109 | */ |
112 | | - /* $SymiscID: unqlite.h v1.2 Win10 2108-01-21 23:59:12 stable <chm@symisc.net> $ */ |
| 110 | + /* $SymiscID: unqlite.h v1.3 Win10 2108-04-27 02:35:11 stable <chm@symisc.net> $ */ |
113 | 111 | #include <stdarg.h> /* needed for the definition of va_list */ |
114 | 112 | /* |
115 | 113 | * Compile time engine version, signature, identification in the symisc source tree |
|
125 | 123 | * version number and Y is the minor version number and Z is the release |
126 | 124 | * number. |
127 | 125 | */ |
128 | | -#define UNQLITE_VERSION "1.1.8" |
| 126 | +#define UNQLITE_VERSION "1.1.9" |
129 | 127 | /* |
130 | 128 | * The UNQLITE_VERSION_NUMBER C preprocessor macro resolves to an integer |
131 | 129 | * with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same |
132 | 130 | * numbers used in [UNQLITE_VERSION]. |
133 | 131 | */ |
134 | | -#define UNQLITE_VERSION_NUMBER 1001008 |
| 132 | +#define UNQLITE_VERSION_NUMBER 1001009 |
135 | 133 | /* |
136 | 134 | * The UNQLITE_SIG C preprocessor macro evaluates to a string |
137 | 135 | * literal which is the public signature of the unqlite engine. |
138 | 136 | * This signature could be included for example in a host-application |
139 | 137 | * generated Server MIME header as follows: |
140 | 138 | * Server: YourWebServer/x.x unqlite/x.x.x \r\n |
141 | 139 | */ |
142 | | -#define UNQLITE_SIG "unqlite/1.1.8" |
| 140 | +#define UNQLITE_SIG "unqlite/1.1.9" |
143 | 141 | /* |
144 | 142 | * UnQLite identification in the Symisc source tree: |
145 | 143 | * Each particular check-in of a particular software released |
@@ -51094,7 +51092,7 @@ static int lh_record_insert( |
51094 | 51092 | int iCnt; |
51095 | 51093 | int rc; |
51096 | 51094 |
|
51097 | | - /* Acquire the first page (DB hash Header) so that everything gets loaded autmatically */ |
| 51095 | + /* Acquire the first page (DB hash Header) so that everything gets loaded automatically */ |
51098 | 51096 | rc = pEngine->pIo->xGet(pEngine->pIo->pHandle,1,0); |
51099 | 51097 | if( rc != UNQLITE_OK ){ |
51100 | 51098 | return rc; |
@@ -51217,7 +51215,7 @@ static int lhash_write_header(lhash_kv_engine *pEngine,unqlite_page *pHeader) |
51217 | 51215 | /* Maximum split bucket */ |
51218 | 51216 | SyBigEndianPack64(zRaw,pEngine->max_split_bucket); |
51219 | 51217 | zRaw += 8; |
51220 | | - /* Initialiaze the bucket map */ |
| 51218 | + /* Initialize the bucket map */ |
51221 | 51219 | pMap = &pEngine->sPageMap; |
51222 | 51220 | /* Fill in the structure */ |
51223 | 51221 | pMap->iNum = pHeader->pgno; |
@@ -51327,10 +51325,6 @@ static int lhash_kv_init(unqlite_kv_engine *pEngine,int iPageSize) |
51327 | 51325 |
|
51328 | 51326 | /* This structure is always zeroed, go to the initialization directly */ |
51329 | 51327 | SyMemBackendInitFromParent(&pHash->sAllocator,unqliteExportMemBackend()); |
51330 | | -//#if defined(UNQLITE_ENABLE_THREADS) |
51331 | | -// /* Already protected by the upper layers */ |
51332 | | -// SyMemBackendDisbaleMutexing(&pHash->sAllocator); |
51333 | | -//#endif |
51334 | 51328 | pHash->iPageSize = iPageSize; |
51335 | 51329 | /* Default hash function */ |
51336 | 51330 | pHash->xHash = lhash_bin_hash; |
@@ -57196,6 +57190,7 @@ static int pager_commit_phase1(Pager *pPager) |
57196 | 57190 | break; |
57197 | 57191 | } |
57198 | 57192 | pager_unlink_page(pPager, p); |
| 57193 | + pager_release_page(pPager, p); |
57199 | 57194 | } |
57200 | 57195 | } |
57201 | 57196 | /* If the file on disk is not the same size as the database image, |
@@ -60205,7 +60200,7 @@ UNQLITE_PRIVATE int unqliteRegisterJx9Functions(unqlite_vm *pVm) |
60205 | 60200 | /* |
60206 | 60201 | * Symisc unQLite: An Embeddable NoSQL (Post Modern) Database Engine. |
60207 | 60202 | * Copyright (C) 2012-2018, Symisc Systems http://unqlite.org/ |
60208 | | - * Version 1.1.8 |
| 60203 | + * Version 1.1.9 |
60209 | 60204 | * For information on licensing, redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES |
60210 | 60205 | * please contact Symisc Systems via: |
60211 | 60206 | * legal@symisc.net |
|
0 commit comments