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