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 /* IMP: R-16824-07538 */ 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 /* 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) 38 39 /* 40 ** An array of names of all compile-time options. This array should 41 ** be sorted A-Z. 42 ** 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. 46 */ 47 static const char * const sqlite3azCompileOpt[] = { 48 49 /* 50 ** BEGIN CODE GENERATED BY tool/mkctime.tcl 51 */ 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 SQLITE_HAS_CODEC 359 "HAS_CODEC", 360 #endif 361 #if HAVE_ISNAN || SQLITE_HAVE_ISNAN 362 "HAVE_ISNAN", 363 #endif 364 #if SQLITE_HOMEGROWN_RECURSIVE_MUTEX 365 "HOMEGROWN_RECURSIVE_MUTEX", 366 #endif 367 #if SQLITE_IGNORE_AFP_LOCK_ERRORS 368 "IGNORE_AFP_LOCK_ERRORS", 369 #endif 370 #if SQLITE_IGNORE_FLOCK_LOCK_ERRORS 371 "IGNORE_FLOCK_LOCK_ERRORS", 372 #endif 373 #if SQLITE_INLINE_MEMCPY 374 "INLINE_MEMCPY", 375 #endif 376 #if SQLITE_INT64_TYPE 377 "INT64_TYPE", 378 #endif 379 #ifdef SQLITE_INTEGRITY_CHECK_ERROR_MAX 380 "INTEGRITY_CHECK_ERROR_MAX=" CTIMEOPT_VAL(SQLITE_INTEGRITY_CHECK_ERROR_MAX), 381 #endif 382 #if SQLITE_LIKE_DOESNT_MATCH_BLOBS 383 "LIKE_DOESNT_MATCH_BLOBS", 384 #endif 385 #if SQLITE_LOCK_TRACE 386 "LOCK_TRACE", 387 #endif 388 #if SQLITE_LOG_CACHE_SPILL 389 "LOG_CACHE_SPILL", 390 #endif 391 #ifdef SQLITE_MALLOC_SOFT_LIMIT 392 "MALLOC_SOFT_LIMIT=" CTIMEOPT_VAL(SQLITE_MALLOC_SOFT_LIMIT), 393 #endif 394 #ifdef SQLITE_MAX_ATTACHED 395 "MAX_ATTACHED=" CTIMEOPT_VAL(SQLITE_MAX_ATTACHED), 396 #endif 397 #ifdef SQLITE_MAX_COLUMN 398 "MAX_COLUMN=" CTIMEOPT_VAL(SQLITE_MAX_COLUMN), 399 #endif 400 #ifdef SQLITE_MAX_COMPOUND_SELECT 401 "MAX_COMPOUND_SELECT=" CTIMEOPT_VAL(SQLITE_MAX_COMPOUND_SELECT), 402 #endif 403 #ifdef SQLITE_MAX_DEFAULT_PAGE_SIZE 404 "MAX_DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_DEFAULT_PAGE_SIZE), 405 #endif 406 #ifdef SQLITE_MAX_EXPR_DEPTH 407 "MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_EXPR_DEPTH), 408 #endif 409 #ifdef SQLITE_MAX_FUNCTION_ARG 410 "MAX_FUNCTION_ARG=" CTIMEOPT_VAL(SQLITE_MAX_FUNCTION_ARG), 411 #endif 412 #ifdef SQLITE_MAX_LENGTH 413 "MAX_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LENGTH), 414 #endif 415 #ifdef SQLITE_MAX_LIKE_PATTERN_LENGTH 416 "MAX_LIKE_PATTERN_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LIKE_PATTERN_LENGTH), 417 #endif 418 #ifdef SQLITE_MAX_MEMORY 419 "MAX_MEMORY=" CTIMEOPT_VAL(SQLITE_MAX_MEMORY), 420 #endif 421 #ifdef SQLITE_MAX_MMAP_SIZE 422 "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE), 423 #endif 424 #ifdef SQLITE_MAX_MMAP_SIZE_ 425 "MAX_MMAP_SIZE_=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE_), 426 #endif 427 #ifdef SQLITE_MAX_PAGE_COUNT 428 "MAX_PAGE_COUNT=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_COUNT), 429 #endif 430 #ifdef SQLITE_MAX_PAGE_SIZE 431 "MAX_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_SIZE), 432 #endif 433 #ifdef SQLITE_MAX_SCHEMA_RETRY 434 "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY), 435 #endif 436 #ifdef SQLITE_MAX_SQL_LENGTH 437 "MAX_SQL_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_SQL_LENGTH), 438 #endif 439 #ifdef SQLITE_MAX_TRIGGER_DEPTH 440 "MAX_TRIGGER_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_TRIGGER_DEPTH), 441 #endif 442 #ifdef SQLITE_MAX_VARIABLE_NUMBER 443 "MAX_VARIABLE_NUMBER=" CTIMEOPT_VAL(SQLITE_MAX_VARIABLE_NUMBER), 444 #endif 445 #ifdef SQLITE_MAX_VDBE_OP 446 "MAX_VDBE_OP=" CTIMEOPT_VAL(SQLITE_MAX_VDBE_OP), 447 #endif 448 #ifdef SQLITE_MAX_WORKER_THREADS 449 "MAX_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_MAX_WORKER_THREADS), 450 #endif 451 #if SQLITE_MEMDEBUG 452 "MEMDEBUG", 453 #endif 454 #if SQLITE_MIXED_ENDIAN_64BIT_FLOAT 455 "MIXED_ENDIAN_64BIT_FLOAT", 456 #endif 457 #if SQLITE_MMAP_READWRITE 458 "MMAP_READWRITE", 459 #endif 460 #if SQLITE_MUTEX_NOOP 461 "MUTEX_NOOP", 462 #endif 463 #if SQLITE_MUTEX_NREF 464 "MUTEX_NREF", 465 #endif 466 #if SQLITE_MUTEX_OMIT 467 "MUTEX_OMIT", 468 #endif 469 #if SQLITE_MUTEX_PTHREADS 470 "MUTEX_PTHREADS", 471 #endif 472 #if SQLITE_MUTEX_W32 473 "MUTEX_W32", 474 #endif 475 #if SQLITE_NEED_ERR_NAME 476 "NEED_ERR_NAME", 477 #endif 478 #if SQLITE_NOINLINE 479 "NOINLINE", 480 #endif 481 #if SQLITE_NO_SYNC 482 "NO_SYNC", 483 #endif 484 #if SQLITE_OMIT_ALTERTABLE 485 "OMIT_ALTERTABLE", 486 #endif 487 #if SQLITE_OMIT_ANALYZE 488 "OMIT_ANALYZE", 489 #endif 490 #if SQLITE_OMIT_ATTACH 491 "OMIT_ATTACH", 492 #endif 493 #if SQLITE_OMIT_AUTHORIZATION 494 "OMIT_AUTHORIZATION", 495 #endif 496 #if SQLITE_OMIT_AUTOINCREMENT 497 "OMIT_AUTOINCREMENT", 498 #endif 499 #if SQLITE_OMIT_AUTOINIT 500 "OMIT_AUTOINIT", 501 #endif 502 #if SQLITE_OMIT_AUTOMATIC_INDEX 503 "OMIT_AUTOMATIC_INDEX", 504 #endif 505 #if SQLITE_OMIT_AUTORESET 506 "OMIT_AUTORESET", 507 #endif 508 #if SQLITE_OMIT_AUTOVACUUM 509 "OMIT_AUTOVACUUM", 510 #endif 511 #if SQLITE_OMIT_BETWEEN_OPTIMIZATION 512 "OMIT_BETWEEN_OPTIMIZATION", 513 #endif 514 #if SQLITE_OMIT_BLOB_LITERAL 515 "OMIT_BLOB_LITERAL", 516 #endif 517 #if SQLITE_OMIT_BTREECOUNT 518 "OMIT_BTREECOUNT", 519 #endif 520 #if SQLITE_OMIT_CAST 521 "OMIT_CAST", 522 #endif 523 #if SQLITE_OMIT_CHECK 524 "OMIT_CHECK", 525 #endif 526 #if SQLITE_OMIT_COMPLETE 527 "OMIT_COMPLETE", 528 #endif 529 #if SQLITE_OMIT_COMPOUND_SELECT 530 "OMIT_COMPOUND_SELECT", 531 #endif 532 #if SQLITE_OMIT_CONFLICT_CLAUSE 533 "OMIT_CONFLICT_CLAUSE", 534 #endif 535 #if SQLITE_OMIT_CTE 536 "OMIT_CTE", 537 #endif 538 #if SQLITE_OMIT_DATETIME_FUNCS 539 "OMIT_DATETIME_FUNCS", 540 #endif 541 #if SQLITE_OMIT_DECLTYPE 542 "OMIT_DECLTYPE", 543 #endif 544 #if SQLITE_OMIT_DEPRECATED 545 "OMIT_DEPRECATED", 546 #endif 547 #if SQLITE_OMIT_DISKIO 548 "OMIT_DISKIO", 549 #endif 550 #if SQLITE_OMIT_EXPLAIN 551 "OMIT_EXPLAIN", 552 #endif 553 #if SQLITE_OMIT_FLAG_PRAGMAS 554 "OMIT_FLAG_PRAGMAS", 555 #endif 556 #if SQLITE_OMIT_FLOATING_POINT 557 "OMIT_FLOATING_POINT", 558 #endif 559 #if SQLITE_OMIT_FOREIGN_KEY 560 "OMIT_FOREIGN_KEY", 561 #endif 562 #if SQLITE_OMIT_GET_TABLE 563 "OMIT_GET_TABLE", 564 #endif 565 #if SQLITE_OMIT_HEX_INTEGER 566 "OMIT_HEX_INTEGER", 567 #endif 568 #if SQLITE_OMIT_INCRBLOB 569 "OMIT_INCRBLOB", 570 #endif 571 #if SQLITE_OMIT_INTEGRITY_CHECK 572 "OMIT_INTEGRITY_CHECK", 573 #endif 574 #if SQLITE_OMIT_LIKE_OPTIMIZATION 575 "OMIT_LIKE_OPTIMIZATION", 576 #endif 577 #if SQLITE_OMIT_LOAD_EXTENSION 578 "OMIT_LOAD_EXTENSION", 579 #endif 580 #if SQLITE_OMIT_LOCALTIME 581 "OMIT_LOCALTIME", 582 #endif 583 #if SQLITE_OMIT_LOOKASIDE 584 "OMIT_LOOKASIDE", 585 #endif 586 #if SQLITE_OMIT_MEMORYDB 587 "OMIT_MEMORYDB", 588 #endif 589 #if SQLITE_OMIT_OR_OPTIMIZATION 590 "OMIT_OR_OPTIMIZATION", 591 #endif 592 #if SQLITE_OMIT_PAGER_PRAGMAS 593 "OMIT_PAGER_PRAGMAS", 594 #endif 595 #if SQLITE_OMIT_PARSER_TRACE 596 "OMIT_PARSER_TRACE", 597 #endif 598 #if SQLITE_OMIT_POPEN 599 "OMIT_POPEN", 600 #endif 601 #if SQLITE_OMIT_PRAGMA 602 "OMIT_PRAGMA", 603 #endif 604 #if SQLITE_OMIT_PROGRESS_CALLBACK 605 "OMIT_PROGRESS_CALLBACK", 606 #endif 607 #if SQLITE_OMIT_QUICKBALANCE 608 "OMIT_QUICKBALANCE", 609 #endif 610 #if SQLITE_OMIT_REINDEX 611 "OMIT_REINDEX", 612 #endif 613 #if SQLITE_OMIT_SCHEMA_PRAGMAS 614 "OMIT_SCHEMA_PRAGMAS", 615 #endif 616 #if SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS 617 "OMIT_SCHEMA_VERSION_PRAGMAS", 618 #endif 619 #if SQLITE_OMIT_SHARED_CACHE 620 "OMIT_SHARED_CACHE", 621 #endif 622 #if SQLITE_OMIT_SHUTDOWN_DIRECTORIES 623 "OMIT_SHUTDOWN_DIRECTORIES", 624 #endif 625 #if SQLITE_OMIT_SUBQUERY 626 "OMIT_SUBQUERY", 627 #endif 628 #if SQLITE_OMIT_TCL_VARIABLE 629 "OMIT_TCL_VARIABLE", 630 #endif 631 #if SQLITE_OMIT_TEMPDB 632 "OMIT_TEMPDB", 633 #endif 634 #if SQLITE_OMIT_TEST_CONTROL 635 "OMIT_TEST_CONTROL", 636 #endif 637 #if SQLITE_OMIT_TRACE 638 "OMIT_TRACE", 639 #endif 640 #if SQLITE_OMIT_TRIGGER 641 "OMIT_TRIGGER", 642 #endif 643 #if SQLITE_OMIT_TRUNCATE_OPTIMIZATION 644 "OMIT_TRUNCATE_OPTIMIZATION", 645 #endif 646 #if SQLITE_OMIT_UTF16 647 "OMIT_UTF16", 648 #endif 649 #if SQLITE_OMIT_VACUUM 650 "OMIT_VACUUM", 651 #endif 652 #if SQLITE_OMIT_VIEW 653 "OMIT_VIEW", 654 #endif 655 #if SQLITE_OMIT_VIRTUALTABLE 656 "OMIT_VIRTUALTABLE", 657 #endif 658 #if SQLITE_OMIT_WAL 659 "OMIT_WAL", 660 #endif 661 #if SQLITE_OMIT_WSD 662 "OMIT_WSD", 663 #endif 664 #if SQLITE_OMIT_XFER_OPT 665 "OMIT_XFER_OPT", 666 #endif 667 #if SQLITE_PCACHE_SEPARATE_HEADER 668 "PCACHE_SEPARATE_HEADER", 669 #endif 670 #if SQLITE_PERFORMANCE_TRACE 671 "PERFORMANCE_TRACE", 672 #endif 673 #if SQLITE_POWERSAFE_OVERWRITE 674 "POWERSAFE_OVERWRITE", 675 #endif 676 #if SQLITE_PREFER_PROXY_LOCKING 677 "PREFER_PROXY_LOCKING", 678 #endif 679 #if SQLITE_PROXY_DEBUG 680 "PROXY_DEBUG", 681 #endif 682 #if SQLITE_REVERSE_UNORDERED_SELECTS 683 "REVERSE_UNORDERED_SELECTS", 684 #endif 685 #if SQLITE_RTREE_INT_ONLY 686 "RTREE_INT_ONLY", 687 #endif 688 #if SQLITE_SECURE_DELETE 689 "SECURE_DELETE", 690 #endif 691 #if SQLITE_SMALL_STACK 692 "SMALL_STACK", 693 #endif 694 #ifdef SQLITE_SORTER_PMASZ 695 "SORTER_PMASZ=" CTIMEOPT_VAL(SQLITE_SORTER_PMASZ), 696 #endif 697 #if SQLITE_SOUNDEX 698 "SOUNDEX", 699 #endif 700 #ifdef SQLITE_STAT4_SAMPLES 701 "STAT4_SAMPLES=" CTIMEOPT_VAL(SQLITE_STAT4_SAMPLES), 702 #endif 703 #ifdef SQLITE_STMTJRNL_SPILL 704 "STMTJRNL_SPILL=" CTIMEOPT_VAL(SQLITE_STMTJRNL_SPILL), 705 #endif 706 #if SQLITE_SUBSTR_COMPATIBILITY 707 "SUBSTR_COMPATIBILITY", 708 #endif 709 #if SQLITE_SYSTEM_MALLOC 710 "SYSTEM_MALLOC", 711 #endif 712 #if SQLITE_TCL 713 "TCL", 714 #endif 715 #ifdef SQLITE_TEMP_STORE 716 "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE), 717 #endif 718 #if SQLITE_TEST 719 "TEST", 720 #endif 721 #if defined(SQLITE_THREADSAFE) 722 "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE), 723 #elif defined(THREADSAFE) 724 "THREADSAFE=" CTIMEOPT_VAL(THREADSAFE), 725 #else 726 "THREADSAFE=1", 727 #endif 728 #if SQLITE_UNLINK_AFTER_CLOSE 729 "UNLINK_AFTER_CLOSE", 730 #endif 731 #if SQLITE_UNTESTABLE 732 "UNTESTABLE", 733 #endif 734 #if SQLITE_USER_AUTHENTICATION 735 "USER_AUTHENTICATION", 736 #endif 737 #if SQLITE_USE_ALLOCA 738 "USE_ALLOCA", 739 #endif 740 #if SQLITE_USE_FCNTL_TRACE 741 "USE_FCNTL_TRACE", 742 #endif 743 #if SQLITE_USE_URI 744 "USE_URI", 745 #endif 746 #if SQLITE_VDBE_COVERAGE 747 "VDBE_COVERAGE", 748 #endif 749 #if SQLITE_WIN32_MALLOC 750 "WIN32_MALLOC", 751 #endif 752 #if SQLITE_ZERO_MALLOC 753 "ZERO_MALLOC", 754 #endif 755 /* 756 ** END CODE GENERATED BY tool/mkctime.tcl 757 */ 758 }; 759 760 const char **sqlite3CompileOptions(int *pnOpt){ 761 *pnOpt = sizeof(sqlite3azCompileOpt) / sizeof(sqlite3azCompileOpt[0]); 762 return (const char**)sqlite3azCompileOpt; 763 } 764 765 #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ 766