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