1.1 --- a/extensions/sqlite/sqlite-source/sqliteLimit.h Fri Jul 11 06:51:21 2008 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,169 +0,0 @@
1.4 -/*
1.5 -** 2007 May 7
1.6 -**
1.7 -** The author disclaims copyright to this source code. In place of
1.8 -** a legal notice, here is a blessing:
1.9 -**
1.10 -** May you do good and not evil.
1.11 -** May you find forgiveness for yourself and forgive others.
1.12 -** May you share freely, never taking more than you give.
1.13 -**
1.14 -*************************************************************************
1.15 -**
1.16 -** This file defines various limits of what SQLite can process.
1.17 -**
1.18 -** @(#) $Id$
1.19 -*/
1.20 -
1.21 -/*
1.22 -** The maximum length of a TEXT or BLOB in bytes. This also
1.23 -** limits the size of a row in a table or index.
1.24 -**
1.25 -** The hard limit is the ability of a 32-bit signed integer
1.26 -** to count the size: 2^31-1 or 2147483647.
1.27 -*/
1.28 -#ifndef SQLITE_MAX_LENGTH
1.29 -# define SQLITE_MAX_LENGTH 1000000000
1.30 -#endif
1.31 -
1.32 -/*
1.33 -** This is the maximum number of
1.34 -**
1.35 -** * Columns in a table
1.36 -** * Columns in an index
1.37 -** * Columns in a view
1.38 -** * Terms in the SET clause of an UPDATE statement
1.39 -** * Terms in the result set of a SELECT statement
1.40 -** * Terms in the GROUP BY or ORDER BY clauses of a SELECT statement.
1.41 -** * Terms in the VALUES clause of an INSERT statement
1.42 -**
1.43 -** The hard upper limit here is 32676. Most database people will
1.44 -** tell you that in a well-normalized database, you usually should
1.45 -** not have more than a dozen or so columns in any table. And if
1.46 -** that is the case, there is no point in having more than a few
1.47 -** dozen values in any of the other situations described above.
1.48 -*/
1.49 -#ifndef SQLITE_MAX_COLUMN
1.50 -# define SQLITE_MAX_COLUMN 2000
1.51 -#endif
1.52 -
1.53 -/*
1.54 -** The maximum length of a single SQL statement in bytes.
1.55 -** The hard limit here is the same as SQLITE_MAX_LENGTH.
1.56 -*/
1.57 -#ifndef SQLITE_MAX_SQL_LENGTH
1.58 -# define SQLITE_MAX_SQL_LENGTH 1000000
1.59 -#endif
1.60 -
1.61 -/*
1.62 -** The maximum depth of an expression tree. This is limited to
1.63 -** some extent by SQLITE_MAX_SQL_LENGTH. But sometime you might
1.64 -** want to place more severe limits on the complexity of an
1.65 -** expression. A value of 0 (the default) means do not enforce
1.66 -** any limitation on expression tree depth.
1.67 -*/
1.68 -#ifndef SQLITE_MAX_EXPR_DEPTH
1.69 -# define SQLITE_MAX_EXPR_DEPTH 1000
1.70 -#endif
1.71 -
1.72 -/*
1.73 -** The maximum number of terms in a compound SELECT statement.
1.74 -** The code generator for compound SELECT statements does one
1.75 -** level of recursion for each term. A stack overflow can result
1.76 -** if the number of terms is too large. In practice, most SQL
1.77 -** never has more than 3 or 4 terms. Use a value of 0 to disable
1.78 -** any limit on the number of terms in a compount SELECT.
1.79 -*/
1.80 -#ifndef SQLITE_MAX_COMPOUND_SELECT
1.81 -# define SQLITE_MAX_COMPOUND_SELECT 500
1.82 -#endif
1.83 -
1.84 -/*
1.85 -** The maximum number of opcodes in a VDBE program.
1.86 -** Not currently enforced.
1.87 -*/
1.88 -#ifndef SQLITE_MAX_VDBE_OP
1.89 -# define SQLITE_MAX_VDBE_OP 25000
1.90 -#endif
1.91 -
1.92 -/*
1.93 -** The maximum number of arguments to an SQL function.
1.94 -*/
1.95 -#ifndef SQLITE_MAX_FUNCTION_ARG
1.96 -# define SQLITE_MAX_FUNCTION_ARG 100
1.97 -#endif
1.98 -
1.99 -/*
1.100 -** The maximum number of in-memory pages to use for the main database
1.101 -** table and for temporary tables. The SQLITE_DEFAULT_CACHE_SIZE
1.102 -*/
1.103 -#ifndef SQLITE_DEFAULT_CACHE_SIZE
1.104 -# define SQLITE_DEFAULT_CACHE_SIZE 2000
1.105 -#endif
1.106 -#ifndef SQLITE_DEFAULT_TEMP_CACHE_SIZE
1.107 -# define SQLITE_DEFAULT_TEMP_CACHE_SIZE 500
1.108 -#endif
1.109 -
1.110 -/*
1.111 -** The maximum number of attached databases. This must be at least 2
1.112 -** in order to support the main database file (0) and the file used to
1.113 -** hold temporary tables (1). And it must be less than 32 because
1.114 -** we use a bitmask of databases with a u32 in places (for example
1.115 -** the Parse.cookieMask field).
1.116 -*/
1.117 -#ifndef SQLITE_MAX_ATTACHED
1.118 -# define SQLITE_MAX_ATTACHED 10
1.119 -#endif
1.120 -
1.121 -
1.122 -/*
1.123 -** The maximum value of a ?nnn wildcard that the parser will accept.
1.124 -*/
1.125 -#ifndef SQLITE_MAX_VARIABLE_NUMBER
1.126 -# define SQLITE_MAX_VARIABLE_NUMBER 999
1.127 -#endif
1.128 -
1.129 -/*
1.130 -** The default size of a database page.
1.131 -*/
1.132 -#ifndef SQLITE_DEFAULT_PAGE_SIZE
1.133 -# define SQLITE_DEFAULT_PAGE_SIZE 1024
1.134 -#endif
1.135 -
1.136 -/*
1.137 -** Ordinarily, if no value is explicitly provided, SQLite creates databases
1.138 -** with page size SQLITE_DEFAULT_PAGE_SIZE. However, based on certain
1.139 -** device characteristics (sector-size and atomic write() support),
1.140 -** SQLite may choose a larger value. This constant is the maximum value
1.141 -** SQLite will choose on it's own.
1.142 -*/
1.143 -#ifndef SQLITE_MAX_DEFAULT_PAGE_SIZE
1.144 -# define SQLITE_MAX_DEFAULT_PAGE_SIZE 8192
1.145 -#endif
1.146 -
1.147 -/* Maximum page size. The upper bound on this value is 32768. This a limit
1.148 -** imposed by the necessity of storing the value in a 2-byte unsigned integer
1.149 -** and the fact that the page size must be a power of 2.
1.150 -*/
1.151 -#ifndef SQLITE_MAX_PAGE_SIZE
1.152 -# define SQLITE_MAX_PAGE_SIZE 32768
1.153 -#endif
1.154 -
1.155 -/*
1.156 -** Maximum number of pages in one database file.
1.157 -**
1.158 -** This is really just the default value for the max_page_count pragma.
1.159 -** This value can be lowered (or raised) at run-time using that the
1.160 -** max_page_count macro.
1.161 -*/
1.162 -#ifndef SQLITE_MAX_PAGE_COUNT
1.163 -# define SQLITE_MAX_PAGE_COUNT 1073741823
1.164 -#endif
1.165 -
1.166 -/*
1.167 -** Maximum length (in bytes) of the pattern in a LIKE or GLOB
1.168 -** operator.
1.169 -*/
1.170 -#ifndef SQLITE_MAX_LIKE_PATTERN_LENGTH
1.171 -# define SQLITE_MAX_LIKE_PATTERN_LENGTH 50000
1.172 -#endif