Annotation of embedaddon/sqlite3/src/test_config.c, revision 1.1

1.1     ! misho       1: /*
        !             2: ** 2007 May 7
        !             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 contains code used for testing the SQLite system.
        !            14: ** None of the code in this file goes into a deliverable build.
        !            15: ** 
        !            16: ** The focus of this file is providing the TCL testing layer
        !            17: ** access to compile-time constants.
        !            18: */
        !            19: 
        !            20: #include "sqliteLimit.h"
        !            21: 
        !            22: #include "sqliteInt.h"
        !            23: #include "tcl.h"
        !            24: #include <stdlib.h>
        !            25: #include <string.h>
        !            26: 
        !            27: /*
        !            28: ** Macro to stringify the results of the evaluation a pre-processor
        !            29: ** macro. i.e. so that STRINGVALUE(SQLITE_NOMEM) -> "7".
        !            30: */
        !            31: #define STRINGVALUE2(x) #x
        !            32: #define STRINGVALUE(x) STRINGVALUE2(x)
        !            33: 
        !            34: /*
        !            35: ** This routine sets entries in the global ::sqlite_options() array variable
        !            36: ** according to the compile-time configuration of the database.  Test
        !            37: ** procedures use this to determine when tests should be omitted.
        !            38: */
        !            39: static void set_options(Tcl_Interp *interp){
        !            40: #ifdef HAVE_MALLOC_USABLE_SIZE
        !            41:   Tcl_SetVar2(interp, "sqlite_options", "malloc_usable_size", "1",
        !            42:               TCL_GLOBAL_ONLY);
        !            43: #else
        !            44:   Tcl_SetVar2(interp, "sqlite_options", "malloc_usable_size", "0",
        !            45:               TCL_GLOBAL_ONLY);
        !            46: #endif
        !            47: 
        !            48: #ifdef SQLITE_32BIT_ROWID
        !            49:   Tcl_SetVar2(interp, "sqlite_options", "rowid32", "1", TCL_GLOBAL_ONLY);
        !            50: #else
        !            51:   Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY);
        !            52: #endif
        !            53: 
        !            54: #ifdef SQLITE_CASE_SENSITIVE_LIKE
        !            55:   Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","1",TCL_GLOBAL_ONLY);
        !            56: #else
        !            57:   Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY);
        !            58: #endif
        !            59: 
        !            60: #ifdef SQLITE_DEBUG
        !            61:   Tcl_SetVar2(interp, "sqlite_options", "debug", "1", TCL_GLOBAL_ONLY);
        !            62: #else
        !            63:   Tcl_SetVar2(interp, "sqlite_options", "debug", "0", TCL_GLOBAL_ONLY);
        !            64: #endif
        !            65: 
        !            66: #ifdef SQLITE_DIRECT_OVERFLOW_READ
        !            67:   Tcl_SetVar2(interp, "sqlite_options", "direct_read", "1", TCL_GLOBAL_ONLY);
        !            68: #else
        !            69:   Tcl_SetVar2(interp, "sqlite_options", "direct_read", "0", TCL_GLOBAL_ONLY);
        !            70: #endif
        !            71: 
        !            72: #ifdef SQLITE_DISABLE_DIRSYNC
        !            73:   Tcl_SetVar2(interp, "sqlite_options", "dirsync", "0", TCL_GLOBAL_ONLY);
        !            74: #else
        !            75:   Tcl_SetVar2(interp, "sqlite_options", "dirsync", "1", TCL_GLOBAL_ONLY);
        !            76: #endif
        !            77: 
        !            78: #ifdef SQLITE_DISABLE_LFS
        !            79:   Tcl_SetVar2(interp, "sqlite_options", "lfs", "0", TCL_GLOBAL_ONLY);
        !            80: #else
        !            81:   Tcl_SetVar2(interp, "sqlite_options", "lfs", "1", TCL_GLOBAL_ONLY);
        !            82: #endif
        !            83: 
        !            84: #if 1 /* def SQLITE_MEMDEBUG */
        !            85:   Tcl_SetVar2(interp, "sqlite_options", "memdebug", "1", TCL_GLOBAL_ONLY);
        !            86: #else
        !            87:   Tcl_SetVar2(interp, "sqlite_options", "memdebug", "0", TCL_GLOBAL_ONLY);
        !            88: #endif
        !            89: 
        !            90: #ifdef SQLITE_ENABLE_8_3_NAMES
        !            91:   Tcl_SetVar2(interp, "sqlite_options", "8_3_names", "1", TCL_GLOBAL_ONLY);
        !            92: #else
        !            93:   Tcl_SetVar2(interp, "sqlite_options", "8_3_names", "0", TCL_GLOBAL_ONLY);
        !            94: #endif
        !            95: 
        !            96: #ifdef SQLITE_ENABLE_MEMSYS3
        !            97:   Tcl_SetVar2(interp, "sqlite_options", "mem3", "1", TCL_GLOBAL_ONLY);
        !            98: #else
        !            99:   Tcl_SetVar2(interp, "sqlite_options", "mem3", "0", TCL_GLOBAL_ONLY);
        !           100: #endif
        !           101: 
        !           102: #ifdef SQLITE_ENABLE_MEMSYS5
        !           103:   Tcl_SetVar2(interp, "sqlite_options", "mem5", "1", TCL_GLOBAL_ONLY);
        !           104: #else
        !           105:   Tcl_SetVar2(interp, "sqlite_options", "mem5", "0", TCL_GLOBAL_ONLY);
        !           106: #endif
        !           107: 
        !           108: #ifdef SQLITE_MUTEX_OMIT
        !           109:   Tcl_SetVar2(interp, "sqlite_options", "mutex", "0", TCL_GLOBAL_ONLY);
        !           110: #else
        !           111:   Tcl_SetVar2(interp, "sqlite_options", "mutex", "1", TCL_GLOBAL_ONLY);
        !           112: #endif
        !           113: 
        !           114: #ifdef SQLITE_MUTEX_NOOP
        !           115:   Tcl_SetVar2(interp, "sqlite_options", "mutex_noop", "1", TCL_GLOBAL_ONLY);
        !           116: #else
        !           117:   Tcl_SetVar2(interp, "sqlite_options", "mutex_noop", "0", TCL_GLOBAL_ONLY);
        !           118: #endif
        !           119: 
        !           120: #ifdef SQLITE_OMIT_ALTERTABLE
        !           121:   Tcl_SetVar2(interp, "sqlite_options", "altertable", "0", TCL_GLOBAL_ONLY);
        !           122: #else
        !           123:   Tcl_SetVar2(interp, "sqlite_options", "altertable", "1", TCL_GLOBAL_ONLY);
        !           124: #endif
        !           125: 
        !           126: #ifdef SQLITE_OMIT_ANALYZE
        !           127:   Tcl_SetVar2(interp, "sqlite_options", "analyze", "0", TCL_GLOBAL_ONLY);
        !           128: #else
        !           129:   Tcl_SetVar2(interp, "sqlite_options", "analyze", "1", TCL_GLOBAL_ONLY);
        !           130: #endif
        !           131: 
        !           132: #ifdef SQLITE_ENABLE_ATOMIC_WRITE
        !           133:   Tcl_SetVar2(interp, "sqlite_options", "atomicwrite", "1", TCL_GLOBAL_ONLY);
        !           134: #else
        !           135:   Tcl_SetVar2(interp, "sqlite_options", "atomicwrite", "0", TCL_GLOBAL_ONLY);
        !           136: #endif
        !           137: 
        !           138: #ifdef SQLITE_OMIT_ATTACH
        !           139:   Tcl_SetVar2(interp, "sqlite_options", "attach", "0", TCL_GLOBAL_ONLY);
        !           140: #else
        !           141:   Tcl_SetVar2(interp, "sqlite_options", "attach", "1", TCL_GLOBAL_ONLY);
        !           142: #endif
        !           143: 
        !           144: #ifdef SQLITE_OMIT_AUTHORIZATION
        !           145:   Tcl_SetVar2(interp, "sqlite_options", "auth", "0", TCL_GLOBAL_ONLY);
        !           146: #else
        !           147:   Tcl_SetVar2(interp, "sqlite_options", "auth", "1", TCL_GLOBAL_ONLY);
        !           148: #endif
        !           149: 
        !           150: #ifdef SQLITE_OMIT_AUTOINCREMENT
        !           151:   Tcl_SetVar2(interp, "sqlite_options", "autoinc", "0", TCL_GLOBAL_ONLY);
        !           152: #else
        !           153:   Tcl_SetVar2(interp, "sqlite_options", "autoinc", "1", TCL_GLOBAL_ONLY);
        !           154: #endif
        !           155: 
        !           156: #ifdef SQLITE_OMIT_AUTOMATIC_INDEX
        !           157:   Tcl_SetVar2(interp, "sqlite_options", "autoindex", "0", TCL_GLOBAL_ONLY);
        !           158: #else
        !           159:   Tcl_SetVar2(interp, "sqlite_options", "autoindex", "1", TCL_GLOBAL_ONLY);
        !           160: #endif
        !           161: 
        !           162: #ifdef SQLITE_OMIT_AUTORESET
        !           163:   Tcl_SetVar2(interp, "sqlite_options", "autoreset", "0", TCL_GLOBAL_ONLY);
        !           164: #else
        !           165:   Tcl_SetVar2(interp, "sqlite_options", "autoreset", "1", TCL_GLOBAL_ONLY);
        !           166: #endif
        !           167: 
        !           168: #ifdef SQLITE_OMIT_AUTOVACUUM
        !           169:   Tcl_SetVar2(interp, "sqlite_options", "autovacuum", "0", TCL_GLOBAL_ONLY);
        !           170: #else
        !           171:   Tcl_SetVar2(interp, "sqlite_options", "autovacuum", "1", TCL_GLOBAL_ONLY);
        !           172: #endif /* SQLITE_OMIT_AUTOVACUUM */
        !           173: #if !defined(SQLITE_DEFAULT_AUTOVACUUM)
        !           174:   Tcl_SetVar2(interp,"sqlite_options","default_autovacuum","0",TCL_GLOBAL_ONLY);
        !           175: #else
        !           176:   Tcl_SetVar2(interp, "sqlite_options", "default_autovacuum", 
        !           177:       STRINGVALUE(SQLITE_DEFAULT_AUTOVACUUM), TCL_GLOBAL_ONLY);
        !           178: #endif
        !           179: 
        !           180: #ifdef SQLITE_OMIT_BETWEEN_OPTIMIZATION
        !           181:   Tcl_SetVar2(interp, "sqlite_options", "between_opt", "0", TCL_GLOBAL_ONLY);
        !           182: #else
        !           183:   Tcl_SetVar2(interp, "sqlite_options", "between_opt", "1", TCL_GLOBAL_ONLY);
        !           184: #endif
        !           185: 
        !           186: #ifdef SQLITE_OMIT_BUILTIN_TEST
        !           187:   Tcl_SetVar2(interp, "sqlite_options", "builtin_test", "0", TCL_GLOBAL_ONLY);
        !           188: #else
        !           189:   Tcl_SetVar2(interp, "sqlite_options", "builtin_test", "1", TCL_GLOBAL_ONLY);
        !           190: #endif
        !           191: 
        !           192: #ifdef SQLITE_OMIT_BLOB_LITERAL
        !           193:   Tcl_SetVar2(interp, "sqlite_options", "bloblit", "0", TCL_GLOBAL_ONLY);
        !           194: #else
        !           195:   Tcl_SetVar2(interp, "sqlite_options", "bloblit", "1", TCL_GLOBAL_ONLY);
        !           196: #endif
        !           197: 
        !           198: #ifdef SQLITE_OMIT_CAST
        !           199:   Tcl_SetVar2(interp, "sqlite_options", "cast", "0", TCL_GLOBAL_ONLY);
        !           200: #else
        !           201:   Tcl_SetVar2(interp, "sqlite_options", "cast", "1", TCL_GLOBAL_ONLY);
        !           202: #endif
        !           203: 
        !           204: #ifdef SQLITE_OMIT_CHECK
        !           205:   Tcl_SetVar2(interp, "sqlite_options", "check", "0", TCL_GLOBAL_ONLY);
        !           206: #else
        !           207:   Tcl_SetVar2(interp, "sqlite_options", "check", "1", TCL_GLOBAL_ONLY);
        !           208: #endif
        !           209: 
        !           210: #ifdef SQLITE_ENABLE_COLUMN_METADATA
        !           211:   Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "1", TCL_GLOBAL_ONLY);
        !           212: #else
        !           213:   Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "0", TCL_GLOBAL_ONLY);
        !           214: #endif
        !           215: 
        !           216: #ifdef SQLITE_ENABLE_OVERSIZE_CELL_CHECK
        !           217:   Tcl_SetVar2(interp, "sqlite_options", "oversize_cell_check", "1",
        !           218:               TCL_GLOBAL_ONLY);
        !           219: #else
        !           220:   Tcl_SetVar2(interp, "sqlite_options", "oversize_cell_check", "0",
        !           221:               TCL_GLOBAL_ONLY);
        !           222: #endif
        !           223: 
        !           224: #ifdef SQLITE_OMIT_COMPILEOPTION_DIAGS
        !           225:   Tcl_SetVar2(interp, "sqlite_options", "compileoption_diags", "0", TCL_GLOBAL_ONLY);
        !           226: #else
        !           227:   Tcl_SetVar2(interp, "sqlite_options", "compileoption_diags", "1", TCL_GLOBAL_ONLY);
        !           228: #endif
        !           229: 
        !           230: #ifdef SQLITE_OMIT_COMPLETE
        !           231:   Tcl_SetVar2(interp, "sqlite_options", "complete", "0", TCL_GLOBAL_ONLY);
        !           232: #else
        !           233:   Tcl_SetVar2(interp, "sqlite_options", "complete", "1", TCL_GLOBAL_ONLY);
        !           234: #endif
        !           235: 
        !           236: #ifdef SQLITE_OMIT_COMPOUND_SELECT
        !           237:   Tcl_SetVar2(interp, "sqlite_options", "compound", "0", TCL_GLOBAL_ONLY);
        !           238: #else
        !           239:   Tcl_SetVar2(interp, "sqlite_options", "compound", "1", TCL_GLOBAL_ONLY);
        !           240: #endif
        !           241: 
        !           242:   Tcl_SetVar2(interp, "sqlite_options", "conflict", "1", TCL_GLOBAL_ONLY);
        !           243: 
        !           244: #if SQLITE_OS_UNIX
        !           245:   Tcl_SetVar2(interp, "sqlite_options", "crashtest", "1", TCL_GLOBAL_ONLY);
        !           246: #else
        !           247:   Tcl_SetVar2(interp, "sqlite_options", "crashtest", "0", TCL_GLOBAL_ONLY);
        !           248: #endif
        !           249: 
        !           250: #ifdef SQLITE_OMIT_DATETIME_FUNCS
        !           251:   Tcl_SetVar2(interp, "sqlite_options", "datetime", "0", TCL_GLOBAL_ONLY);
        !           252: #else
        !           253:   Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY);
        !           254: #endif
        !           255: 
        !           256: #ifdef SQLITE_OMIT_DECLTYPE
        !           257:   Tcl_SetVar2(interp, "sqlite_options", "decltype", "0", TCL_GLOBAL_ONLY);
        !           258: #else
        !           259:   Tcl_SetVar2(interp, "sqlite_options", "decltype", "1", TCL_GLOBAL_ONLY);
        !           260: #endif
        !           261: 
        !           262: #ifdef SQLITE_OMIT_DEPRECATED
        !           263:   Tcl_SetVar2(interp, "sqlite_options", "deprecated", "0", TCL_GLOBAL_ONLY);
        !           264: #else
        !           265:   Tcl_SetVar2(interp, "sqlite_options", "deprecated", "1", TCL_GLOBAL_ONLY);
        !           266: #endif
        !           267: 
        !           268: #ifdef SQLITE_OMIT_DISKIO
        !           269:   Tcl_SetVar2(interp, "sqlite_options", "diskio", "0", TCL_GLOBAL_ONLY);
        !           270: #else
        !           271:   Tcl_SetVar2(interp, "sqlite_options", "diskio", "1", TCL_GLOBAL_ONLY);
        !           272: #endif
        !           273: 
        !           274: #ifdef SQLITE_OMIT_EXPLAIN
        !           275:   Tcl_SetVar2(interp, "sqlite_options", "explain", "0", TCL_GLOBAL_ONLY);
        !           276: #else
        !           277:   Tcl_SetVar2(interp, "sqlite_options", "explain", "1", TCL_GLOBAL_ONLY);
        !           278: #endif
        !           279: 
        !           280: #ifdef SQLITE_OMIT_FLOATING_POINT
        !           281:   Tcl_SetVar2(interp, "sqlite_options", "floatingpoint", "0", TCL_GLOBAL_ONLY);
        !           282: #else
        !           283:   Tcl_SetVar2(interp, "sqlite_options", "floatingpoint", "1", TCL_GLOBAL_ONLY);
        !           284: #endif
        !           285: 
        !           286: #ifdef SQLITE_OMIT_FOREIGN_KEY
        !           287:   Tcl_SetVar2(interp, "sqlite_options", "foreignkey", "0", TCL_GLOBAL_ONLY);
        !           288: #else
        !           289:   Tcl_SetVar2(interp, "sqlite_options", "foreignkey", "1", TCL_GLOBAL_ONLY);
        !           290: #endif
        !           291: 
        !           292: #ifdef SQLITE_ENABLE_FTS1
        !           293:   Tcl_SetVar2(interp, "sqlite_options", "fts1", "1", TCL_GLOBAL_ONLY);
        !           294: #else
        !           295:   Tcl_SetVar2(interp, "sqlite_options", "fts1", "0", TCL_GLOBAL_ONLY);
        !           296: #endif
        !           297: 
        !           298: #ifdef SQLITE_ENABLE_FTS2
        !           299:   Tcl_SetVar2(interp, "sqlite_options", "fts2", "1", TCL_GLOBAL_ONLY);
        !           300: #else
        !           301:   Tcl_SetVar2(interp, "sqlite_options", "fts2", "0", TCL_GLOBAL_ONLY);
        !           302: #endif
        !           303: 
        !           304: #ifdef SQLITE_ENABLE_FTS3
        !           305:   Tcl_SetVar2(interp, "sqlite_options", "fts3", "1", TCL_GLOBAL_ONLY);
        !           306: #else
        !           307:   Tcl_SetVar2(interp, "sqlite_options", "fts3", "0", TCL_GLOBAL_ONLY);
        !           308: #endif
        !           309: 
        !           310: #ifdef SQLITE_OMIT_GET_TABLE
        !           311:   Tcl_SetVar2(interp, "sqlite_options", "gettable", "0", TCL_GLOBAL_ONLY);
        !           312: #else
        !           313:   Tcl_SetVar2(interp, "sqlite_options", "gettable", "1", TCL_GLOBAL_ONLY);
        !           314: #endif
        !           315: 
        !           316: #ifdef SQLITE_ENABLE_ICU
        !           317:   Tcl_SetVar2(interp, "sqlite_options", "icu", "1", TCL_GLOBAL_ONLY);
        !           318: #else
        !           319:   Tcl_SetVar2(interp, "sqlite_options", "icu", "0", TCL_GLOBAL_ONLY);
        !           320: #endif
        !           321: 
        !           322: #ifdef SQLITE_OMIT_INCRBLOB
        !           323:   Tcl_SetVar2(interp, "sqlite_options", "incrblob", "0", TCL_GLOBAL_ONLY);
        !           324: #else
        !           325:   Tcl_SetVar2(interp, "sqlite_options", "incrblob", "1", TCL_GLOBAL_ONLY);
        !           326: #endif /* SQLITE_OMIT_AUTOVACUUM */
        !           327: 
        !           328: #ifdef SQLITE_OMIT_INTEGRITY_CHECK
        !           329:   Tcl_SetVar2(interp, "sqlite_options", "integrityck", "0", TCL_GLOBAL_ONLY);
        !           330: #else
        !           331:   Tcl_SetVar2(interp, "sqlite_options", "integrityck", "1", TCL_GLOBAL_ONLY);
        !           332: #endif
        !           333: 
        !           334: #if defined(SQLITE_DEFAULT_FILE_FORMAT) && SQLITE_DEFAULT_FILE_FORMAT==1
        !           335:   Tcl_SetVar2(interp, "sqlite_options", "legacyformat", "1", TCL_GLOBAL_ONLY);
        !           336: #else
        !           337:   Tcl_SetVar2(interp, "sqlite_options", "legacyformat", "0", TCL_GLOBAL_ONLY);
        !           338: #endif
        !           339: 
        !           340: #ifdef SQLITE_OMIT_LIKE_OPTIMIZATION
        !           341:   Tcl_SetVar2(interp, "sqlite_options", "like_opt", "0", TCL_GLOBAL_ONLY);
        !           342: #else
        !           343:   Tcl_SetVar2(interp, "sqlite_options", "like_opt", "1", TCL_GLOBAL_ONLY);
        !           344: #endif
        !           345: 
        !           346: #ifdef SQLITE_OMIT_LOAD_EXTENSION
        !           347:   Tcl_SetVar2(interp, "sqlite_options", "load_ext", "0", TCL_GLOBAL_ONLY);
        !           348: #else
        !           349:   Tcl_SetVar2(interp, "sqlite_options", "load_ext", "1", TCL_GLOBAL_ONLY);
        !           350: #endif
        !           351: 
        !           352: #ifdef SQLITE_OMIT_LOCALTIME
        !           353:   Tcl_SetVar2(interp, "sqlite_options", "localtime", "0", TCL_GLOBAL_ONLY);
        !           354: #else
        !           355:   Tcl_SetVar2(interp, "sqlite_options", "localtime", "1", TCL_GLOBAL_ONLY);
        !           356: #endif
        !           357: 
        !           358: #ifdef SQLITE_OMIT_LOOKASIDE
        !           359:   Tcl_SetVar2(interp, "sqlite_options", "lookaside", "0", TCL_GLOBAL_ONLY);
        !           360: #else
        !           361:   Tcl_SetVar2(interp, "sqlite_options", "lookaside", "1", TCL_GLOBAL_ONLY);
        !           362: #endif
        !           363: 
        !           364: Tcl_SetVar2(interp, "sqlite_options", "long_double",
        !           365:               sizeof(LONGDOUBLE_TYPE)>sizeof(double) ? "1" : "0",
        !           366:               TCL_GLOBAL_ONLY);
        !           367: 
        !           368: #ifdef SQLITE_OMIT_MEMORYDB
        !           369:   Tcl_SetVar2(interp, "sqlite_options", "memorydb", "0", TCL_GLOBAL_ONLY);
        !           370: #else
        !           371:   Tcl_SetVar2(interp, "sqlite_options", "memorydb", "1", TCL_GLOBAL_ONLY);
        !           372: #endif
        !           373: 
        !           374: #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT
        !           375:   Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "1", TCL_GLOBAL_ONLY);
        !           376: #else
        !           377:   Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "0", TCL_GLOBAL_ONLY);
        !           378: #endif
        !           379: 
        !           380: #ifdef SQLITE_OMIT_MERGE_SORT
        !           381:   Tcl_SetVar2(interp, "sqlite_options", "mergesort", "0", TCL_GLOBAL_ONLY);
        !           382: #else
        !           383:   Tcl_SetVar2(interp, "sqlite_options", "mergesort", "1", TCL_GLOBAL_ONLY);
        !           384: #endif
        !           385: 
        !           386: #ifdef SQLITE_OMIT_OR_OPTIMIZATION
        !           387:   Tcl_SetVar2(interp, "sqlite_options", "or_opt", "0", TCL_GLOBAL_ONLY);
        !           388: #else
        !           389:   Tcl_SetVar2(interp, "sqlite_options", "or_opt", "1", TCL_GLOBAL_ONLY);
        !           390: #endif
        !           391: 
        !           392: #ifdef SQLITE_OMIT_PAGER_PRAGMAS
        !           393:   Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "0", TCL_GLOBAL_ONLY);
        !           394: #else
        !           395:   Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "1", TCL_GLOBAL_ONLY);
        !           396: #endif
        !           397: 
        !           398: #if defined(SQLITE_OMIT_PRAGMA) || defined(SQLITE_OMIT_FLAG_PRAGMAS)
        !           399:   Tcl_SetVar2(interp, "sqlite_options", "pragma", "0", TCL_GLOBAL_ONLY);
        !           400:   Tcl_SetVar2(interp, "sqlite_options", "integrityck", "0", TCL_GLOBAL_ONLY);
        !           401: #else
        !           402:   Tcl_SetVar2(interp, "sqlite_options", "pragma", "1", TCL_GLOBAL_ONLY);
        !           403: #endif
        !           404: 
        !           405: #ifdef SQLITE_OMIT_PROGRESS_CALLBACK
        !           406:   Tcl_SetVar2(interp, "sqlite_options", "progress", "0", TCL_GLOBAL_ONLY);
        !           407: #else
        !           408:   Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY);
        !           409: #endif
        !           410: 
        !           411: #ifdef SQLITE_OMIT_REINDEX
        !           412:   Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY);
        !           413: #else
        !           414:   Tcl_SetVar2(interp, "sqlite_options", "reindex", "1", TCL_GLOBAL_ONLY);
        !           415: #endif
        !           416: 
        !           417: #ifdef SQLITE_ENABLE_RTREE
        !           418:   Tcl_SetVar2(interp, "sqlite_options", "rtree", "1", TCL_GLOBAL_ONLY);
        !           419: #else
        !           420:   Tcl_SetVar2(interp, "sqlite_options", "rtree", "0", TCL_GLOBAL_ONLY);
        !           421: #endif
        !           422: 
        !           423: #ifdef SQLITE_OMIT_SCHEMA_PRAGMAS
        !           424:   Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "0", TCL_GLOBAL_ONLY);
        !           425: #else
        !           426:   Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "1", TCL_GLOBAL_ONLY);
        !           427: #endif
        !           428: 
        !           429: #ifdef SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
        !           430:   Tcl_SetVar2(interp, "sqlite_options", "schema_version", "0", TCL_GLOBAL_ONLY);
        !           431: #else
        !           432:   Tcl_SetVar2(interp, "sqlite_options", "schema_version", "1", TCL_GLOBAL_ONLY);
        !           433: #endif
        !           434: 
        !           435: #ifdef SQLITE_ENABLE_STAT3
        !           436:   Tcl_SetVar2(interp, "sqlite_options", "stat3", "1", TCL_GLOBAL_ONLY);
        !           437: #else
        !           438:   Tcl_SetVar2(interp, "sqlite_options", "stat3", "0", TCL_GLOBAL_ONLY);
        !           439: #endif
        !           440: 
        !           441: #if !defined(SQLITE_ENABLE_LOCKING_STYLE)
        !           442: #  if defined(__APPLE__)
        !           443: #    define SQLITE_ENABLE_LOCKING_STYLE 1
        !           444: #  else
        !           445: #    define SQLITE_ENABLE_LOCKING_STYLE 0
        !           446: #  endif
        !           447: #endif
        !           448: #if SQLITE_ENABLE_LOCKING_STYLE && defined(__APPLE__)
        !           449:   Tcl_SetVar2(interp,"sqlite_options","lock_proxy_pragmas","1",TCL_GLOBAL_ONLY);
        !           450: #else
        !           451:   Tcl_SetVar2(interp,"sqlite_options","lock_proxy_pragmas","0",TCL_GLOBAL_ONLY);
        !           452: #endif
        !           453: #if defined(SQLITE_PREFER_PROXY_LOCKING) && defined(__APPLE__)
        !           454:   Tcl_SetVar2(interp,"sqlite_options","prefer_proxy_locking","1",TCL_GLOBAL_ONLY);
        !           455: #else
        !           456:   Tcl_SetVar2(interp,"sqlite_options","prefer_proxy_locking","0",TCL_GLOBAL_ONLY);
        !           457: #endif
        !           458:     
        !           459:     
        !           460: #ifdef SQLITE_OMIT_SHARED_CACHE
        !           461:   Tcl_SetVar2(interp, "sqlite_options", "shared_cache", "0", TCL_GLOBAL_ONLY);
        !           462: #else
        !           463:   Tcl_SetVar2(interp, "sqlite_options", "shared_cache", "1", TCL_GLOBAL_ONLY);
        !           464: #endif
        !           465: 
        !           466: #ifdef SQLITE_OMIT_SUBQUERY
        !           467:   Tcl_SetVar2(interp, "sqlite_options", "subquery", "0", TCL_GLOBAL_ONLY);
        !           468: #else
        !           469:   Tcl_SetVar2(interp, "sqlite_options", "subquery", "1", TCL_GLOBAL_ONLY);
        !           470: #endif
        !           471: 
        !           472: #ifdef SQLITE_OMIT_TCL_VARIABLE
        !           473:   Tcl_SetVar2(interp, "sqlite_options", "tclvar", "0", TCL_GLOBAL_ONLY);
        !           474: #else
        !           475:   Tcl_SetVar2(interp, "sqlite_options", "tclvar", "1", TCL_GLOBAL_ONLY);
        !           476: #endif
        !           477: 
        !           478:   Tcl_SetVar2(interp, "sqlite_options", "threadsafe", 
        !           479:       STRINGVALUE(SQLITE_THREADSAFE), TCL_GLOBAL_ONLY);
        !           480:   assert( sqlite3_threadsafe()==SQLITE_THREADSAFE );
        !           481: 
        !           482: #ifdef SQLITE_OMIT_TEMPDB
        !           483:   Tcl_SetVar2(interp, "sqlite_options", "tempdb", "0", TCL_GLOBAL_ONLY);
        !           484: #else
        !           485:   Tcl_SetVar2(interp, "sqlite_options", "tempdb", "1", TCL_GLOBAL_ONLY);
        !           486: #endif
        !           487: 
        !           488: #ifdef SQLITE_OMIT_TRACE
        !           489:   Tcl_SetVar2(interp, "sqlite_options", "trace", "0", TCL_GLOBAL_ONLY);
        !           490: #else
        !           491:   Tcl_SetVar2(interp, "sqlite_options", "trace", "1", TCL_GLOBAL_ONLY);
        !           492: #endif
        !           493: 
        !           494: #ifdef SQLITE_OMIT_TRIGGER
        !           495:   Tcl_SetVar2(interp, "sqlite_options", "trigger", "0", TCL_GLOBAL_ONLY);
        !           496: #else
        !           497:   Tcl_SetVar2(interp, "sqlite_options", "trigger", "1", TCL_GLOBAL_ONLY);
        !           498: #endif
        !           499: 
        !           500: #ifdef SQLITE_OMIT_TRUNCATE_OPTIMIZATION
        !           501:   Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "0", TCL_GLOBAL_ONLY);
        !           502: #else
        !           503:   Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY);
        !           504: #endif
        !           505: 
        !           506: #ifdef SQLITE_OMIT_UTF16
        !           507:   Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY);
        !           508: #else
        !           509:   Tcl_SetVar2(interp, "sqlite_options", "utf16", "1", TCL_GLOBAL_ONLY);
        !           510: #endif
        !           511: 
        !           512: #if defined(SQLITE_OMIT_VACUUM) || defined(SQLITE_OMIT_ATTACH)
        !           513:   Tcl_SetVar2(interp, "sqlite_options", "vacuum", "0", TCL_GLOBAL_ONLY);
        !           514: #else
        !           515:   Tcl_SetVar2(interp, "sqlite_options", "vacuum", "1", TCL_GLOBAL_ONLY);
        !           516: #endif
        !           517: 
        !           518: #ifdef SQLITE_OMIT_VIEW
        !           519:   Tcl_SetVar2(interp, "sqlite_options", "view", "0", TCL_GLOBAL_ONLY);
        !           520: #else
        !           521:   Tcl_SetVar2(interp, "sqlite_options", "view", "1", TCL_GLOBAL_ONLY);
        !           522: #endif
        !           523: 
        !           524: #ifdef SQLITE_OMIT_VIRTUALTABLE
        !           525:   Tcl_SetVar2(interp, "sqlite_options", "vtab", "0", TCL_GLOBAL_ONLY);
        !           526: #else
        !           527:   Tcl_SetVar2(interp, "sqlite_options", "vtab", "1", TCL_GLOBAL_ONLY);
        !           528: #endif
        !           529: 
        !           530: #ifdef SQLITE_OMIT_WAL
        !           531:   Tcl_SetVar2(interp, "sqlite_options", "wal", "0", TCL_GLOBAL_ONLY);
        !           532: #else
        !           533:   Tcl_SetVar2(interp, "sqlite_options", "wal", "1", TCL_GLOBAL_ONLY);
        !           534: #endif
        !           535: 
        !           536: #ifdef SQLITE_OMIT_WSD
        !           537:   Tcl_SetVar2(interp, "sqlite_options", "wsd", "0", TCL_GLOBAL_ONLY);
        !           538: #else
        !           539:   Tcl_SetVar2(interp, "sqlite_options", "wsd", "1", TCL_GLOBAL_ONLY);
        !           540: #endif
        !           541: 
        !           542: #if defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) && !defined(SQLITE_OMIT_SUBQUERY)
        !           543:   Tcl_SetVar2(interp, "sqlite_options", "update_delete_limit", "1", TCL_GLOBAL_ONLY);
        !           544: #else
        !           545:   Tcl_SetVar2(interp, "sqlite_options", "update_delete_limit", "0", TCL_GLOBAL_ONLY);
        !           546: #endif
        !           547: 
        !           548: #if defined(SQLITE_ENABLE_UNLOCK_NOTIFY)
        !           549:   Tcl_SetVar2(interp, "sqlite_options", "unlock_notify", "1", TCL_GLOBAL_ONLY);
        !           550: #else
        !           551:   Tcl_SetVar2(interp, "sqlite_options", "unlock_notify", "0", TCL_GLOBAL_ONLY);
        !           552: #endif
        !           553: 
        !           554: #ifdef SQLITE_SECURE_DELETE
        !           555:   Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "1", TCL_GLOBAL_ONLY);
        !           556: #else
        !           557:   Tcl_SetVar2(interp, "sqlite_options", "secure_delete", "0", TCL_GLOBAL_ONLY);
        !           558: #endif
        !           559: 
        !           560: #ifdef SQLITE_MULTIPLEX_EXT_OVWR
        !           561:   Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "1", TCL_GLOBAL_ONLY);
        !           562: #else
        !           563:   Tcl_SetVar2(interp, "sqlite_options", "multiplex_ext_overwrite", "0", TCL_GLOBAL_ONLY);
        !           564: #endif
        !           565: 
        !           566: #ifdef YYTRACKMAXSTACKDEPTH
        !           567:   Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "1", TCL_GLOBAL_ONLY);
        !           568: #else
        !           569:   Tcl_SetVar2(interp, "sqlite_options", "yytrackmaxstackdepth", "0", TCL_GLOBAL_ONLY);
        !           570: #endif
        !           571: 
        !           572: #define LINKVAR(x) { \
        !           573:     static const int cv_ ## x = SQLITE_ ## x; \
        !           574:     Tcl_LinkVar(interp, "SQLITE_" #x, (char *)&(cv_ ## x), \
        !           575:                 TCL_LINK_INT | TCL_LINK_READ_ONLY); }
        !           576: 
        !           577:   LINKVAR( MAX_LENGTH );
        !           578:   LINKVAR( MAX_COLUMN );
        !           579:   LINKVAR( MAX_SQL_LENGTH );
        !           580:   LINKVAR( MAX_EXPR_DEPTH );
        !           581:   LINKVAR( MAX_COMPOUND_SELECT );
        !           582:   LINKVAR( MAX_VDBE_OP );
        !           583:   LINKVAR( MAX_FUNCTION_ARG );
        !           584:   LINKVAR( MAX_VARIABLE_NUMBER );
        !           585:   LINKVAR( MAX_PAGE_SIZE );
        !           586:   LINKVAR( MAX_PAGE_COUNT );
        !           587:   LINKVAR( MAX_LIKE_PATTERN_LENGTH );
        !           588:   LINKVAR( MAX_TRIGGER_DEPTH );
        !           589:   LINKVAR( DEFAULT_TEMP_CACHE_SIZE );
        !           590:   LINKVAR( DEFAULT_CACHE_SIZE );
        !           591:   LINKVAR( DEFAULT_PAGE_SIZE );
        !           592:   LINKVAR( DEFAULT_FILE_FORMAT );
        !           593:   LINKVAR( MAX_ATTACHED );
        !           594:   LINKVAR( MAX_DEFAULT_PAGE_SIZE );
        !           595: 
        !           596:   {
        !           597:     static const int cv_TEMP_STORE = SQLITE_TEMP_STORE;
        !           598:     Tcl_LinkVar(interp, "TEMP_STORE", (char *)&(cv_TEMP_STORE),
        !           599:                 TCL_LINK_INT | TCL_LINK_READ_ONLY);
        !           600:   }
        !           601: }
        !           602: 
        !           603: 
        !           604: /*
        !           605: ** Register commands with the TCL interpreter.
        !           606: */
        !           607: int Sqliteconfig_Init(Tcl_Interp *interp){
        !           608:   set_options(interp);
        !           609:   return TCL_OK;
        !           610: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>