Snapshot of upstream SQLite check-in 5a877221
[sqlcipher.git] / src / ctime.c
blob7a2ace9317e58f0df57d345270fd53a82d6805ef
1 /*
2 ** 2010 February 23
3 **
4 ** The author disclaims copyright to this source code. In place of
5 ** a legal notice, here is a blessing:
6 **
7 ** May you do good and not evil.
8 ** May you find forgiveness for yourself and forgive others.
9 ** May you share freely, never taking more than you give.
11 *************************************************************************
13 ** This file implements routines used to report what compile-time options
14 ** SQLite was built with.
17 #ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS /* IMP: R-16824-07538 */
20 ** Include the configuration header output by 'configure' if we're using the
21 ** autoconf-based build
23 #if defined(_HAVE_SQLITE_CONFIG_H) && !defined(SQLITECONFIG_H)
24 #include "config.h"
25 #define SQLITECONFIG_H 1
26 #endif
28 /* These macros are provided to "stringify" the value of the define
29 ** for those options in which the value is meaningful. */
30 #define CTIMEOPT_VAL_(opt) #opt
31 #define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt)
33 /* Like CTIMEOPT_VAL, but especially for SQLITE_DEFAULT_LOOKASIDE. This
34 ** option requires a separate macro because legal values contain a single
35 ** comma. e.g. (-DSQLITE_DEFAULT_LOOKASIDE="100,100") */
36 #define CTIMEOPT_VAL2_(opt1,opt2) #opt1 "," #opt2
37 #define CTIMEOPT_VAL2(opt) CTIMEOPT_VAL2_(opt)
40 ** An array of names of all compile-time options. This array should
41 ** be sorted A-Z.
43 ** This array looks large, but in a typical installation actually uses
44 ** only a handful of compile-time options, so most times this array is usually
45 ** rather short and uses little memory space.
47 static const char * const sqlite3azCompileOpt[] = {
49 /*
50 ** BEGIN CODE GENERATED BY tool/mkctime.tcl
52 #if SQLITE_32BIT_ROWID
53 "32BIT_ROWID",
54 #endif
55 #if SQLITE_4_BYTE_ALIGNED_MALLOC
56 "4_BYTE_ALIGNED_MALLOC",
57 #endif
58 #if SQLITE_64BIT_STATS
59 "64BIT_STATS",
60 #endif
61 #if SQLITE_ALLOW_COVERING_INDEX_SCAN
62 "ALLOW_COVERING_INDEX_SCAN",
63 #endif
64 #if SQLITE_ALLOW_URI_AUTHORITY
65 "ALLOW_URI_AUTHORITY",
66 #endif
67 #ifdef SQLITE_BITMASK_TYPE
68 "BITMASK_TYPE=" CTIMEOPT_VAL(SQLITE_BITMASK_TYPE),
69 #endif
70 #if SQLITE_BUG_COMPATIBLE_20160819
71 "BUG_COMPATIBLE_20160819",
72 #endif
73 #if SQLITE_CASE_SENSITIVE_LIKE
74 "CASE_SENSITIVE_LIKE",
75 #endif
76 #if SQLITE_CHECK_PAGES
77 "CHECK_PAGES",
78 #endif
79 #if defined(__clang__) && defined(__clang_major__)
80 "COMPILER=clang-" CTIMEOPT_VAL(__clang_major__) "."
81 CTIMEOPT_VAL(__clang_minor__) "."
82 CTIMEOPT_VAL(__clang_patchlevel__),
83 #elif defined(_MSC_VER)
84 "COMPILER=msvc-" CTIMEOPT_VAL(_MSC_VER),
85 #elif defined(__GNUC__) && defined(__VERSION__)
86 "COMPILER=gcc-" __VERSION__,
87 #endif
88 #if SQLITE_COVERAGE_TEST
89 "COVERAGE_TEST",
90 #endif
91 #if SQLITE_DEBUG
92 "DEBUG",
93 #endif
94 #if SQLITE_DEFAULT_AUTOMATIC_INDEX
95 "DEFAULT_AUTOMATIC_INDEX",
96 #endif
97 #if SQLITE_DEFAULT_AUTOVACUUM
98 "DEFAULT_AUTOVACUUM",
99 #endif
100 #ifdef SQLITE_DEFAULT_CACHE_SIZE
101 "DEFAULT_CACHE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_CACHE_SIZE),
102 #endif
103 #if SQLITE_DEFAULT_CKPTFULLFSYNC
104 "DEFAULT_CKPTFULLFSYNC",
105 #endif
106 #ifdef SQLITE_DEFAULT_FILE_FORMAT
107 "DEFAULT_FILE_FORMAT=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_FORMAT),
108 #endif
109 #ifdef SQLITE_DEFAULT_FILE_PERMISSIONS
110 "DEFAULT_FILE_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_PERMISSIONS),
111 #endif
112 #if SQLITE_DEFAULT_FOREIGN_KEYS
113 "DEFAULT_FOREIGN_KEYS",
114 #endif
115 #ifdef SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT
116 "DEFAULT_JOURNAL_SIZE_LIMIT=" CTIMEOPT_VAL(SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT),
117 #endif
118 #ifdef SQLITE_DEFAULT_LOCKING_MODE
119 "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE),
120 #endif
121 #ifdef SQLITE_DEFAULT_LOOKASIDE
122 "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL2(SQLITE_DEFAULT_LOOKASIDE),
123 #endif
124 #if SQLITE_DEFAULT_MEMSTATUS
125 "DEFAULT_MEMSTATUS",
126 #endif
127 #ifdef SQLITE_DEFAULT_MMAP_SIZE
128 "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE),
129 #endif
130 #ifdef SQLITE_DEFAULT_PAGE_SIZE
131 "DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_PAGE_SIZE),
132 #endif
133 #ifdef SQLITE_DEFAULT_PCACHE_INITSZ
134 "DEFAULT_PCACHE_INITSZ=" CTIMEOPT_VAL(SQLITE_DEFAULT_PCACHE_INITSZ),
135 #endif
136 #ifdef SQLITE_DEFAULT_PROXYDIR_PERMISSIONS
137 "DEFAULT_PROXYDIR_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_PROXYDIR_PERMISSIONS),
138 #endif
139 #if SQLITE_DEFAULT_RECURSIVE_TRIGGERS
140 "DEFAULT_RECURSIVE_TRIGGERS",
141 #endif
142 #ifdef SQLITE_DEFAULT_ROWEST
143 "DEFAULT_ROWEST=" CTIMEOPT_VAL(SQLITE_DEFAULT_ROWEST),
144 #endif
145 #ifdef SQLITE_DEFAULT_SECTOR_SIZE
146 "DEFAULT_SECTOR_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_SECTOR_SIZE),
147 #endif
148 #ifdef SQLITE_DEFAULT_SYNCHRONOUS
149 "DEFAULT_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_SYNCHRONOUS),
150 #endif
151 #ifdef SQLITE_DEFAULT_WAL_AUTOCHECKPOINT
152 "DEFAULT_WAL_AUTOCHECKPOINT=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_AUTOCHECKPOINT),
153 #endif
154 #ifdef SQLITE_DEFAULT_WAL_SYNCHRONOUS
155 "DEFAULT_WAL_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_SYNCHRONOUS),
156 #endif
157 #ifdef SQLITE_DEFAULT_WORKER_THREADS
158 "DEFAULT_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WORKER_THREADS),
159 #endif
160 #if SQLITE_DIRECT_OVERFLOW_READ
161 "DIRECT_OVERFLOW_READ",
162 #endif
163 #if SQLITE_DISABLE_DIRSYNC
164 "DISABLE_DIRSYNC",
165 #endif
166 #if SQLITE_DISABLE_FTS3_UNICODE
167 "DISABLE_FTS3_UNICODE",
168 #endif
169 #if SQLITE_DISABLE_FTS4_DEFERRED
170 "DISABLE_FTS4_DEFERRED",
171 #endif
172 #if SQLITE_DISABLE_INTRINSIC
173 "DISABLE_INTRINSIC",
174 #endif
175 #if SQLITE_DISABLE_LFS
176 "DISABLE_LFS",
177 #endif
178 #if SQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS
179 "DISABLE_PAGECACHE_OVERFLOW_STATS",
180 #endif
181 #if SQLITE_DISABLE_SKIPAHEAD_DISTINCT
182 "DISABLE_SKIPAHEAD_DISTINCT",
183 #endif
184 #ifdef SQLITE_ENABLE_8_3_NAMES
185 "ENABLE_8_3_NAMES=" CTIMEOPT_VAL(SQLITE_ENABLE_8_3_NAMES),
186 #endif
187 #if SQLITE_ENABLE_API_ARMOR
188 "ENABLE_API_ARMOR",
189 #endif
190 #if SQLITE_ENABLE_ATOMIC_WRITE
191 "ENABLE_ATOMIC_WRITE",
192 #endif
193 #if SQLITE_ENABLE_BATCH_ATOMIC_WRITE
194 "ENABLE_BATCH_ATOMIC_WRITE",
195 #endif
196 #if SQLITE_ENABLE_CEROD
197 "ENABLE_CEROD=" CTIMEOPT_VAL(SQLITE_ENABLE_CEROD),
198 #endif
199 #if SQLITE_ENABLE_COLUMN_METADATA
200 "ENABLE_COLUMN_METADATA",
201 #endif
202 #if SQLITE_ENABLE_COLUMN_USED_MASK
203 "ENABLE_COLUMN_USED_MASK",
204 #endif
205 #if SQLITE_ENABLE_COSTMULT
206 "ENABLE_COSTMULT",
207 #endif
208 #if SQLITE_ENABLE_CURSOR_HINTS
209 "ENABLE_CURSOR_HINTS",
210 #endif
211 #if SQLITE_ENABLE_DBSTAT_VTAB
212 "ENABLE_DBSTAT_VTAB",
213 #endif
214 #if SQLITE_ENABLE_EXPENSIVE_ASSERT
215 "ENABLE_EXPENSIVE_ASSERT",
216 #endif
217 #if SQLITE_ENABLE_FTS1
218 "ENABLE_FTS1",
219 #endif
220 #if SQLITE_ENABLE_FTS2
221 "ENABLE_FTS2",
222 #endif
223 #if SQLITE_ENABLE_FTS3
224 "ENABLE_FTS3",
225 #endif
226 #if SQLITE_ENABLE_FTS3_PARENTHESIS
227 "ENABLE_FTS3_PARENTHESIS",
228 #endif
229 #if SQLITE_ENABLE_FTS3_TOKENIZER
230 "ENABLE_FTS3_TOKENIZER",
231 #endif
232 #if SQLITE_ENABLE_FTS4
233 "ENABLE_FTS4",
234 #endif
235 #if SQLITE_ENABLE_FTS5
236 "ENABLE_FTS5",
237 #endif
238 #if SQLITE_ENABLE_GEOPOLY
239 "ENABLE_GEOPOLY",
240 #endif
241 #if SQLITE_ENABLE_HIDDEN_COLUMNS
242 "ENABLE_HIDDEN_COLUMNS",
243 #endif
244 #if SQLITE_ENABLE_ICU
245 "ENABLE_ICU",
246 #endif
247 #if SQLITE_ENABLE_IOTRACE
248 "ENABLE_IOTRACE",
249 #endif
250 #if SQLITE_ENABLE_JSON1
251 "ENABLE_JSON1",
252 #endif
253 #if SQLITE_ENABLE_LOAD_EXTENSION
254 "ENABLE_LOAD_EXTENSION",
255 #endif
256 #ifdef SQLITE_ENABLE_LOCKING_STYLE
257 "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE),
258 #endif
259 #if SQLITE_ENABLE_MEMORY_MANAGEMENT
260 "ENABLE_MEMORY_MANAGEMENT",
261 #endif
262 #if SQLITE_ENABLE_MEMSYS3
263 "ENABLE_MEMSYS3",
264 #endif
265 #if SQLITE_ENABLE_MEMSYS5
266 "ENABLE_MEMSYS5",
267 #endif
268 #if SQLITE_ENABLE_MULTIPLEX
269 "ENABLE_MULTIPLEX",
270 #endif
271 #if SQLITE_ENABLE_NORMALIZE
272 "ENABLE_NORMALIZE",
273 #endif
274 #if SQLITE_ENABLE_NULL_TRIM
275 "ENABLE_NULL_TRIM",
276 #endif
277 #if SQLITE_ENABLE_OVERSIZE_CELL_CHECK
278 "ENABLE_OVERSIZE_CELL_CHECK",
279 #endif
280 #if SQLITE_ENABLE_PREUPDATE_HOOK
281 "ENABLE_PREUPDATE_HOOK",
282 #endif
283 #if SQLITE_ENABLE_QPSG
284 "ENABLE_QPSG",
285 #endif
286 #if SQLITE_ENABLE_RBU
287 "ENABLE_RBU",
288 #endif
289 #if SQLITE_ENABLE_RTREE
290 "ENABLE_RTREE",
291 #endif
292 #if SQLITE_ENABLE_SELECTTRACE
293 "ENABLE_SELECTTRACE",
294 #endif
295 #if SQLITE_ENABLE_SESSION
296 "ENABLE_SESSION",
297 #endif
298 #if SQLITE_ENABLE_SNAPSHOT
299 "ENABLE_SNAPSHOT",
300 #endif
301 #if SQLITE_ENABLE_SORTER_REFERENCES
302 "ENABLE_SORTER_REFERENCES",
303 #endif
304 #if SQLITE_ENABLE_SQLLOG
305 "ENABLE_SQLLOG",
306 #endif
307 #if defined(SQLITE_ENABLE_STAT4)
308 "ENABLE_STAT4",
309 #endif
310 #if SQLITE_ENABLE_STMTVTAB
311 "ENABLE_STMTVTAB",
312 #endif
313 #if SQLITE_ENABLE_STMT_SCANSTATUS
314 "ENABLE_STMT_SCANSTATUS",
315 #endif
316 #if SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
317 "ENABLE_UNKNOWN_SQL_FUNCTION",
318 #endif
319 #if SQLITE_ENABLE_UNLOCK_NOTIFY
320 "ENABLE_UNLOCK_NOTIFY",
321 #endif
322 #if SQLITE_ENABLE_UPDATE_DELETE_LIMIT
323 "ENABLE_UPDATE_DELETE_LIMIT",
324 #endif
325 #if SQLITE_ENABLE_URI_00_ERROR
326 "ENABLE_URI_00_ERROR",
327 #endif
328 #if SQLITE_ENABLE_VFSTRACE
329 "ENABLE_VFSTRACE",
330 #endif
331 #if SQLITE_ENABLE_WHERETRACE
332 "ENABLE_WHERETRACE",
333 #endif
334 #if SQLITE_ENABLE_ZIPVFS
335 "ENABLE_ZIPVFS",
336 #endif
337 #if SQLITE_EXPLAIN_ESTIMATED_ROWS
338 "EXPLAIN_ESTIMATED_ROWS",
339 #endif
340 #if SQLITE_EXTRA_IFNULLROW
341 "EXTRA_IFNULLROW",
342 #endif
343 #ifdef SQLITE_EXTRA_INIT
344 "EXTRA_INIT=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT),
345 #endif
346 #ifdef SQLITE_EXTRA_SHUTDOWN
347 "EXTRA_SHUTDOWN=" CTIMEOPT_VAL(SQLITE_EXTRA_SHUTDOWN),
348 #endif
349 #ifdef SQLITE_FTS3_MAX_EXPR_DEPTH
350 "FTS3_MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_FTS3_MAX_EXPR_DEPTH),
351 #endif
352 #if SQLITE_FTS5_ENABLE_TEST_MI
353 "FTS5_ENABLE_TEST_MI",
354 #endif
355 #if SQLITE_FTS5_NO_WITHOUT_ROWID
356 "FTS5_NO_WITHOUT_ROWID",
357 #endif
358 #if HAVE_ISNAN || SQLITE_HAVE_ISNAN
359 "HAVE_ISNAN",
360 #endif
361 #if SQLITE_HOMEGROWN_RECURSIVE_MUTEX
362 "HOMEGROWN_RECURSIVE_MUTEX",
363 #endif
364 #if SQLITE_IGNORE_AFP_LOCK_ERRORS
365 "IGNORE_AFP_LOCK_ERRORS",
366 #endif
367 #if SQLITE_IGNORE_FLOCK_LOCK_ERRORS
368 "IGNORE_FLOCK_LOCK_ERRORS",
369 #endif
370 #if SQLITE_INLINE_MEMCPY
371 "INLINE_MEMCPY",
372 #endif
373 #if SQLITE_INT64_TYPE
374 "INT64_TYPE",
375 #endif
376 #ifdef SQLITE_INTEGRITY_CHECK_ERROR_MAX
377 "INTEGRITY_CHECK_ERROR_MAX=" CTIMEOPT_VAL(SQLITE_INTEGRITY_CHECK_ERROR_MAX),
378 #endif
379 #if SQLITE_LIKE_DOESNT_MATCH_BLOBS
380 "LIKE_DOESNT_MATCH_BLOBS",
381 #endif
382 #if SQLITE_LOCK_TRACE
383 "LOCK_TRACE",
384 #endif
385 #if SQLITE_LOG_CACHE_SPILL
386 "LOG_CACHE_SPILL",
387 #endif
388 #ifdef SQLITE_MALLOC_SOFT_LIMIT
389 "MALLOC_SOFT_LIMIT=" CTIMEOPT_VAL(SQLITE_MALLOC_SOFT_LIMIT),
390 #endif
391 #ifdef SQLITE_MAX_ATTACHED
392 "MAX_ATTACHED=" CTIMEOPT_VAL(SQLITE_MAX_ATTACHED),
393 #endif
394 #ifdef SQLITE_MAX_COLUMN
395 "MAX_COLUMN=" CTIMEOPT_VAL(SQLITE_MAX_COLUMN),
396 #endif
397 #ifdef SQLITE_MAX_COMPOUND_SELECT
398 "MAX_COMPOUND_SELECT=" CTIMEOPT_VAL(SQLITE_MAX_COMPOUND_SELECT),
399 #endif
400 #ifdef SQLITE_MAX_DEFAULT_PAGE_SIZE
401 "MAX_DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_DEFAULT_PAGE_SIZE),
402 #endif
403 #ifdef SQLITE_MAX_EXPR_DEPTH
404 "MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_EXPR_DEPTH),
405 #endif
406 #ifdef SQLITE_MAX_FUNCTION_ARG
407 "MAX_FUNCTION_ARG=" CTIMEOPT_VAL(SQLITE_MAX_FUNCTION_ARG),
408 #endif
409 #ifdef SQLITE_MAX_LENGTH
410 "MAX_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LENGTH),
411 #endif
412 #ifdef SQLITE_MAX_LIKE_PATTERN_LENGTH
413 "MAX_LIKE_PATTERN_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LIKE_PATTERN_LENGTH),
414 #endif
415 #ifdef SQLITE_MAX_MEMORY
416 "MAX_MEMORY=" CTIMEOPT_VAL(SQLITE_MAX_MEMORY),
417 #endif
418 #ifdef SQLITE_MAX_MMAP_SIZE
419 "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE),
420 #endif
421 #ifdef SQLITE_MAX_MMAP_SIZE_
422 "MAX_MMAP_SIZE_=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE_),
423 #endif
424 #ifdef SQLITE_MAX_PAGE_COUNT
425 "MAX_PAGE_COUNT=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_COUNT),
426 #endif
427 #ifdef SQLITE_MAX_PAGE_SIZE
428 "MAX_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_SIZE),
429 #endif
430 #ifdef SQLITE_MAX_SCHEMA_RETRY
431 "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY),
432 #endif
433 #ifdef SQLITE_MAX_SQL_LENGTH
434 "MAX_SQL_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_SQL_LENGTH),
435 #endif
436 #ifdef SQLITE_MAX_TRIGGER_DEPTH
437 "MAX_TRIGGER_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_TRIGGER_DEPTH),
438 #endif
439 #ifdef SQLITE_MAX_VARIABLE_NUMBER
440 "MAX_VARIABLE_NUMBER=" CTIMEOPT_VAL(SQLITE_MAX_VARIABLE_NUMBER),
441 #endif
442 #ifdef SQLITE_MAX_VDBE_OP
443 "MAX_VDBE_OP=" CTIMEOPT_VAL(SQLITE_MAX_VDBE_OP),
444 #endif
445 #ifdef SQLITE_MAX_WORKER_THREADS
446 "MAX_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_MAX_WORKER_THREADS),
447 #endif
448 #if SQLITE_MEMDEBUG
449 "MEMDEBUG",
450 #endif
451 #if SQLITE_MIXED_ENDIAN_64BIT_FLOAT
452 "MIXED_ENDIAN_64BIT_FLOAT",
453 #endif
454 #if SQLITE_MMAP_READWRITE
455 "MMAP_READWRITE",
456 #endif
457 #if SQLITE_MUTEX_NOOP
458 "MUTEX_NOOP",
459 #endif
460 #if SQLITE_MUTEX_NREF
461 "MUTEX_NREF",
462 #endif
463 #if SQLITE_MUTEX_OMIT
464 "MUTEX_OMIT",
465 #endif
466 #if SQLITE_MUTEX_PTHREADS
467 "MUTEX_PTHREADS",
468 #endif
469 #if SQLITE_MUTEX_W32
470 "MUTEX_W32",
471 #endif
472 #if SQLITE_NEED_ERR_NAME
473 "NEED_ERR_NAME",
474 #endif
475 #if SQLITE_NOINLINE
476 "NOINLINE",
477 #endif
478 #if SQLITE_NO_SYNC
479 "NO_SYNC",
480 #endif
481 #if SQLITE_OMIT_ALTERTABLE
482 "OMIT_ALTERTABLE",
483 #endif
484 #if SQLITE_OMIT_ANALYZE
485 "OMIT_ANALYZE",
486 #endif
487 #if SQLITE_OMIT_ATTACH
488 "OMIT_ATTACH",
489 #endif
490 #if SQLITE_OMIT_AUTHORIZATION
491 "OMIT_AUTHORIZATION",
492 #endif
493 #if SQLITE_OMIT_AUTOINCREMENT
494 "OMIT_AUTOINCREMENT",
495 #endif
496 #if SQLITE_OMIT_AUTOINIT
497 "OMIT_AUTOINIT",
498 #endif
499 #if SQLITE_OMIT_AUTOMATIC_INDEX
500 "OMIT_AUTOMATIC_INDEX",
501 #endif
502 #if SQLITE_OMIT_AUTORESET
503 "OMIT_AUTORESET",
504 #endif
505 #if SQLITE_OMIT_AUTOVACUUM
506 "OMIT_AUTOVACUUM",
507 #endif
508 #if SQLITE_OMIT_BETWEEN_OPTIMIZATION
509 "OMIT_BETWEEN_OPTIMIZATION",
510 #endif
511 #if SQLITE_OMIT_BLOB_LITERAL
512 "OMIT_BLOB_LITERAL",
513 #endif
514 #if SQLITE_OMIT_BTREECOUNT
515 "OMIT_BTREECOUNT",
516 #endif
517 #if SQLITE_OMIT_CAST
518 "OMIT_CAST",
519 #endif
520 #if SQLITE_OMIT_CHECK
521 "OMIT_CHECK",
522 #endif
523 #if SQLITE_OMIT_COMPLETE
524 "OMIT_COMPLETE",
525 #endif
526 #if SQLITE_OMIT_COMPOUND_SELECT
527 "OMIT_COMPOUND_SELECT",
528 #endif
529 #if SQLITE_OMIT_CONFLICT_CLAUSE
530 "OMIT_CONFLICT_CLAUSE",
531 #endif
532 #if SQLITE_OMIT_CTE
533 "OMIT_CTE",
534 #endif
535 #if SQLITE_OMIT_DATETIME_FUNCS
536 "OMIT_DATETIME_FUNCS",
537 #endif
538 #if SQLITE_OMIT_DECLTYPE
539 "OMIT_DECLTYPE",
540 #endif
541 #if SQLITE_OMIT_DEPRECATED
542 "OMIT_DEPRECATED",
543 #endif
544 #if SQLITE_OMIT_DISKIO
545 "OMIT_DISKIO",
546 #endif
547 #if SQLITE_OMIT_EXPLAIN
548 "OMIT_EXPLAIN",
549 #endif
550 #if SQLITE_OMIT_FLAG_PRAGMAS
551 "OMIT_FLAG_PRAGMAS",
552 #endif
553 #if SQLITE_OMIT_FLOATING_POINT
554 "OMIT_FLOATING_POINT",
555 #endif
556 #if SQLITE_OMIT_FOREIGN_KEY
557 "OMIT_FOREIGN_KEY",
558 #endif
559 #if SQLITE_OMIT_GET_TABLE
560 "OMIT_GET_TABLE",
561 #endif
562 #if SQLITE_OMIT_HEX_INTEGER
563 "OMIT_HEX_INTEGER",
564 #endif
565 #if SQLITE_OMIT_INCRBLOB
566 "OMIT_INCRBLOB",
567 #endif
568 #if SQLITE_OMIT_INTEGRITY_CHECK
569 "OMIT_INTEGRITY_CHECK",
570 #endif
571 #if SQLITE_OMIT_LIKE_OPTIMIZATION
572 "OMIT_LIKE_OPTIMIZATION",
573 #endif
574 #if SQLITE_OMIT_LOAD_EXTENSION
575 "OMIT_LOAD_EXTENSION",
576 #endif
577 #if SQLITE_OMIT_LOCALTIME
578 "OMIT_LOCALTIME",
579 #endif
580 #if SQLITE_OMIT_LOOKASIDE
581 "OMIT_LOOKASIDE",
582 #endif
583 #if SQLITE_OMIT_MEMORYDB
584 "OMIT_MEMORYDB",
585 #endif
586 #if SQLITE_OMIT_OR_OPTIMIZATION
587 "OMIT_OR_OPTIMIZATION",
588 #endif
589 #if SQLITE_OMIT_PAGER_PRAGMAS
590 "OMIT_PAGER_PRAGMAS",
591 #endif
592 #if SQLITE_OMIT_PARSER_TRACE
593 "OMIT_PARSER_TRACE",
594 #endif
595 #if SQLITE_OMIT_POPEN
596 "OMIT_POPEN",
597 #endif
598 #if SQLITE_OMIT_PRAGMA
599 "OMIT_PRAGMA",
600 #endif
601 #if SQLITE_OMIT_PROGRESS_CALLBACK
602 "OMIT_PROGRESS_CALLBACK",
603 #endif
604 #if SQLITE_OMIT_QUICKBALANCE
605 "OMIT_QUICKBALANCE",
606 #endif
607 #if SQLITE_OMIT_REINDEX
608 "OMIT_REINDEX",
609 #endif
610 #if SQLITE_OMIT_SCHEMA_PRAGMAS
611 "OMIT_SCHEMA_PRAGMAS",
612 #endif
613 #if SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
614 "OMIT_SCHEMA_VERSION_PRAGMAS",
615 #endif
616 #if SQLITE_OMIT_SHARED_CACHE
617 "OMIT_SHARED_CACHE",
618 #endif
619 #if SQLITE_OMIT_SHUTDOWN_DIRECTORIES
620 "OMIT_SHUTDOWN_DIRECTORIES",
621 #endif
622 #if SQLITE_OMIT_SUBQUERY
623 "OMIT_SUBQUERY",
624 #endif
625 #if SQLITE_OMIT_TCL_VARIABLE
626 "OMIT_TCL_VARIABLE",
627 #endif
628 #if SQLITE_OMIT_TEMPDB
629 "OMIT_TEMPDB",
630 #endif
631 #if SQLITE_OMIT_TEST_CONTROL
632 "OMIT_TEST_CONTROL",
633 #endif
634 #if SQLITE_OMIT_TRACE
635 "OMIT_TRACE",
636 #endif
637 #if SQLITE_OMIT_TRIGGER
638 "OMIT_TRIGGER",
639 #endif
640 #if SQLITE_OMIT_TRUNCATE_OPTIMIZATION
641 "OMIT_TRUNCATE_OPTIMIZATION",
642 #endif
643 #if SQLITE_OMIT_UTF16
644 "OMIT_UTF16",
645 #endif
646 #if SQLITE_OMIT_VACUUM
647 "OMIT_VACUUM",
648 #endif
649 #if SQLITE_OMIT_VIEW
650 "OMIT_VIEW",
651 #endif
652 #if SQLITE_OMIT_VIRTUALTABLE
653 "OMIT_VIRTUALTABLE",
654 #endif
655 #if SQLITE_OMIT_WAL
656 "OMIT_WAL",
657 #endif
658 #if SQLITE_OMIT_WSD
659 "OMIT_WSD",
660 #endif
661 #if SQLITE_OMIT_XFER_OPT
662 "OMIT_XFER_OPT",
663 #endif
664 #if SQLITE_PCACHE_SEPARATE_HEADER
665 "PCACHE_SEPARATE_HEADER",
666 #endif
667 #if SQLITE_PERFORMANCE_TRACE
668 "PERFORMANCE_TRACE",
669 #endif
670 #if SQLITE_POWERSAFE_OVERWRITE
671 "POWERSAFE_OVERWRITE",
672 #endif
673 #if SQLITE_PREFER_PROXY_LOCKING
674 "PREFER_PROXY_LOCKING",
675 #endif
676 #if SQLITE_PROXY_DEBUG
677 "PROXY_DEBUG",
678 #endif
679 #if SQLITE_REVERSE_UNORDERED_SELECTS
680 "REVERSE_UNORDERED_SELECTS",
681 #endif
682 #if SQLITE_RTREE_INT_ONLY
683 "RTREE_INT_ONLY",
684 #endif
685 #if SQLITE_SECURE_DELETE
686 "SECURE_DELETE",
687 #endif
688 #if SQLITE_SMALL_STACK
689 "SMALL_STACK",
690 #endif
691 #ifdef SQLITE_SORTER_PMASZ
692 "SORTER_PMASZ=" CTIMEOPT_VAL(SQLITE_SORTER_PMASZ),
693 #endif
694 #if SQLITE_SOUNDEX
695 "SOUNDEX",
696 #endif
697 #ifdef SQLITE_STAT4_SAMPLES
698 "STAT4_SAMPLES=" CTIMEOPT_VAL(SQLITE_STAT4_SAMPLES),
699 #endif
700 #ifdef SQLITE_STMTJRNL_SPILL
701 "STMTJRNL_SPILL=" CTIMEOPT_VAL(SQLITE_STMTJRNL_SPILL),
702 #endif
703 #if SQLITE_SUBSTR_COMPATIBILITY
704 "SUBSTR_COMPATIBILITY",
705 #endif
706 #if SQLITE_SYSTEM_MALLOC
707 "SYSTEM_MALLOC",
708 #endif
709 #if SQLITE_TCL
710 "TCL",
711 #endif
712 #ifdef SQLITE_TEMP_STORE
713 "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE),
714 #endif
715 #if SQLITE_TEST
716 "TEST",
717 #endif
718 #if defined(SQLITE_THREADSAFE)
719 "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE),
720 #elif defined(THREADSAFE)
721 "THREADSAFE=" CTIMEOPT_VAL(THREADSAFE),
722 #else
723 "THREADSAFE=1",
724 #endif
725 #if SQLITE_UNLINK_AFTER_CLOSE
726 "UNLINK_AFTER_CLOSE",
727 #endif
728 #if SQLITE_UNTESTABLE
729 "UNTESTABLE",
730 #endif
731 #if SQLITE_USER_AUTHENTICATION
732 "USER_AUTHENTICATION",
733 #endif
734 #if SQLITE_USE_ALLOCA
735 "USE_ALLOCA",
736 #endif
737 #if SQLITE_USE_FCNTL_TRACE
738 "USE_FCNTL_TRACE",
739 #endif
740 #if SQLITE_USE_URI
741 "USE_URI",
742 #endif
743 #if SQLITE_VDBE_COVERAGE
744 "VDBE_COVERAGE",
745 #endif
746 #if SQLITE_WIN32_MALLOC
747 "WIN32_MALLOC",
748 #endif
749 #if SQLITE_ZERO_MALLOC
750 "ZERO_MALLOC",
751 #endif
753 ** END CODE GENERATED BY tool/mkctime.tcl
757 const char **sqlite3CompileOptions(int *pnOpt){
758 *pnOpt = sizeof(sqlite3azCompileOpt) / sizeof(sqlite3azCompileOpt[0]);
759 return (const char**)sqlite3azCompileOpt;
762 #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */