xref: /sqlite-3.40.0/src/test_config.c (revision 5665b3ea)
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 ** $Id: test_config.c,v 1.6 2007/06/07 10:55:36 drh Exp $
20 */
21 #include "sqliteInt.h"
22 #include "tcl.h"
23 #include "os.h"
24 #include <stdlib.h>
25 #include <string.h>
26 
27 /*
28 ** This routine sets entries in the global ::sqlite_options() array variable
29 ** according to the compile-time configuration of the database.  Test
30 ** procedures use this to determine when tests should be omitted.
31 */
32 static void set_options(Tcl_Interp *interp){
33 #ifdef SQLITE_32BIT_ROWID
34   Tcl_SetVar2(interp, "sqlite_options", "rowid32", "1", TCL_GLOBAL_ONLY);
35 #else
36   Tcl_SetVar2(interp, "sqlite_options", "rowid32", "0", TCL_GLOBAL_ONLY);
37 #endif
38 
39 #ifdef SQLITE_CASE_SENSITIVE_LIKE
40   Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","1",TCL_GLOBAL_ONLY);
41 #else
42   Tcl_SetVar2(interp, "sqlite_options","casesensitivelike","0",TCL_GLOBAL_ONLY);
43 #endif
44 
45 #ifdef SQLITE_DEBUG
46   Tcl_SetVar2(interp, "sqlite_options", "debug", "1", TCL_GLOBAL_ONLY);
47 #else
48   Tcl_SetVar2(interp, "sqlite_options", "debug", "0", TCL_GLOBAL_ONLY);
49 #endif
50 
51 #ifdef SQLITE_DISABLE_DIRSYNC
52   Tcl_SetVar2(interp, "sqlite_options", "dirsync", "0", TCL_GLOBAL_ONLY);
53 #else
54   Tcl_SetVar2(interp, "sqlite_options", "dirsync", "1", TCL_GLOBAL_ONLY);
55 #endif
56 
57 #ifdef SQLITE_DISABLE_LFS
58   Tcl_SetVar2(interp, "sqlite_options", "lfs", "0", TCL_GLOBAL_ONLY);
59 #else
60   Tcl_SetVar2(interp, "sqlite_options", "lfs", "1", TCL_GLOBAL_ONLY);
61 #endif
62 
63 #ifdef SQLITE_OMIT_ALTERTABLE
64   Tcl_SetVar2(interp, "sqlite_options", "altertable", "0", TCL_GLOBAL_ONLY);
65 #else
66   Tcl_SetVar2(interp, "sqlite_options", "altertable", "1", TCL_GLOBAL_ONLY);
67 #endif
68 
69 #ifdef SQLITE_OMIT_ANALYZE
70   Tcl_SetVar2(interp, "sqlite_options", "analyze", "0", TCL_GLOBAL_ONLY);
71 #else
72   Tcl_SetVar2(interp, "sqlite_options", "analyze", "1", TCL_GLOBAL_ONLY);
73 #endif
74 
75 #ifdef SQLITE_OMIT_ATTACH
76   Tcl_SetVar2(interp, "sqlite_options", "attach", "0", TCL_GLOBAL_ONLY);
77 #else
78   Tcl_SetVar2(interp, "sqlite_options", "attach", "1", TCL_GLOBAL_ONLY);
79 #endif
80 
81 #ifdef SQLITE_OMIT_AUTHORIZATION
82   Tcl_SetVar2(interp, "sqlite_options", "auth", "0", TCL_GLOBAL_ONLY);
83 #else
84   Tcl_SetVar2(interp, "sqlite_options", "auth", "1", TCL_GLOBAL_ONLY);
85 #endif
86 
87 #ifdef SQLITE_OMIT_AUTOINCREMENT
88   Tcl_SetVar2(interp, "sqlite_options", "autoinc", "0", TCL_GLOBAL_ONLY);
89 #else
90   Tcl_SetVar2(interp, "sqlite_options", "autoinc", "1", TCL_GLOBAL_ONLY);
91 #endif
92 
93 #ifdef SQLITE_OMIT_AUTOVACUUM
94   Tcl_SetVar2(interp, "sqlite_options", "autovacuum", "0", TCL_GLOBAL_ONLY);
95 #else
96   Tcl_SetVar2(interp, "sqlite_options", "autovacuum", "1", TCL_GLOBAL_ONLY);
97 #endif /* SQLITE_OMIT_AUTOVACUUM */
98 #if !defined(SQLITE_DEFAULT_AUTOVACUUM) || SQLITE_DEFAULT_AUTOVACUUM==0
99   Tcl_SetVar2(interp,"sqlite_options","default_autovacuum","0",TCL_GLOBAL_ONLY);
100 #else
101   Tcl_SetVar2(interp,"sqlite_options","default_autovacuum","1",TCL_GLOBAL_ONLY);
102 #endif
103 
104 #ifdef SQLITE_OMIT_BETWEEN_OPTIMIZATION
105   Tcl_SetVar2(interp, "sqlite_options", "between_opt", "0", TCL_GLOBAL_ONLY);
106 #else
107   Tcl_SetVar2(interp, "sqlite_options", "between_opt", "1", TCL_GLOBAL_ONLY);
108 #endif
109 
110 #ifdef SQLITE_OMIT_BLOB_LITERAL
111   Tcl_SetVar2(interp, "sqlite_options", "bloblit", "0", TCL_GLOBAL_ONLY);
112 #else
113   Tcl_SetVar2(interp, "sqlite_options", "bloblit", "1", TCL_GLOBAL_ONLY);
114 #endif
115 
116 #ifdef SQLITE_OMIT_CAST
117   Tcl_SetVar2(interp, "sqlite_options", "cast", "0", TCL_GLOBAL_ONLY);
118 #else
119   Tcl_SetVar2(interp, "sqlite_options", "cast", "1", TCL_GLOBAL_ONLY);
120 #endif
121 
122 #ifdef SQLITE_OMIT_CHECK
123   Tcl_SetVar2(interp, "sqlite_options", "check", "0", TCL_GLOBAL_ONLY);
124 #else
125   Tcl_SetVar2(interp, "sqlite_options", "check", "1", TCL_GLOBAL_ONLY);
126 #endif
127 
128 #ifdef SQLITE_ENABLE_COLUMN_METADATA
129   Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "1", TCL_GLOBAL_ONLY);
130 #else
131   Tcl_SetVar2(interp, "sqlite_options", "columnmetadata", "0", TCL_GLOBAL_ONLY);
132 #endif
133 
134 #ifdef SQLITE_OMIT_COMPLETE
135   Tcl_SetVar2(interp, "sqlite_options", "complete", "0", TCL_GLOBAL_ONLY);
136 #else
137   Tcl_SetVar2(interp, "sqlite_options", "complete", "1", TCL_GLOBAL_ONLY);
138 #endif
139 
140 #ifdef SQLITE_OMIT_COMPOUND_SELECT
141   Tcl_SetVar2(interp, "sqlite_options", "compound", "0", TCL_GLOBAL_ONLY);
142 #else
143   Tcl_SetVar2(interp, "sqlite_options", "compound", "1", TCL_GLOBAL_ONLY);
144 #endif
145 
146 #ifdef SQLITE_OMIT_CONFLICT_CLAUSE
147   Tcl_SetVar2(interp, "sqlite_options", "conflict", "0", TCL_GLOBAL_ONLY);
148 #else
149   Tcl_SetVar2(interp, "sqlite_options", "conflict", "1", TCL_GLOBAL_ONLY);
150 #endif
151 
152 #if OS_UNIX
153   Tcl_SetVar2(interp, "sqlite_options", "crashtest", "1", TCL_GLOBAL_ONLY);
154 #else
155   Tcl_SetVar2(interp, "sqlite_options", "crashtest", "0", TCL_GLOBAL_ONLY);
156 #endif
157 
158 #ifdef SQLITE_OMIT_DATETIME_FUNCS
159   Tcl_SetVar2(interp, "sqlite_options", "datetime", "0", TCL_GLOBAL_ONLY);
160 #else
161   Tcl_SetVar2(interp, "sqlite_options", "datetime", "1", TCL_GLOBAL_ONLY);
162 #endif
163 
164 #ifdef SQLITE_OMIT_DISKIO
165   Tcl_SetVar2(interp, "sqlite_options", "diskio", "0", TCL_GLOBAL_ONLY);
166 #else
167   Tcl_SetVar2(interp, "sqlite_options", "diskio", "1", TCL_GLOBAL_ONLY);
168 #endif
169 
170 #ifdef SQLITE_OMIT_EXPLAIN
171   Tcl_SetVar2(interp, "sqlite_options", "explain", "0", TCL_GLOBAL_ONLY);
172 #else
173   Tcl_SetVar2(interp, "sqlite_options", "explain", "1", TCL_GLOBAL_ONLY);
174 #endif
175 
176 #ifdef SQLITE_OMIT_FLOATING_POINT
177   Tcl_SetVar2(interp, "sqlite_options", "floatingpoint", "0", TCL_GLOBAL_ONLY);
178 #else
179   Tcl_SetVar2(interp, "sqlite_options", "floatingpoint", "1", TCL_GLOBAL_ONLY);
180 #endif
181 
182 #ifdef SQLITE_OMIT_FOREIGN_KEY
183   Tcl_SetVar2(interp, "sqlite_options", "foreignkey", "0", TCL_GLOBAL_ONLY);
184 #else
185   Tcl_SetVar2(interp, "sqlite_options", "foreignkey", "1", TCL_GLOBAL_ONLY);
186 #endif
187 
188 #ifdef SQLITE_ENABLE_FTS1
189   Tcl_SetVar2(interp, "sqlite_options", "fts1", "1", TCL_GLOBAL_ONLY);
190 #else
191   Tcl_SetVar2(interp, "sqlite_options", "fts1", "0", TCL_GLOBAL_ONLY);
192 #endif
193 
194 #ifdef SQLITE_ENABLE_FTS2
195   Tcl_SetVar2(interp, "sqlite_options", "fts2", "1", TCL_GLOBAL_ONLY);
196 #else
197   Tcl_SetVar2(interp, "sqlite_options", "fts2", "0", TCL_GLOBAL_ONLY);
198 #endif
199 
200 #ifdef SQLITE_OMIT_GLOBALRECOVER
201   Tcl_SetVar2(interp, "sqlite_options", "globalrecover", "0", TCL_GLOBAL_ONLY);
202 #else
203   Tcl_SetVar2(interp, "sqlite_options", "globalrecover", "1", TCL_GLOBAL_ONLY);
204 #endif
205 
206 #ifdef SQLITE_ENABLE_ICU
207   Tcl_SetVar2(interp, "sqlite_options", "icu", "1", TCL_GLOBAL_ONLY);
208 #else
209   Tcl_SetVar2(interp, "sqlite_options", "icu", "0", TCL_GLOBAL_ONLY);
210 #endif
211 
212 #ifdef SQLITE_OMIT_INCRBLOB
213   Tcl_SetVar2(interp, "sqlite_options", "incrblob", "0", TCL_GLOBAL_ONLY);
214 #else
215   Tcl_SetVar2(interp, "sqlite_options", "incrblob", "1", TCL_GLOBAL_ONLY);
216 #endif /* SQLITE_OMIT_AUTOVACUUM */
217 
218 #ifdef SQLITE_OMIT_INTEGRITY_CHECK
219   Tcl_SetVar2(interp, "sqlite_options", "integrityck", "0", TCL_GLOBAL_ONLY);
220 #else
221   Tcl_SetVar2(interp, "sqlite_options", "integrityck", "1", TCL_GLOBAL_ONLY);
222 #endif
223 
224 #if defined(SQLITE_DEFAULT_FILE_FORMAT) && SQLITE_DEFAULT_FILE_FORMAT==1
225   Tcl_SetVar2(interp, "sqlite_options", "legacyformat", "1", TCL_GLOBAL_ONLY);
226 #else
227   Tcl_SetVar2(interp, "sqlite_options", "legacyformat", "0", TCL_GLOBAL_ONLY);
228 #endif
229 
230 #ifdef SQLITE_OMIT_LIKE_OPTIMIZATION
231   Tcl_SetVar2(interp, "sqlite_options", "like_opt", "0", TCL_GLOBAL_ONLY);
232 #else
233   Tcl_SetVar2(interp, "sqlite_options", "like_opt", "1", TCL_GLOBAL_ONLY);
234 #endif
235 
236 #ifdef SQLITE_OMIT_LOAD_EXTENSION
237   Tcl_SetVar2(interp, "sqlite_options", "load_ext", "0", TCL_GLOBAL_ONLY);
238 #else
239   Tcl_SetVar2(interp, "sqlite_options", "load_ext", "1", TCL_GLOBAL_ONLY);
240 #endif
241 
242 #ifdef SQLITE_OMIT_MEMORYDB
243   Tcl_SetVar2(interp, "sqlite_options", "memorydb", "0", TCL_GLOBAL_ONLY);
244 #else
245   Tcl_SetVar2(interp, "sqlite_options", "memorydb", "1", TCL_GLOBAL_ONLY);
246 #endif
247 
248 #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT
249   Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "1", TCL_GLOBAL_ONLY);
250 #else
251   Tcl_SetVar2(interp, "sqlite_options", "memorymanage", "0", TCL_GLOBAL_ONLY);
252 #endif
253 
254 #ifdef SQLITE_OMIT_OR_OPTIMIZATION
255   Tcl_SetVar2(interp, "sqlite_options", "or_opt", "0", TCL_GLOBAL_ONLY);
256 #else
257   Tcl_SetVar2(interp, "sqlite_options", "or_opt", "1", TCL_GLOBAL_ONLY);
258 #endif
259 
260 #ifdef SQLITE_OMIT_PAGER_PRAGMAS
261   Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "0", TCL_GLOBAL_ONLY);
262 #else
263   Tcl_SetVar2(interp, "sqlite_options", "pager_pragmas", "1", TCL_GLOBAL_ONLY);
264 #endif
265 
266 #ifdef SQLITE_OMIT_PARSER
267   Tcl_SetVar2(interp, "sqlite_options", "parser", "0", TCL_GLOBAL_ONLY);
268 #else
269   Tcl_SetVar2(interp, "sqlite_options", "parser", "1", TCL_GLOBAL_ONLY);
270 #endif
271 
272 #if defined(SQLITE_OMIT_PRAGMA) || defined(SQLITE_OMIT_FLAG_PRAGMAS)
273   Tcl_SetVar2(interp, "sqlite_options", "pragma", "0", TCL_GLOBAL_ONLY);
274   Tcl_SetVar2(interp, "sqlite_options", "integrityck", "0", TCL_GLOBAL_ONLY);
275 #else
276   Tcl_SetVar2(interp, "sqlite_options", "pragma", "1", TCL_GLOBAL_ONLY);
277 #endif
278 
279 #ifdef SQLITE_OMIT_PROGRESS_CALLBACK
280   Tcl_SetVar2(interp, "sqlite_options", "progress", "0", TCL_GLOBAL_ONLY);
281 #else
282   Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY);
283 #endif
284 
285 #ifdef SQLITE_ENABLE_REDEF_IO
286   Tcl_SetVar2(interp, "sqlite_options", "redefio", "1", TCL_GLOBAL_ONLY);
287 #else
288   Tcl_SetVar2(interp, "sqlite_options", "redefio", "0", TCL_GLOBAL_ONLY);
289 #endif
290 
291 #ifdef SQLITE_OMIT_REINDEX
292   Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY);
293 #else
294   Tcl_SetVar2(interp, "sqlite_options", "reindex", "1", TCL_GLOBAL_ONLY);
295 #endif
296 
297 #ifdef SQLITE_OMIT_SCHEMA_PRAGMAS
298   Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "0", TCL_GLOBAL_ONLY);
299 #else
300   Tcl_SetVar2(interp, "sqlite_options", "schema_pragmas", "1", TCL_GLOBAL_ONLY);
301 #endif
302 
303 #ifdef SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS
304   Tcl_SetVar2(interp, "sqlite_options", "schema_version", "0", TCL_GLOBAL_ONLY);
305 #else
306   Tcl_SetVar2(interp, "sqlite_options", "schema_version", "1", TCL_GLOBAL_ONLY);
307 #endif
308 
309 #ifdef SQLITE_OMIT_SHARED_CACHE
310   Tcl_SetVar2(interp, "sqlite_options", "shared_cache", "0", TCL_GLOBAL_ONLY);
311 #else
312   Tcl_SetVar2(interp, "sqlite_options", "shared_cache", "1", TCL_GLOBAL_ONLY);
313 #endif
314 
315 #ifdef SQLITE_OMIT_SUBQUERY
316   Tcl_SetVar2(interp, "sqlite_options", "subquery", "0", TCL_GLOBAL_ONLY);
317 #else
318   Tcl_SetVar2(interp, "sqlite_options", "subquery", "1", TCL_GLOBAL_ONLY);
319 #endif
320 
321 #ifdef SQLITE_OMIT_TCL_VARIABLE
322   Tcl_SetVar2(interp, "sqlite_options", "tclvar", "0", TCL_GLOBAL_ONLY);
323 #else
324   Tcl_SetVar2(interp, "sqlite_options", "tclvar", "1", TCL_GLOBAL_ONLY);
325 #endif
326 
327 #if defined(THREADSAFE) && THREADSAFE
328   Tcl_SetVar2(interp, "sqlite_options", "threadsafe", "1", TCL_GLOBAL_ONLY);
329 #else
330   Tcl_SetVar2(interp, "sqlite_options", "threadsafe", "0", TCL_GLOBAL_ONLY);
331 #endif
332 
333 #ifdef SQLITE_OMIT_TRACE
334   Tcl_SetVar2(interp, "sqlite_options", "trace", "0", TCL_GLOBAL_ONLY);
335 #else
336   Tcl_SetVar2(interp, "sqlite_options", "trace", "1", TCL_GLOBAL_ONLY);
337 #endif
338 
339 #ifdef SQLITE_OMIT_TRIGGER
340   Tcl_SetVar2(interp, "sqlite_options", "trigger", "0", TCL_GLOBAL_ONLY);
341 #else
342   Tcl_SetVar2(interp, "sqlite_options", "trigger", "1", TCL_GLOBAL_ONLY);
343 #endif
344 
345 #ifdef SQLITE_OMIT_TEMPDB
346   Tcl_SetVar2(interp, "sqlite_options", "tempdb", "0", TCL_GLOBAL_ONLY);
347 #else
348   Tcl_SetVar2(interp, "sqlite_options", "tempdb", "1", TCL_GLOBAL_ONLY);
349 #endif
350 
351 #ifdef SQLITE_OMIT_UTF16
352   Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY);
353 #else
354   Tcl_SetVar2(interp, "sqlite_options", "utf16", "1", TCL_GLOBAL_ONLY);
355 #endif
356 
357 #if defined(SQLITE_OMIT_VACUUM) || defined(SQLITE_OMIT_ATTACH)
358   Tcl_SetVar2(interp, "sqlite_options", "vacuum", "0", TCL_GLOBAL_ONLY);
359 #else
360   Tcl_SetVar2(interp, "sqlite_options", "vacuum", "1", TCL_GLOBAL_ONLY);
361 #endif
362 
363 #ifdef SQLITE_OMIT_VIEW
364   Tcl_SetVar2(interp, "sqlite_options", "view", "0", TCL_GLOBAL_ONLY);
365 #else
366   Tcl_SetVar2(interp, "sqlite_options", "view", "1", TCL_GLOBAL_ONLY);
367 #endif
368 
369 #ifdef SQLITE_OMIT_VIRTUALTABLE
370   Tcl_SetVar2(interp, "sqlite_options", "vtab", "0", TCL_GLOBAL_ONLY);
371 #else
372   Tcl_SetVar2(interp, "sqlite_options", "vtab", "1", TCL_GLOBAL_ONLY);
373 #endif
374 
375   {
376     static int sqlite_max_length = SQLITE_MAX_LENGTH;
377     Tcl_LinkVar(interp, "SQLITE_MAX_LENGTH",
378            (char*)&sqlite_max_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
379   }
380   {
381     static int sqlite_max_column = SQLITE_MAX_COLUMN;
382     Tcl_LinkVar(interp, "SQLITE_MAX_COLUMN",
383            (char*)&sqlite_max_column, TCL_LINK_INT|TCL_LINK_READ_ONLY);
384   }
385   {
386     static int sqlite_max_sql_length = SQLITE_MAX_SQL_LENGTH;
387     Tcl_LinkVar(interp, "SQLITE_MAX_SQL_LENGTH",
388            (char*)&sqlite_max_sql_length, TCL_LINK_INT|TCL_LINK_READ_ONLY);
389   }
390   {
391     static int sqlite_max_expr_depth = SQLITE_MAX_EXPR_DEPTH;
392     Tcl_LinkVar(interp, "SQLITE_MAX_EXPR_DEPTH",
393            (char*)&sqlite_max_expr_depth, TCL_LINK_INT|TCL_LINK_READ_ONLY);
394   }
395   {
396     static int sqlite_max_compound_select = SQLITE_MAX_COMPOUND_SELECT;
397     Tcl_LinkVar(interp, "SQLITE_MAX_COMPOUND_SELECT",
398            (char*)&sqlite_max_compound_select, TCL_LINK_INT|TCL_LINK_READ_ONLY);
399   }
400   {
401     static int sqlite_max_vdbe_op = SQLITE_MAX_VDBE_OP;
402     Tcl_LinkVar(interp, "SQLITE_MAX_VDBE_OP",
403            (char*)&sqlite_max_vdbe_op, TCL_LINK_INT|TCL_LINK_READ_ONLY);
404   }
405   {
406     static int sqlite_max_function_arg = SQLITE_MAX_FUNCTION_ARG;
407     Tcl_LinkVar(interp, "SQLITE_MAX_FUNCTION_ARG",
408            (char*)&sqlite_max_function_arg, TCL_LINK_INT|TCL_LINK_READ_ONLY);
409   }
410   {
411     static int sqlite_default_temp_cache_size = SQLITE_DEFAULT_TEMP_CACHE_SIZE;
412     Tcl_LinkVar(interp, "SQLITE_DEFAULT_TEMP_CACHE_SIZE",
413            (char*)&sqlite_default_temp_cache_size,
414            TCL_LINK_INT|TCL_LINK_READ_ONLY);
415   }
416   {
417     static int sqlite_default_cache_size = SQLITE_DEFAULT_CACHE_SIZE;
418     Tcl_LinkVar(interp, "SQLITE_DEFAULT_CACHE_SIZE",
419            (char*)&sqlite_default_cache_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
420   }
421   {
422     static int sqlite_max_variable_number = SQLITE_MAX_VARIABLE_NUMBER;
423     Tcl_LinkVar(interp, "SQLITE_MAX_VARIABLE_NUMBER",
424            (char*)&sqlite_max_variable_number, TCL_LINK_INT|TCL_LINK_READ_ONLY);
425   }
426   {
427     static int sqlite_default_page_size = SQLITE_DEFAULT_PAGE_SIZE;
428     Tcl_LinkVar(interp, "SQLITE_DEFAULT_PAGE_SIZE",
429            (char*)&sqlite_default_page_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
430   }
431   {
432     static int sqlite_max_page_size = SQLITE_MAX_PAGE_SIZE;
433     Tcl_LinkVar(interp, "SQLITE_MAX_PAGE_SIZE",
434            (char*)&sqlite_max_page_size, TCL_LINK_INT|TCL_LINK_READ_ONLY);
435   }
436   {
437     static int sqlite_max_page_count = SQLITE_MAX_PAGE_COUNT;
438     Tcl_LinkVar(interp, "SQLITE_MAX_PAGE_COUNT",
439            (char*)&sqlite_max_page_count, TCL_LINK_INT|TCL_LINK_READ_ONLY);
440   }
441   {
442     static int temp_store = TEMP_STORE;
443     Tcl_LinkVar(interp, "TEMP_STORE",
444            (char*)&temp_store, TCL_LINK_INT|TCL_LINK_READ_ONLY);
445   }
446   {
447     static int sqlite_default_file_format = SQLITE_DEFAULT_FILE_FORMAT;
448     Tcl_LinkVar(interp, "SQLITE_DEFAULT_FILE_FORMAT",
449            (char*)&sqlite_default_file_format, TCL_LINK_INT|TCL_LINK_READ_ONLY);
450   }
451   {
452     static int sqlite_max_like_pattern = SQLITE_MAX_LIKE_PATTERN_LENGTH;
453     Tcl_LinkVar(interp, "SQLITE_MAX_LIKE_PATTERN_LENGTH",
454            (char*)&sqlite_max_like_pattern, TCL_LINK_INT|TCL_LINK_READ_ONLY);
455   }
456   {
457     static int sqlite_max_attached = SQLITE_MAX_ATTACHED;
458     Tcl_LinkVar(interp, "SQLITE_MAX_ATTACHED",
459            (char*)&sqlite_max_attached, TCL_LINK_INT|TCL_LINK_READ_ONLY);
460   }
461 }
462 
463 
464 /*
465 ** Register commands with the TCL interpreter.
466 */
467 int Sqliteconfig_Init(Tcl_Interp *interp){
468   set_options(interp);
469   return TCL_OK;
470 }
471