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_BATCH_ATOMIC_WRITE 188 "ENABLE_BATCH_ATOMIC_WRITE", 189 #endif 190 #if SQLITE_ENABLE_CEROD 191 "ENABLE_CEROD=" CTIMEOPT_VAL(SQLITE_ENABLE_CEROD), 192 #endif 193 #if SQLITE_ENABLE_COLUMN_METADATA 194 "ENABLE_COLUMN_METADATA", 195 #endif 196 #if SQLITE_ENABLE_COLUMN_USED_MASK 197 "ENABLE_COLUMN_USED_MASK", 198 #endif 199 #if SQLITE_ENABLE_COSTMULT 200 "ENABLE_COSTMULT", 201 #endif 202 #if SQLITE_ENABLE_CURSOR_HINTS 203 "ENABLE_CURSOR_HINTS", 204 #endif 205 #if SQLITE_ENABLE_DBSTAT_VTAB 206 "ENABLE_DBSTAT_VTAB", 207 #endif 208 #if SQLITE_ENABLE_EXPENSIVE_ASSERT 209 "ENABLE_EXPENSIVE_ASSERT", 210 #endif 211 #if SQLITE_ENABLE_FTS1 212 "ENABLE_FTS1", 213 #endif 214 #if SQLITE_ENABLE_FTS2 215 "ENABLE_FTS2", 216 #endif 217 #if SQLITE_ENABLE_FTS3 218 "ENABLE_FTS3", 219 #endif 220 #if SQLITE_ENABLE_FTS3_PARENTHESIS 221 "ENABLE_FTS3_PARENTHESIS", 222 #endif 223 #if SQLITE_ENABLE_FTS3_TOKENIZER 224 "ENABLE_FTS3_TOKENIZER", 225 #endif 226 #if SQLITE_ENABLE_FTS4 227 "ENABLE_FTS4", 228 #endif 229 #if SQLITE_ENABLE_FTS5 230 "ENABLE_FTS5", 231 #endif 232 #if SQLITE_ENABLE_HIDDEN_COLUMNS 233 "ENABLE_HIDDEN_COLUMNS", 234 #endif 235 #if SQLITE_ENABLE_ICU 236 "ENABLE_ICU", 237 #endif 238 #if SQLITE_ENABLE_IOTRACE 239 "ENABLE_IOTRACE", 240 #endif 241 #if SQLITE_ENABLE_JSON1 242 "ENABLE_JSON1", 243 #endif 244 #if SQLITE_ENABLE_LOAD_EXTENSION 245 "ENABLE_LOAD_EXTENSION", 246 #endif 247 #ifdef SQLITE_ENABLE_LOCKING_STYLE 248 "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE), 249 #endif 250 #if SQLITE_ENABLE_MEMORY_MANAGEMENT 251 "ENABLE_MEMORY_MANAGEMENT", 252 #endif 253 #if SQLITE_ENABLE_MEMSYS3 254 "ENABLE_MEMSYS3", 255 #endif 256 #if SQLITE_ENABLE_MEMSYS5 257 "ENABLE_MEMSYS5", 258 #endif 259 #if SQLITE_ENABLE_MULTIPLEX 260 "ENABLE_MULTIPLEX", 261 #endif 262 #if SQLITE_ENABLE_NULL_TRIM 263 "ENABLE_NULL_TRIM", 264 #endif 265 #if SQLITE_ENABLE_OVERSIZE_CELL_CHECK 266 "ENABLE_OVERSIZE_CELL_CHECK", 267 #endif 268 #if SQLITE_ENABLE_PREUPDATE_HOOK 269 "ENABLE_PREUPDATE_HOOK", 270 #endif 271 #if SQLITE_ENABLE_QPSG 272 "ENABLE_QPSG", 273 #endif 274 #if SQLITE_ENABLE_RBU 275 "ENABLE_RBU", 276 #endif 277 #if SQLITE_ENABLE_RTREE 278 "ENABLE_RTREE", 279 #endif 280 #if SQLITE_ENABLE_SELECTTRACE 281 "ENABLE_SELECTTRACE", 282 #endif 283 #if SQLITE_ENABLE_SESSION 284 "ENABLE_SESSION", 285 #endif 286 #if SQLITE_ENABLE_SNAPSHOT 287 "ENABLE_SNAPSHOT", 288 #endif 289 #if SQLITE_ENABLE_SORTER_REFERENCES 290 "ENABLE_SORTER_REFERENCES", 291 #endif 292 #if SQLITE_ENABLE_SQLLOG 293 "ENABLE_SQLLOG", 294 #endif 295 #if defined(SQLITE_ENABLE_STAT4) 296 "ENABLE_STAT4", 297 #elif defined(SQLITE_ENABLE_STAT3) 298 "ENABLE_STAT3", 299 #endif 300 #if SQLITE_ENABLE_STMTVTAB 301 "ENABLE_STMTVTAB", 302 #endif 303 #if SQLITE_ENABLE_STMT_SCANSTATUS 304 "ENABLE_STMT_SCANSTATUS", 305 #endif 306 #if SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION 307 "ENABLE_UNKNOWN_SQL_FUNCTION", 308 #endif 309 #if SQLITE_ENABLE_UNLOCK_NOTIFY 310 "ENABLE_UNLOCK_NOTIFY", 311 #endif 312 #if SQLITE_ENABLE_UPDATE_DELETE_LIMIT 313 "ENABLE_UPDATE_DELETE_LIMIT", 314 #endif 315 #if SQLITE_ENABLE_URI_00_ERROR 316 "ENABLE_URI_00_ERROR", 317 #endif 318 #if SQLITE_ENABLE_VFSTRACE 319 "ENABLE_VFSTRACE", 320 #endif 321 #if SQLITE_ENABLE_WHERETRACE 322 "ENABLE_WHERETRACE", 323 #endif 324 #if SQLITE_ENABLE_ZIPVFS 325 "ENABLE_ZIPVFS", 326 #endif 327 #if SQLITE_EXPLAIN_ESTIMATED_ROWS 328 "EXPLAIN_ESTIMATED_ROWS", 329 #endif 330 #if SQLITE_EXTRA_IFNULLROW 331 "EXTRA_IFNULLROW", 332 #endif 333 #ifdef SQLITE_EXTRA_INIT 334 "EXTRA_INIT=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT), 335 #endif 336 #ifdef SQLITE_EXTRA_SHUTDOWN 337 "EXTRA_SHUTDOWN=" CTIMEOPT_VAL(SQLITE_EXTRA_SHUTDOWN), 338 #endif 339 #ifdef SQLITE_FTS3_MAX_EXPR_DEPTH 340 "FTS3_MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_FTS3_MAX_EXPR_DEPTH), 341 #endif 342 #if SQLITE_FTS5_ENABLE_TEST_MI 343 "FTS5_ENABLE_TEST_MI", 344 #endif 345 #if SQLITE_FTS5_NO_WITHOUT_ROWID 346 "FTS5_NO_WITHOUT_ROWID", 347 #endif 348 #if SQLITE_HAS_CODEC 349 "HAS_CODEC", 350 #endif 351 #if HAVE_ISNAN || SQLITE_HAVE_ISNAN 352 "HAVE_ISNAN", 353 #endif 354 #if SQLITE_HOMEGROWN_RECURSIVE_MUTEX 355 "HOMEGROWN_RECURSIVE_MUTEX", 356 #endif 357 #if SQLITE_IGNORE_AFP_LOCK_ERRORS 358 "IGNORE_AFP_LOCK_ERRORS", 359 #endif 360 #if SQLITE_IGNORE_FLOCK_LOCK_ERRORS 361 "IGNORE_FLOCK_LOCK_ERRORS", 362 #endif 363 #if SQLITE_INLINE_MEMCPY 364 "INLINE_MEMCPY", 365 #endif 366 #if SQLITE_INT64_TYPE 367 "INT64_TYPE", 368 #endif 369 #ifdef SQLITE_INTEGRITY_CHECK_ERROR_MAX 370 "INTEGRITY_CHECK_ERROR_MAX=" CTIMEOPT_VAL(SQLITE_INTEGRITY_CHECK_ERROR_MAX), 371 #endif 372 #if SQLITE_LIKE_DOESNT_MATCH_BLOBS 373 "LIKE_DOESNT_MATCH_BLOBS", 374 #endif 375 #if SQLITE_LOCK_TRACE 376 "LOCK_TRACE", 377 #endif 378 #if SQLITE_LOG_CACHE_SPILL 379 "LOG_CACHE_SPILL", 380 #endif 381 #ifdef SQLITE_MALLOC_SOFT_LIMIT 382 "MALLOC_SOFT_LIMIT=" CTIMEOPT_VAL(SQLITE_MALLOC_SOFT_LIMIT), 383 #endif 384 #ifdef SQLITE_MAX_ATTACHED 385 "MAX_ATTACHED=" CTIMEOPT_VAL(SQLITE_MAX_ATTACHED), 386 #endif 387 #ifdef SQLITE_MAX_COLUMN 388 "MAX_COLUMN=" CTIMEOPT_VAL(SQLITE_MAX_COLUMN), 389 #endif 390 #ifdef SQLITE_MAX_COMPOUND_SELECT 391 "MAX_COMPOUND_SELECT=" CTIMEOPT_VAL(SQLITE_MAX_COMPOUND_SELECT), 392 #endif 393 #ifdef SQLITE_MAX_DEFAULT_PAGE_SIZE 394 "MAX_DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_DEFAULT_PAGE_SIZE), 395 #endif 396 #ifdef SQLITE_MAX_EXPR_DEPTH 397 "MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_EXPR_DEPTH), 398 #endif 399 #ifdef SQLITE_MAX_FUNCTION_ARG 400 "MAX_FUNCTION_ARG=" CTIMEOPT_VAL(SQLITE_MAX_FUNCTION_ARG), 401 #endif 402 #ifdef SQLITE_MAX_LENGTH 403 "MAX_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LENGTH), 404 #endif 405 #ifdef SQLITE_MAX_LIKE_PATTERN_LENGTH 406 "MAX_LIKE_PATTERN_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LIKE_PATTERN_LENGTH), 407 #endif 408 #ifdef SQLITE_MAX_MEMORY 409 "MAX_MEMORY=" CTIMEOPT_VAL(SQLITE_MAX_MEMORY), 410 #endif 411 #ifdef SQLITE_MAX_MMAP_SIZE 412 "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE), 413 #endif 414 #ifdef SQLITE_MAX_MMAP_SIZE_ 415 "MAX_MMAP_SIZE_=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE_), 416 #endif 417 #ifdef SQLITE_MAX_PAGE_COUNT 418 "MAX_PAGE_COUNT=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_COUNT), 419 #endif 420 #ifdef SQLITE_MAX_PAGE_SIZE 421 "MAX_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_SIZE), 422 #endif 423 #ifdef SQLITE_MAX_SCHEMA_RETRY 424 "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY), 425 #endif 426 #ifdef SQLITE_MAX_SQL_LENGTH 427 "MAX_SQL_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_SQL_LENGTH), 428 #endif 429 #ifdef SQLITE_MAX_TRIGGER_DEPTH 430 "MAX_TRIGGER_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_TRIGGER_DEPTH), 431 #endif 432 #ifdef SQLITE_MAX_VARIABLE_NUMBER 433 "MAX_VARIABLE_NUMBER=" CTIMEOPT_VAL(SQLITE_MAX_VARIABLE_NUMBER), 434 #endif 435 #ifdef SQLITE_MAX_VDBE_OP 436 "MAX_VDBE_OP=" CTIMEOPT_VAL(SQLITE_MAX_VDBE_OP), 437 #endif 438 #ifdef SQLITE_MAX_WORKER_THREADS 439 "MAX_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_MAX_WORKER_THREADS), 440 #endif 441 #if SQLITE_MEMDEBUG 442 "MEMDEBUG", 443 #endif 444 #if SQLITE_MIXED_ENDIAN_64BIT_FLOAT 445 "MIXED_ENDIAN_64BIT_FLOAT", 446 #endif 447 #if SQLITE_MMAP_READWRITE 448 "MMAP_READWRITE", 449 #endif 450 #if SQLITE_MUTEX_NOOP 451 "MUTEX_NOOP", 452 #endif 453 #if SQLITE_MUTEX_NREF 454 "MUTEX_NREF", 455 #endif 456 #if SQLITE_MUTEX_OMIT 457 "MUTEX_OMIT", 458 #endif 459 #if SQLITE_MUTEX_PTHREADS 460 "MUTEX_PTHREADS", 461 #endif 462 #if SQLITE_MUTEX_W32 463 "MUTEX_W32", 464 #endif 465 #if SQLITE_NEED_ERR_NAME 466 "NEED_ERR_NAME", 467 #endif 468 #if SQLITE_NOINLINE 469 "NOINLINE", 470 #endif 471 #if SQLITE_NO_SYNC 472 "NO_SYNC", 473 #endif 474 #if SQLITE_OMIT_ALTERTABLE 475 "OMIT_ALTERTABLE", 476 #endif 477 #if SQLITE_OMIT_ANALYZE 478 "OMIT_ANALYZE", 479 #endif 480 #if SQLITE_OMIT_ATTACH 481 "OMIT_ATTACH", 482 #endif 483 #if SQLITE_OMIT_AUTHORIZATION 484 "OMIT_AUTHORIZATION", 485 #endif 486 #if SQLITE_OMIT_AUTOINCREMENT 487 "OMIT_AUTOINCREMENT", 488 #endif 489 #if SQLITE_OMIT_AUTOINIT 490 "OMIT_AUTOINIT", 491 #endif 492 #if SQLITE_OMIT_AUTOMATIC_INDEX 493 "OMIT_AUTOMATIC_INDEX", 494 #endif 495 #if SQLITE_OMIT_AUTORESET 496 "OMIT_AUTORESET", 497 #endif 498 #if SQLITE_OMIT_AUTOVACUUM 499 "OMIT_AUTOVACUUM", 500 #endif 501 #if SQLITE_OMIT_BETWEEN_OPTIMIZATION 502 "OMIT_BETWEEN_OPTIMIZATION", 503 #endif 504 #if SQLITE_OMIT_BLOB_LITERAL 505 "OMIT_BLOB_LITERAL", 506 #endif 507 #if SQLITE_OMIT_BTREECOUNT 508 "OMIT_BTREECOUNT", 509 #endif 510 #if SQLITE_OMIT_CAST 511 "OMIT_CAST", 512 #endif 513 #if SQLITE_OMIT_CHECK 514 "OMIT_CHECK", 515 #endif 516 #if SQLITE_OMIT_COMPLETE 517 "OMIT_COMPLETE", 518 #endif 519 #if SQLITE_OMIT_COMPOUND_SELECT 520 "OMIT_COMPOUND_SELECT", 521 #endif 522 #if SQLITE_OMIT_CONFLICT_CLAUSE 523 "OMIT_CONFLICT_CLAUSE", 524 #endif 525 #if SQLITE_OMIT_CTE 526 "OMIT_CTE", 527 #endif 528 #if SQLITE_OMIT_DATETIME_FUNCS 529 "OMIT_DATETIME_FUNCS", 530 #endif 531 #if SQLITE_OMIT_DECLTYPE 532 "OMIT_DECLTYPE", 533 #endif 534 #if SQLITE_OMIT_DEPRECATED 535 "OMIT_DEPRECATED", 536 #endif 537 #if SQLITE_OMIT_DISKIO 538 "OMIT_DISKIO", 539 #endif 540 #if SQLITE_OMIT_EXPLAIN 541 "OMIT_EXPLAIN", 542 #endif 543 #if SQLITE_OMIT_FLAG_PRAGMAS 544 "OMIT_FLAG_PRAGMAS", 545 #endif 546 #if SQLITE_OMIT_FLOATING_POINT 547 "OMIT_FLOATING_POINT", 548 #endif 549 #if SQLITE_OMIT_FOREIGN_KEY 550 "OMIT_FOREIGN_KEY", 551 #endif 552 #if SQLITE_OMIT_GET_TABLE 553 "OMIT_GET_TABLE", 554 #endif 555 #if SQLITE_OMIT_HEX_INTEGER 556 "OMIT_HEX_INTEGER", 557 #endif 558 #if SQLITE_OMIT_INCRBLOB 559 "OMIT_INCRBLOB", 560 #endif 561 #if SQLITE_OMIT_INTEGRITY_CHECK 562 "OMIT_INTEGRITY_CHECK", 563 #endif 564 #if SQLITE_OMIT_LIKE_OPTIMIZATION 565 "OMIT_LIKE_OPTIMIZATION", 566 #endif 567 #if SQLITE_OMIT_LOAD_EXTENSION 568 "OMIT_LOAD_EXTENSION", 569 #endif 570 #if SQLITE_OMIT_LOCALTIME 571 "OMIT_LOCALTIME", 572 #endif 573 #if SQLITE_OMIT_LOOKASIDE 574 "OMIT_LOOKASIDE", 575 #endif 576 #if SQLITE_OMIT_MEMORYDB 577 "OMIT_MEMORYDB", 578 #endif 579 #if SQLITE_OMIT_OR_OPTIMIZATION 580 "OMIT_OR_OPTIMIZATION", 581 #endif 582 #if SQLITE_OMIT_PAGER_PRAGMAS 583 "OMIT_PAGER_PRAGMAS", 584 #endif 585 #if SQLITE_OMIT_PARSER_TRACE 586 "OMIT_PARSER_TRACE", 587 #endif 588 #if SQLITE_OMIT_POPEN 589 "OMIT_POPEN", 590 #endif 591 #if SQLITE_OMIT_PRAGMA 592 "OMIT_PRAGMA", 593 #endif 594 #if SQLITE_OMIT_PROGRESS_CALLBACK 595 "OMIT_PROGRESS_CALLBACK", 596 #endif 597 #if SQLITE_OMIT_QUICKBALANCE 598 "OMIT_QUICKBALANCE", 599 #endif 600 #if SQLITE_OMIT_REINDEX 601 "OMIT_REINDEX", 602 #endif 603 #if SQLITE_OMIT_SCHEMA_PRAGMAS 604 "OMIT_SCHEMA_PRAGMAS", 605 #endif 606 #if SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS 607 "OMIT_SCHEMA_VERSION_PRAGMAS", 608 #endif 609 #if SQLITE_OMIT_SHARED_CACHE 610 "OMIT_SHARED_CACHE", 611 #endif 612 #if SQLITE_OMIT_SHUTDOWN_DIRECTORIES 613 "OMIT_SHUTDOWN_DIRECTORIES", 614 #endif 615 #if SQLITE_OMIT_SUBQUERY 616 "OMIT_SUBQUERY", 617 #endif 618 #if SQLITE_OMIT_TCL_VARIABLE 619 "OMIT_TCL_VARIABLE", 620 #endif 621 #if SQLITE_OMIT_TEMPDB 622 "OMIT_TEMPDB", 623 #endif 624 #if SQLITE_OMIT_TEST_CONTROL 625 "OMIT_TEST_CONTROL", 626 #endif 627 #if SQLITE_OMIT_TRACE 628 "OMIT_TRACE", 629 #endif 630 #if SQLITE_OMIT_TRIGGER 631 "OMIT_TRIGGER", 632 #endif 633 #if SQLITE_OMIT_TRUNCATE_OPTIMIZATION 634 "OMIT_TRUNCATE_OPTIMIZATION", 635 #endif 636 #if SQLITE_OMIT_UTF16 637 "OMIT_UTF16", 638 #endif 639 #if SQLITE_OMIT_VACUUM 640 "OMIT_VACUUM", 641 #endif 642 #if SQLITE_OMIT_VIEW 643 "OMIT_VIEW", 644 #endif 645 #if SQLITE_OMIT_VIRTUALTABLE 646 "OMIT_VIRTUALTABLE", 647 #endif 648 #if SQLITE_OMIT_WAL 649 "OMIT_WAL", 650 #endif 651 #if SQLITE_OMIT_WSD 652 "OMIT_WSD", 653 #endif 654 #if SQLITE_OMIT_XFER_OPT 655 "OMIT_XFER_OPT", 656 #endif 657 #if SQLITE_PCACHE_SEPARATE_HEADER 658 "PCACHE_SEPARATE_HEADER", 659 #endif 660 #if SQLITE_PERFORMANCE_TRACE 661 "PERFORMANCE_TRACE", 662 #endif 663 #if SQLITE_POWERSAFE_OVERWRITE 664 "POWERSAFE_OVERWRITE", 665 #endif 666 #if SQLITE_PREFER_PROXY_LOCKING 667 "PREFER_PROXY_LOCKING", 668 #endif 669 #if SQLITE_PROXY_DEBUG 670 "PROXY_DEBUG", 671 #endif 672 #if SQLITE_REVERSE_UNORDERED_SELECTS 673 "REVERSE_UNORDERED_SELECTS", 674 #endif 675 #if SQLITE_RTREE_INT_ONLY 676 "RTREE_INT_ONLY", 677 #endif 678 #if SQLITE_SECURE_DELETE 679 "SECURE_DELETE", 680 #endif 681 #if SQLITE_SMALL_STACK 682 "SMALL_STACK", 683 #endif 684 #ifdef SQLITE_SORTER_PMASZ 685 "SORTER_PMASZ=" CTIMEOPT_VAL(SQLITE_SORTER_PMASZ), 686 #endif 687 #if SQLITE_SOUNDEX 688 "SOUNDEX", 689 #endif 690 #ifdef SQLITE_STAT4_SAMPLES 691 "STAT4_SAMPLES=" CTIMEOPT_VAL(SQLITE_STAT4_SAMPLES), 692 #endif 693 #ifdef SQLITE_STMTJRNL_SPILL 694 "STMTJRNL_SPILL=" CTIMEOPT_VAL(SQLITE_STMTJRNL_SPILL), 695 #endif 696 #if SQLITE_SUBSTR_COMPATIBILITY 697 "SUBSTR_COMPATIBILITY", 698 #endif 699 #if SQLITE_SYSTEM_MALLOC 700 "SYSTEM_MALLOC", 701 #endif 702 #if SQLITE_TCL 703 "TCL", 704 #endif 705 #ifdef SQLITE_TEMP_STORE 706 "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE), 707 #endif 708 #if SQLITE_TEST 709 "TEST", 710 #endif 711 #if defined(SQLITE_THREADSAFE) 712 "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE), 713 #elif defined(THREADSAFE) 714 "THREADSAFE=" CTIMEOPT_VAL(THREADSAFE), 715 #else 716 "THREADSAFE=1", 717 #endif 718 #if SQLITE_UNLINK_AFTER_CLOSE 719 "UNLINK_AFTER_CLOSE", 720 #endif 721 #if SQLITE_UNTESTABLE 722 "UNTESTABLE", 723 #endif 724 #if SQLITE_USER_AUTHENTICATION 725 "USER_AUTHENTICATION", 726 #endif 727 #if SQLITE_USE_ALLOCA 728 "USE_ALLOCA", 729 #endif 730 #if SQLITE_USE_FCNTL_TRACE 731 "USE_FCNTL_TRACE", 732 #endif 733 #if SQLITE_USE_URI 734 "USE_URI", 735 #endif 736 #if SQLITE_VDBE_COVERAGE 737 "VDBE_COVERAGE", 738 #endif 739 #if SQLITE_WIN32_MALLOC 740 "WIN32_MALLOC", 741 #endif 742 #if SQLITE_ZERO_MALLOC 743 "ZERO_MALLOC", 744 #endif 745 /* 746 ** END CODE GENERATED BY tool/mkctime.tcl 747 */ 748 }; 749 750 const char **sqlite3CompileOptions(int *pnOpt){ 751 *pnOpt = sizeof(sqlite3azCompileOpt) / sizeof(sqlite3azCompileOpt[0]); 752 return (const char**)sqlite3azCompileOpt; 753 } 754 755 #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ 756