Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update sqlite3_close_v2 availability version number check. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d8bf1bb3b95db9532c88a016813b5361 |
User & Date: | mistachkin 2012-06-22 20:13:52.343 |
Context
2012-06-23
| ||
10:03 | Update version history docs with the latest changes. check-in: c8a4c16534 user: mistachkin tags: trunk | |
2012-06-22
| ||
20:13 | Update sqlite3_close_v2 availability version number check. check-in: d8bf1bb3b9 user: mistachkin tags: trunk | |
20:12 | Update core SQLite library to the latest trunk. Merge support for the sqlite3_close_v2 API. Add missing test contraints for the dynamic SQLite core library detection, the USE_INTEROP_DLL compile-time define, and the System.Data.SQLite.dll / System.Data.SQLite.Linq.dll file detection. Fix several #if statements to include USE_INTEROP_DLL in addition to INTEROP_EXTENSION_FUNCTIONS. check-in: 1462b42fc2 user: mistachkin tags: trunk | |
Changes
Changes to SQLite.Interop/src/win/interop.c.
︙ | ︙ | |||
58 59 60 61 62 63 64 | statement's memory is preserved, and marked as BAD, but we can still manage to finalize everything and forcibly close the database. Later when the GC gets around to calling finalize_interop() on the "bad" statement, we detect that and finish deallocating the pointer. */ SQLITE_API int WINAPI sqlite3_close_interop(sqlite3 *db) { int ret; | | | 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | statement's memory is preserved, and marked as BAD, but we can still manage to finalize everything and forcibly close the database. Later when the GC gets around to calling finalize_interop() on the "bad" statement, we detect that and finish deallocating the pointer. */ SQLITE_API int WINAPI sqlite3_close_interop(sqlite3 *db) { int ret; #if SQLITE_VERSION_NUMBER >= 3007014 ret = sqlite3_close_v2(db); #else ret = sqlite3_close(db); if (ret == SQLITE_BUSY) { sqlite3_mutex_enter(db->mutex); |
︙ | ︙ | |||
244 245 246 247 248 249 250 | const void *pval = sqlite3_column_text16(stmt, iCol); *plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t): 0; return pval; } SQLITE_API int WINAPI sqlite3_finalize_interop(sqlite3_stmt *stmt) { | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | const void *pval = sqlite3_column_text16(stmt, iCol); *plen = (pval != 0) ? wcslen((wchar_t *)pval) * sizeof(wchar_t): 0; return pval; } SQLITE_API int WINAPI sqlite3_finalize_interop(sqlite3_stmt *stmt) { #if SQLITE_VERSION_NUMBER >= 3007014 return sqlite3_finalize(stmt); #else Vdbe *p; int ret = SQLITE_OK; p = (Vdbe *)stmt; if (p) |
︙ | ︙ |