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