blob: 757b75a5c871182b238ac97d6e2c54dfe7aed046 [file] [log] [blame]
drh40257ff2008-06-13 18:24:27 +00001/*
2** 2008 June 13
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 definitions of global variables and contants.
14**
drh1875f7a2008-12-08 18:19:17 +000015** $Id: global.c,v 1.9 2008/12/08 18:19:18 drh Exp $
drh40257ff2008-06-13 18:24:27 +000016*/
17#include "sqliteInt.h"
18
19
20/* An array to map all upper-case characters into their corresponding
21** lower-case character.
22**
23** SQLite only considers US-ASCII (or EBCDIC) characters. We do not
24** handle case conversions for the UTF character set since the tables
25** involved are nearly as big or bigger than SQLite itself.
26*/
27const unsigned char sqlite3UpperToLower[] = {
28#ifdef SQLITE_ASCII
29 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
30 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
31 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
32 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 97, 98, 99,100,101,102,103,
33 104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,
34 122, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102,103,104,105,106,107,
35 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,
36 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
37 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,
38 162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,
39 180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,
40 198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,
41 216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,
42 234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,
43 252,253,254,255
44#endif
45#ifdef SQLITE_EBCDIC
46 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, /* 0x */
47 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, /* 1x */
48 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, /* 2x */
49 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, /* 3x */
50 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, /* 4x */
51 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, /* 5x */
52 96, 97, 66, 67, 68, 69, 70, 71, 72, 73,106,107,108,109,110,111, /* 6x */
53 112, 81, 82, 83, 84, 85, 86, 87, 88, 89,122,123,124,125,126,127, /* 7x */
54 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, /* 8x */
55 144,145,146,147,148,149,150,151,152,153,154,155,156,157,156,159, /* 9x */
56 160,161,162,163,164,165,166,167,168,169,170,171,140,141,142,175, /* Ax */
57 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, /* Bx */
58 192,129,130,131,132,133,134,135,136,137,202,203,204,205,206,207, /* Cx */
59 208,145,146,147,148,149,150,151,152,153,218,219,220,221,222,223, /* Dx */
60 224,225,162,163,164,165,166,167,168,169,232,203,204,205,206,207, /* Ex */
61 239,240,241,242,243,244,245,246,247,248,249,219,220,221,222,255, /* Fx */
62#endif
63};
64
65/*
66** The following singleton contains the global configuration for
67** the SQLite library.
68*/
danielk1977075c23a2008-09-01 18:34:20 +000069SQLITE_WSD struct Sqlite3Config sqlite3Config = {
danielk19770a732f52008-09-04 17:17:38 +000070 SQLITE_DEFAULT_MEMSTATUS, /* bMemstat */
71 1, /* bCoreMutex */
72 SQLITE_THREADSAFE==1, /* bFullMutex */
73 0x7ffffffe, /* mxStrlen */
74 100, /* szLookaside */
75 500, /* nLookaside */
drh1875f7a2008-12-08 18:19:17 +000076 {0,0,0,0,0,0,0,0}, /* m */
77 {0,0,0,0,0,0,0,0,0}, /* mutex */
78 {0,0,0,0,0,0,0,0,0,0,0}, /* pcache */
79 (void*)0, /* pHeap */
80 0, /* nHeap */
81 0, 0, /* mnHeap, mxHeap */
82 (void*)0, /* pScratch */
83 0, /* szScratch */
84 0, /* nScratch */
85 (void*)0, /* pPage */
86 0, /* szPage */
87 0, /* nPage */
88 0, /* mxParserStack */
89 0, /* sharedCacheEnabled */
90 /* All the rest need to always be zero */
91 0, /* isInit */
92 0, /* inProgress */
93 0, /* isMallocInit */
94 0, /* pInitMutex */
95 0, /* nRefInitMutex */
drh633e6d52008-07-28 19:34:53 +000096};
drh70a8ca32008-08-21 18:49:27 +000097
98
99/*
100** Hash table for global functions - functions common to all
101** database connections. After initialization, this table is
102** read-only.
103*/
danielk1977075c23a2008-09-01 18:34:20 +0000104SQLITE_WSD FuncDefHash sqlite3GlobalFunctions;