blob: 2f0782e3fad51c337da160e02e716cdfac84fcb7 [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**
drh70a8ca32008-08-21 18:49:27 +000015** $Id: global.c,v 1.5 2008/08/21 18:49:28 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*/
drh633e6d52008-07-28 19:34:53 +000069struct Sqlite3Config sqlite3Config = {
70 1, /* bMemstat */
71 1, /* bCoreMutex */
72 1, /* bFullMutex */
73 0x7ffffffe, /* mxStrlen */
74 100, /* szLookaside */
75 500, /* nLookaside */
76 /* Other fields all default to zero */
77};
drh70a8ca32008-08-21 18:49:27 +000078
79
80/*
81** Hash table for global functions - functions common to all
82** database connections. After initialization, this table is
83** read-only.
84*/
85FuncDefHash sqlite3FuncBuiltins;