OLD | NEW |
1 /* | 1 /* |
2 ** 2007 May 7 | 2 ** 2007 May 7 |
3 ** | 3 ** |
4 ** The author disclaims copyright to this source code. In place of | 4 ** The author disclaims copyright to this source code. In place of |
5 ** a legal notice, here is a blessing: | 5 ** a legal notice, here is a blessing: |
6 ** | 6 ** |
7 ** May you do good and not evil. | 7 ** May you do good and not evil. |
8 ** May you find forgiveness for yourself and forgive others. | 8 ** May you find forgiveness for yourself and forgive others. |
9 ** May you share freely, never taking more than you give. | 9 ** May you share freely, never taking more than you give. |
10 ** | 10 ** |
11 ************************************************************************* | 11 ************************************************************************* |
12 ** | 12 ** |
13 ** This file contains code used for testing the SQLite system. | 13 ** This file contains code used for testing the SQLite system. |
14 ** None of the code in this file goes into a deliverable build. | 14 ** None of the code in this file goes into a deliverable build. |
15 ** | 15 ** |
16 ** The focus of this file is providing the TCL testing layer | 16 ** The focus of this file is providing the TCL testing layer |
17 ** access to compile-time constants. | 17 ** access to compile-time constants. |
18 */ | 18 */ |
19 | 19 |
20 #include "sqliteLimit.h" | 20 #include "sqliteLimit.h" |
21 | 21 |
22 #include "sqliteInt.h" | 22 #include "sqliteInt.h" |
| 23 #if SQLITE_OS_WIN |
| 24 # include "os_win.h" |
| 25 #endif |
| 26 |
23 #include "tcl.h" | 27 #include "tcl.h" |
24 #include <stdlib.h> | 28 #include <stdlib.h> |
25 #include <string.h> | 29 #include <string.h> |
26 | 30 |
27 /* | 31 /* |
28 ** Macro to stringify the results of the evaluation a pre-processor | 32 ** Macro to stringify the results of the evaluation a pre-processor |
29 ** macro. i.e. so that STRINGVALUE(SQLITE_NOMEM) -> "7". | 33 ** macro. i.e. so that STRINGVALUE(SQLITE_NOMEM) -> "7". |
30 */ | 34 */ |
31 #define STRINGVALUE2(x) #x | 35 #define STRINGVALUE2(x) #x |
32 #define STRINGVALUE(x) STRINGVALUE2(x) | 36 #define STRINGVALUE(x) STRINGVALUE2(x) |
33 | 37 |
34 /* | 38 /* |
35 ** This routine sets entries in the global ::sqlite_options() array variable | 39 ** This routine sets entries in the global ::sqlite_options() array variable |
36 ** according to the compile-time configuration of the database. Test | 40 ** according to the compile-time configuration of the database. Test |
37 ** procedures use this to determine when tests should be omitted. | 41 ** procedures use this to determine when tests should be omitted. |
38 */ | 42 */ |
39 static void set_options(Tcl_Interp *interp){ | 43 static void set_options(Tcl_Interp *interp){ |
| 44 #ifdef HAVE_MALLOC_USABLE_SIZE |
| 45 Tcl_SetVar2(interp, "sqlite_options", "malloc_usable_size", "1", |
| 46 TCL_GLOBAL_ONLY); |
| 47 #else |
| 48 Tcl_SetVar2(interp, "sqlite_options", "malloc_usable_size", "0", |
| 49 TCL_GLOBAL_ONLY); |
| 50 #endif |
| 51 |
40 #ifdef SQLITE_32BIT_ROWID | 52 #ifdef SQLITE_32BIT_ROWID |
41 Tcl_SetVar2(interp, "sqlite_options", "rowid32", "1", TCL_GLOBAL_ONLY); | 53 Tcl_SetVar2(interp, "sqlite_options", "rowid32", "1", TCL_GLOBAL_ONLY); |
42 #else | 54 #else |
43 Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY); | 55 Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY); |
44 #endif | 56 #endif |
45 | 57 |
46 #ifdef SQLITE_CASE_SENSITIVE_LIKE | 58 #ifdef SQLITE_CASE_SENSITIVE_LIKE |
47 Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","1",TCL_GLOBAL_ONLY); | 59 Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","1",TCL_GLOBAL_ONLY); |
48 #else | 60 #else |
49 Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY); | 61 Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY); |
50 #endif | 62 #endif |
51 | 63 |
| 64 #if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT |
| 65 Tcl_SetVar2(interp, "sqlite_options", "curdir", "1", TCL_GLOBAL_ONLY); |
| 66 #else |
| 67 Tcl_SetVar2(interp, "sqlite_options", "curdir", "0", TCL_GLOBAL_ONLY); |
| 68 #endif |
| 69 |
| 70 #ifdef SQLITE_WIN32_MALLOC |
| 71 Tcl_SetVar2(interp, "sqlite_options", "win32malloc", "1", TCL_GLOBAL_ONLY); |
| 72 #else |
| 73 Tcl_SetVar2(interp, "sqlite_options", "win32malloc", "0", TCL_GLOBAL_ONLY); |
| 74 #endif |
| 75 |
52 #ifdef SQLITE_DEBUG | 76 #ifdef SQLITE_DEBUG |
53 Tcl_SetVar2(interp, "sqlite_options", "debug", "1", TCL_GLOBAL_ONLY); | 77 Tcl_SetVar2(interp, "sqlite_options", "debug", "1", TCL_GLOBAL_ONLY); |
54 #else | 78 #else |
55 Tcl_SetVar2(interp, "sqlite_options", "debug", "0", TCL_GLOBAL_ONLY); | 79 Tcl_SetVar2(interp, "sqlite_options", "debug", "0", TCL_GLOBAL_ONLY); |
56 #endif | 80 #endif |
57 | 81 |
| 82 #ifdef SQLITE_DIRECT_OVERFLOW_READ |
| 83 Tcl_SetVar2(interp, "sqlite_options", "direct_read", "1", TCL_GLOBAL_ONLY); |
| 84 #else |
| 85 Tcl_SetVar2(interp, "sqlite_options", "direct_read", "0", TCL_GLOBAL_ONLY); |
| 86 #endif |
| 87 |
58 #ifdef SQLITE_DISABLE_DIRSYNC | 88 #ifdef SQLITE_DISABLE_DIRSYNC |
59 Tcl_SetVar2(interp, "sqlite_options", "dirsync", "0", TCL_GLOBAL_ONLY); | 89 Tcl_SetVar2(interp, "sqlite_options", "dirsync", "0", TCL_GLOBAL_ONLY); |
60 #else | 90 #else |
61 Tcl_SetVar2(interp, "sqlite_options", "dirsync", "1", TCL_GLOBAL_ONLY); | 91 Tcl_SetVar2(interp, "sqlite_options", "dirsync", "1", TCL_GLOBAL_ONLY); |
62 #endif | 92 #endif |
63 | 93 |
64 #ifdef SQLITE_DISABLE_LFS | 94 #ifdef SQLITE_DISABLE_LFS |
65 Tcl_SetVar2(interp, "sqlite_options", "lfs", "0", TCL_GLOBAL_ONLY); | 95 Tcl_SetVar2(interp, "sqlite_options", "lfs", "0", TCL_GLOBAL_ONLY); |
66 #else | 96 #else |
67 Tcl_SetVar2(interp, "sqlite_options", "lfs", "1", TCL_GLOBAL_ONLY); | 97 Tcl_SetVar2(interp, "sqlite_options", "lfs", "1", TCL_GLOBAL_ONLY); |
68 #endif | 98 #endif |
69 | 99 |
| 100 #if SQLITE_MAX_MMAP_SIZE>0 |
| 101 Tcl_SetVar2(interp, "sqlite_options", "mmap", "1", TCL_GLOBAL_ONLY); |
| 102 #else |
| 103 Tcl_SetVar2(interp, "sqlite_options", "mmap", "0", TCL_GLOBAL_ONLY); |
| 104 #endif |
| 105 |
| 106 Tcl_SetVar2(interp, "sqlite_options", "worker_threads", |
| 107 STRINGVALUE(SQLITE_MAX_WORKER_THREADS), TCL_GLOBAL_ONLY |
| 108 ); |
| 109 |
70 #if 1 /* def SQLITE_MEMDEBUG */ | 110 #if 1 /* def SQLITE_MEMDEBUG */ |
71 Tcl_SetVar2(interp, "sqlite_options", "memdebug", "1", TCL_GLOBAL_ONLY); | 111 Tcl_SetVar2(interp, "sqlite_options", "memdebug", "1", TCL_GLOBAL_ONLY); |
72 #else | 112 #else |
73 Tcl_SetVar2(interp, "sqlite_options", "memdebug", "0", TCL_GLOBAL_ONLY); | 113 Tcl_SetVar2(interp, "sqlite_options", "memdebug", "0", TCL_GLOBAL_ONLY); |
74 #endif | 114 #endif |
75 | 115 |
| 116 #ifdef SQLITE_ENABLE_8_3_NAMES |
| 117 Tcl_SetVar2(interp, "sqlite_options", "8_3_names", "1", TCL_GLOBAL_ONLY); |
| 118 #else |
| 119 Tcl_SetVar2(interp, "sqlite_options", "8_3_names", "0", TCL_GLOBAL_ONLY); |
| 120 #endif |
| 121 |
76 #ifdef SQLITE_ENABLE_MEMSYS3 | 122 #ifdef SQLITE_ENABLE_MEMSYS3 |
77 Tcl_SetVar2(interp, "sqlite_options", "mem3", "1", TCL_GLOBAL_ONLY); | 123 Tcl_SetVar2(interp, "sqlite_options", "mem3", "1", TCL_GLOBAL_ONLY); |
78 #else | 124 #else |
79 Tcl_SetVar2(interp, "sqlite_options", "mem3", "0", TCL_GLOBAL_ONLY); | 125 Tcl_SetVar2(interp, "sqlite_options", "mem3", "0", TCL_GLOBAL_ONLY); |
80 #endif | 126 #endif |
81 | 127 |
82 #ifdef SQLITE_ENABLE_MEMSYS5 | 128 #ifdef SQLITE_ENABLE_MEMSYS5 |
83 Tcl_SetVar2(interp, "sqlite_options", "mem5", "1", TCL_GLOBAL_ONLY); | 129 Tcl_SetVar2(interp, "sqlite_options", "mem5", "1", TCL_GLOBAL_ONLY); |
84 #else | 130 #else |
85 Tcl_SetVar2(interp, "sqlite_options", "mem5", "0", TCL_GLOBAL_ONLY); | 131 Tcl_SetVar2(interp, "sqlite_options", "mem5", "0", TCL_GLOBAL_ONLY); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 #else | 226 #else |
181 Tcl_SetVar2(interp, "sqlite_options", "cast", "1", TCL_GLOBAL_ONLY); | 227 Tcl_SetVar2(interp, "sqlite_options", "cast", "1", TCL_GLOBAL_ONLY); |
182 #endif | 228 #endif |
183 | 229 |
184 #ifdef SQLITE_OMIT_CHECK | 230 #ifdef SQLITE_OMIT_CHECK |
185 Tcl_SetVar2(interp, "sqlite_options", "check", "0", TCL_GLOBAL_ONLY); | 231 Tcl_SetVar2(interp, "sqlite_options", "check", "0", TCL_GLOBAL_ONLY); |
186 #else | 232 #else |
187 Tcl_SetVar2(interp, "sqlite_options", "check", "1", TCL_GLOBAL_ONLY); | 233 Tcl_SetVar2(interp, "sqlite_options", "check", "1", TCL_GLOBAL_ONLY); |
188 #endif | 234 #endif |
189 | 235 |
| 236 #ifdef SQLITE_OMIT_CTE |
| 237 Tcl_SetVar2(interp, "sqlite_options", "cte", "0", TCL_GLOBAL_ONLY); |
| 238 #else |
| 239 Tcl_SetVar2(interp, "sqlite_options", "cte", "1", TCL_GLOBAL_ONLY); |
| 240 #endif |
| 241 |
190 #ifdef SQLITE_ENABLE_COLUMN_METADATA | 242 #ifdef SQLITE_ENABLE_COLUMN_METADATA |
191 Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "1", TCL_GLOBAL_ONLY); | 243 Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "1", TCL_GLOBAL_ONLY); |
192 #else | 244 #else |
193 Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "0", TCL_GLOBAL_ONLY); | 245 Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "0", TCL_GLOBAL_ONLY); |
194 #endif | 246 #endif |
195 | 247 |
196 #ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK | 248 #ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK |
197 Tcl_SetVar2(interp, "sqlite_options", "oversize_cell_check", "1", | 249 Tcl_SetVar2(interp, "sqlite_options", "oversize_cell_check", "1", |
198 TCL_GLOBAL_ONLY); | 250 TCL_GLOBAL_ONLY); |
199 #else | 251 #else |
(...skipping 12 matching lines...) Expand all Loading... |
212 #else | 264 #else |
213 Tcl_SetVar2(interp, "sqlite_options", "complete", "1", TCL_GLOBAL_ONLY); | 265 Tcl_SetVar2(interp, "sqlite_options", "complete", "1", TCL_GLOBAL_ONLY); |
214 #endif | 266 #endif |
215 | 267 |
216 #ifdef SQLITE_OMIT_COMPOUND_SELECT | 268 #ifdef SQLITE_OMIT_COMPOUND_SELECT |
217 Tcl_SetVar2(interp, "sqlite_options", "compound", "0", TCL_GLOBAL_ONLY); | 269 Tcl_SetVar2(interp, "sqlite_options", "compound", "0", TCL_GLOBAL_ONLY); |
218 #else | 270 #else |
219 Tcl_SetVar2(interp, "sqlite_options", "compound", "1", TCL_GLOBAL_ONLY); | 271 Tcl_SetVar2(interp, "sqlite_options", "compound", "1", TCL_GLOBAL_ONLY); |
220 #endif | 272 #endif |
221 | 273 |
222 #ifdef SQLITE_OMIT_CONFLICT_CLAUSE | |
223 Tcl_SetVar2(interp, "sqlite_options", "conflict", "0", TCL_GLOBAL_ONLY); | |
224 #else | |
225 Tcl_SetVar2(interp, "sqlite_options", "conflict", "1", TCL_GLOBAL_ONLY); | 274 Tcl_SetVar2(interp, "sqlite_options", "conflict", "1", TCL_GLOBAL_ONLY); |
226 #endif | |
227 | |
228 #if SQLITE_OS_UNIX | |
229 Tcl_SetVar2(interp, "sqlite_options", "crashtest", "1", TCL_GLOBAL_ONLY); | 275 Tcl_SetVar2(interp, "sqlite_options", "crashtest", "1", TCL_GLOBAL_ONLY); |
230 #else | |
231 Tcl_SetVar2(interp, "sqlite_options", "crashtest", "0", TCL_GLOBAL_ONLY); | |
232 #endif | |
233 | 276 |
234 #ifdef SQLITE_OMIT_DATETIME_FUNCS | 277 #ifdef SQLITE_OMIT_DATETIME_FUNCS |
235 Tcl_SetVar2(interp, "sqlite_options", "datetime", "0", TCL_GLOBAL_ONLY); | 278 Tcl_SetVar2(interp, "sqlite_options", "datetime", "0", TCL_GLOBAL_ONLY); |
236 #else | 279 #else |
237 Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY); | 280 Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY); |
238 #endif | 281 #endif |
239 | 282 |
240 #ifdef SQLITE_OMIT_DECLTYPE | 283 #ifdef SQLITE_OMIT_DECLTYPE |
241 Tcl_SetVar2(interp, "sqlite_options", "decltype", "0", TCL_GLOBAL_ONLY); | 284 Tcl_SetVar2(interp, "sqlite_options", "decltype", "0", TCL_GLOBAL_ONLY); |
242 #else | 285 #else |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 #else | 327 #else |
285 Tcl_SetVar2(interp, "sqlite_options", "fts2", "0", TCL_GLOBAL_ONLY); | 328 Tcl_SetVar2(interp, "sqlite_options", "fts2", "0", TCL_GLOBAL_ONLY); |
286 #endif | 329 #endif |
287 | 330 |
288 #ifdef SQLITE_ENABLE_FTS3 | 331 #ifdef SQLITE_ENABLE_FTS3 |
289 Tcl_SetVar2(interp, "sqlite_options", "fts3", "1", TCL_GLOBAL_ONLY); | 332 Tcl_SetVar2(interp, "sqlite_options", "fts3", "1", TCL_GLOBAL_ONLY); |
290 #else | 333 #else |
291 Tcl_SetVar2(interp, "sqlite_options", "fts3", "0", TCL_GLOBAL_ONLY); | 334 Tcl_SetVar2(interp, "sqlite_options", "fts3", "0", TCL_GLOBAL_ONLY); |
292 #endif | 335 #endif |
293 | 336 |
| 337 #if defined(SQLITE_ENABLE_FTS3) && !defined(SQLITE_DISABLE_FTS3_UNICODE) |
| 338 Tcl_SetVar2(interp, "sqlite_options", "fts3_unicode", "1", TCL_GLOBAL_ONLY); |
| 339 #else |
| 340 Tcl_SetVar2(interp, "sqlite_options", "fts3_unicode", "0", TCL_GLOBAL_ONLY); |
| 341 #endif |
| 342 |
| 343 #ifdef SQLITE_DISABLE_FTS4_DEFERRED |
| 344 Tcl_SetVar2(interp, "sqlite_options", "fts4_deferred", "0", TCL_GLOBAL_ONLY); |
| 345 #else |
| 346 Tcl_SetVar2(interp, "sqlite_options", "fts4_deferred", "1", TCL_GLOBAL_ONLY); |
| 347 #endif |
| 348 |
294 #ifdef SQLITE_OMIT_GET_TABLE | 349 #ifdef SQLITE_OMIT_GET_TABLE |
295 Tcl_SetVar2(interp, "sqlite_options", "gettable", "0", TCL_GLOBAL_ONLY); | 350 Tcl_SetVar2(interp, "sqlite_options", "gettable", "0", TCL_GLOBAL_ONLY); |
296 #else | 351 #else |
297 Tcl_SetVar2(interp, "sqlite_options", "gettable", "1", TCL_GLOBAL_ONLY); | 352 Tcl_SetVar2(interp, "sqlite_options", "gettable", "1", TCL_GLOBAL_ONLY); |
298 #endif | 353 #endif |
299 | 354 |
300 #ifdef SQLITE_ENABLE_ICU | 355 #ifdef SQLITE_ENABLE_ICU |
301 Tcl_SetVar2(interp, "sqlite_options", "icu", "1", TCL_GLOBAL_ONLY); | 356 Tcl_SetVar2(interp, "sqlite_options", "icu", "1", TCL_GLOBAL_ONLY); |
302 #else | 357 #else |
303 Tcl_SetVar2(interp, "sqlite_options", "icu", "0", TCL_GLOBAL_ONLY); | 358 Tcl_SetVar2(interp, "sqlite_options", "icu", "0", TCL_GLOBAL_ONLY); |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 #else | 409 #else |
355 Tcl_SetVar2(interp, "sqlite_options", "memorydb", "1", TCL_GLOBAL_ONLY); | 410 Tcl_SetVar2(interp, "sqlite_options", "memorydb", "1", TCL_GLOBAL_ONLY); |
356 #endif | 411 #endif |
357 | 412 |
358 #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT | 413 #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT |
359 Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "1", TCL_GLOBAL_ONLY); | 414 Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "1", TCL_GLOBAL_ONLY); |
360 #else | 415 #else |
361 Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "0", TCL_GLOBAL_ONLY); | 416 Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "0", TCL_GLOBAL_ONLY); |
362 #endif | 417 #endif |
363 | 418 |
| 419 Tcl_SetVar2(interp, "sqlite_options", "mergesort", "1", TCL_GLOBAL_ONLY); |
| 420 |
364 #ifdef SQLITE_OMIT_OR_OPTIMIZATION | 421 #ifdef SQLITE_OMIT_OR_OPTIMIZATION |
365 Tcl_SetVar2(interp, "sqlite_options", "or_opt", "0", TCL_GLOBAL_ONLY); | 422 Tcl_SetVar2(interp, "sqlite_options", "or_opt", "0", TCL_GLOBAL_ONLY); |
366 #else | 423 #else |
367 Tcl_SetVar2(interp, "sqlite_options", "or_opt", "1", TCL_GLOBAL_ONLY); | 424 Tcl_SetVar2(interp, "sqlite_options", "or_opt", "1", TCL_GLOBAL_ONLY); |
368 #endif | 425 #endif |
369 | 426 |
370 #ifdef SQLITE_OMIT_PAGER_PRAGMAS | 427 #ifdef SQLITE_OMIT_PAGER_PRAGMAS |
371 Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "0", TCL_GLOBAL_ONLY); | 428 Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "0", TCL_GLOBAL_ONLY); |
372 #else | 429 #else |
373 Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "1", TCL_GLOBAL_ONLY); | 430 Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "1", TCL_GLOBAL_ONLY); |
(...skipping 17 matching lines...) Expand all Loading... |
391 #else | 448 #else |
392 Tcl_SetVar2(interp, "sqlite_options", "reindex", "1", TCL_GLOBAL_ONLY); | 449 Tcl_SetVar2(interp, "sqlite_options", "reindex", "1", TCL_GLOBAL_ONLY); |
393 #endif | 450 #endif |
394 | 451 |
395 #ifdef SQLITE_ENABLE_RTREE | 452 #ifdef SQLITE_ENABLE_RTREE |
396 Tcl_SetVar2(interp, "sqlite_options", "rtree", "1", TCL_GLOBAL_ONLY); | 453 Tcl_SetVar2(interp, "sqlite_options", "rtree", "1", TCL_GLOBAL_ONLY); |
397 #else | 454 #else |
398 Tcl_SetVar2(interp, "sqlite_options", "rtree", "0", TCL_GLOBAL_ONLY); | 455 Tcl_SetVar2(interp, "sqlite_options", "rtree", "0", TCL_GLOBAL_ONLY); |
399 #endif | 456 #endif |
400 | 457 |
| 458 #ifdef SQLITE_RTREE_INT_ONLY |
| 459 Tcl_SetVar2(interp, "sqlite_options", "rtree_int_only", "1", TCL_GLOBAL_ONLY); |
| 460 #else |
| 461 Tcl_SetVar2(interp, "sqlite_options", "rtree_int_only", "0", TCL_GLOBAL_ONLY); |
| 462 #endif |
| 463 |
401 #ifdef SQLITE_OMIT_SCHEMA_PRAGMAS | 464 #ifdef SQLITE_OMIT_SCHEMA_PRAGMAS |
402 Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "0", TCL_GLOBAL_ONLY); | 465 Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "0", TCL_GLOBAL_ONLY); |
403 #else | 466 #else |
404 Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "1", TCL_GLOBAL_ONLY); | 467 Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "1", TCL_GLOBAL_ONLY); |
405 #endif | 468 #endif |
406 | 469 |
407 #ifdef SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS | 470 #ifdef SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS |
408 Tcl_SetVar2(interp, "sqlite_options", "schema_version", "0", TCL_GLOBAL_ONLY); | 471 Tcl_SetVar2(interp, "sqlite_options", "schema_version", "0", TCL_GLOBAL_ONLY); |
409 #else | 472 #else |
410 Tcl_SetVar2(interp, "sqlite_options", "schema_version", "1", TCL_GLOBAL_ONLY); | 473 Tcl_SetVar2(interp, "sqlite_options", "schema_version", "1", TCL_GLOBAL_ONLY); |
411 #endif | 474 #endif |
412 | 475 |
413 #ifdef SQLITE_ENABLE_STAT2 | 476 #ifdef SQLITE_ENABLE_STAT4 |
414 Tcl_SetVar2(interp, "sqlite_options", "stat2", "1", TCL_GLOBAL_ONLY); | 477 Tcl_SetVar2(interp, "sqlite_options", "stat4", "1", TCL_GLOBAL_ONLY); |
415 #else | 478 #else |
416 Tcl_SetVar2(interp, "sqlite_options", "stat2", "0", TCL_GLOBAL_ONLY); | 479 Tcl_SetVar2(interp, "sqlite_options", "stat4", "0", TCL_GLOBAL_ONLY); |
| 480 #endif |
| 481 #if defined(SQLITE_ENABLE_STAT3) && !defined(SQLITE_ENABLE_STAT4) |
| 482 Tcl_SetVar2(interp, "sqlite_options", "stat3", "1", TCL_GLOBAL_ONLY); |
| 483 #else |
| 484 Tcl_SetVar2(interp, "sqlite_options", "stat3", "0", TCL_GLOBAL_ONLY); |
417 #endif | 485 #endif |
418 | 486 |
419 #if !defined(SQLITE_ENABLE_LOCKING_STYLE) | 487 #if !defined(SQLITE_ENABLE_LOCKING_STYLE) |
420 # if defined(__APPLE__) | 488 # if defined(__APPLE__) |
421 # define SQLITE_ENABLE_LOCKING_STYLE 1 | 489 # define SQLITE_ENABLE_LOCKING_STYLE 1 |
422 # else | 490 # else |
423 # define SQLITE_ENABLE_LOCKING_STYLE 0 | 491 # define SQLITE_ENABLE_LOCKING_STYLE 0 |
424 # endif | 492 # endif |
425 #endif | 493 #endif |
426 #if SQLITE_ENABLE_LOCKING_STYLE && defined(__APPLE__) | 494 #if SQLITE_ENABLE_LOCKING_STYLE && defined(__APPLE__) |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 #else | 596 #else |
529 Tcl_SetVar2(interp, "sqlite_options", "unlock_notify", "0", TCL_GLOBAL_ONLY); | 597 Tcl_SetVar2(interp, "sqlite_options", "unlock_notify", "0", TCL_GLOBAL_ONLY); |
530 #endif | 598 #endif |
531 | 599 |
532 #ifdef SQLITE_SECURE_DELETE | 600 #ifdef SQLITE_SECURE_DELETE |
533 Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "1", TCL_GLOBAL_ONLY); | 601 Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "1", TCL_GLOBAL_ONLY); |
534 #else | 602 #else |
535 Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "0", TCL_GLOBAL_ONLY); | 603 Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "0", TCL_GLOBAL_ONLY); |
536 #endif | 604 #endif |
537 | 605 |
| 606 #ifdef SQLITE_USER_AUTHENTICATION |
| 607 Tcl_SetVar2(interp, "sqlite_options", "userauth", "1", TCL_GLOBAL_ONLY); |
| 608 #else |
| 609 Tcl_SetVar2(interp, "sqlite_options", "userauth", "0", TCL_GLOBAL_ONLY); |
| 610 #endif |
| 611 |
538 #ifdef SQLITE_MULTIPLEX_EXT_OVWR | 612 #ifdef SQLITE_MULTIPLEX_EXT_OVWR |
539 Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "1", TCL_GLOB
AL_ONLY); | 613 Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "1", TCL_GLOB
AL_ONLY); |
540 #else | 614 #else |
541 Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "0", TCL_GLOB
AL_ONLY); | 615 Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "0", TCL_GLOB
AL_ONLY); |
542 #endif | 616 #endif |
543 | 617 |
544 #ifdef YYTRACKMAXSTACKDEPTH | 618 #ifdef YYTRACKMAXSTACKDEPTH |
545 Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "1", TCL_GLOBAL_
ONLY); | 619 Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "1", TCL_GLOBAL_
ONLY); |
546 #else | 620 #else |
547 Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "0", TCL_GLOBAL_
ONLY); | 621 Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "0", TCL_GLOBAL_
ONLY); |
(...skipping 14 matching lines...) Expand all Loading... |
562 LINKVAR( MAX_VARIABLE_NUMBER ); | 636 LINKVAR( MAX_VARIABLE_NUMBER ); |
563 LINKVAR( MAX_PAGE_SIZE ); | 637 LINKVAR( MAX_PAGE_SIZE ); |
564 LINKVAR( MAX_PAGE_COUNT ); | 638 LINKVAR( MAX_PAGE_COUNT ); |
565 LINKVAR( MAX_LIKE_PATTERN_LENGTH ); | 639 LINKVAR( MAX_LIKE_PATTERN_LENGTH ); |
566 LINKVAR( MAX_TRIGGER_DEPTH ); | 640 LINKVAR( MAX_TRIGGER_DEPTH ); |
567 LINKVAR( DEFAULT_TEMP_CACHE_SIZE ); | 641 LINKVAR( DEFAULT_TEMP_CACHE_SIZE ); |
568 LINKVAR( DEFAULT_CACHE_SIZE ); | 642 LINKVAR( DEFAULT_CACHE_SIZE ); |
569 LINKVAR( DEFAULT_PAGE_SIZE ); | 643 LINKVAR( DEFAULT_PAGE_SIZE ); |
570 LINKVAR( DEFAULT_FILE_FORMAT ); | 644 LINKVAR( DEFAULT_FILE_FORMAT ); |
571 LINKVAR( MAX_ATTACHED ); | 645 LINKVAR( MAX_ATTACHED ); |
| 646 LINKVAR( MAX_DEFAULT_PAGE_SIZE ); |
| 647 LINKVAR( MAX_WORKER_THREADS ); |
572 | 648 |
573 { | 649 { |
574 static const int cv_TEMP_STORE = SQLITE_TEMP_STORE; | 650 static const int cv_TEMP_STORE = SQLITE_TEMP_STORE; |
575 Tcl_LinkVar(interp, "TEMP_STORE", (char *)&(cv_TEMP_STORE), | 651 Tcl_LinkVar(interp, "TEMP_STORE", (char *)&(cv_TEMP_STORE), |
576 TCL_LINK_INT | TCL_LINK_READ_ONLY); | 652 TCL_LINK_INT | TCL_LINK_READ_ONLY); |
577 } | 653 } |
| 654 |
| 655 #ifdef _MSC_VER |
| 656 { |
| 657 static const int cv__MSC_VER = 1; |
| 658 Tcl_LinkVar(interp, "_MSC_VER", (char *)&(cv__MSC_VER), |
| 659 TCL_LINK_INT | TCL_LINK_READ_ONLY); |
| 660 } |
| 661 #endif |
| 662 #ifdef __GNUC__ |
| 663 { |
| 664 static const int cv___GNUC__ = 1; |
| 665 Tcl_LinkVar(interp, "__GNUC__", (char *)&(cv___GNUC__), |
| 666 TCL_LINK_INT | TCL_LINK_READ_ONLY); |
| 667 } |
| 668 #endif |
578 } | 669 } |
579 | 670 |
580 | 671 |
581 /* | 672 /* |
582 ** Register commands with the TCL interpreter. | 673 ** Register commands with the TCL interpreter. |
583 */ | 674 */ |
584 int Sqliteconfig_Init(Tcl_Interp *interp){ | 675 int Sqliteconfig_Init(Tcl_Interp *interp){ |
585 set_options(interp); | 676 set_options(interp); |
586 return TCL_OK; | 677 return TCL_OK; |
587 } | 678 } |
OLD | NEW |