Interface ISqlJetLimits
- All Known Implementing Classes:
SqlJetPager
public interface ISqlJetLimits
This file defines various limits of what SqlJet can process.
- Author:
- TMate Software Ltd., Sergey Scherbina (sergey.scherbina@gmail.com)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The maximum number of in-memory pages to use for the main database table and for temporary tables.static final int
The default size of a database page.static final int
static final int
The maximum number of attached databases.static final int
This is the maximum number of * Columns in a table * Columns in an index * Columns in a view * Terms in the SET clause of an UPDATE statement * Terms in the result set of a SELECT statement * Terms in the GROUP BY or ORDER BY clauses of a SELECT statement.static final int
The maximum number of terms in a compound SELECT statement.static final int
Ordinarily, if no value is explicitly provided, SqlJet creates databases with page size SQLJET_DEFAULT_PAGE_SIZE.static final int
The maximum depth of an expression tree.static final int
static final int
The maximum number of arguments to an SQL function.static final int
The maximum length of a TEXT or BLOB in bytes.static final int
Maximum length (in bytes) of the pattern in a LIKE or GLOB operator.static final int
Maximum number of pages in one database file.static final int
Maximum page size.static final int
The maximum length of a single SQL statement in bytes.static final int
The maximum value of a ?nnn wildcard that the parser will accept.static final int
The maximum number of opcodes in a VDBE program.static final int
static final int
-
Field Details
-
SQLJET_MAX_LENGTH
static final int SQLJET_MAX_LENGTHThe maximum length of a TEXT or BLOB in bytes. This also limits the size of a row in a table or index. The hard limit is the ability of a 32-bit signed integer to count the size: 2^31-1 or 2147483647.- See Also:
-
SQLJET_MAX_COLUMN
static final int SQLJET_MAX_COLUMNThis is the maximum number of * Columns in a table * Columns in an index * Columns in a view * Terms in the SET clause of an UPDATE statement * Terms in the result set of a SELECT statement * Terms in the GROUP BY or ORDER BY clauses of a SELECT statement. * Terms in the VALUES clause of an INSERT statement The hard upper limit here is 32676. Most database people will tell you that in a well-normalized database, you usually should not have more than a dozen or so columns in any table. And if that is the case, there is no point in having more than a few dozen values in any of the other situations described above.- See Also:
-
SQLJET_MAX_SQL_LENGTH
static final int SQLJET_MAX_SQL_LENGTHThe maximum length of a single SQL statement in bytes. It used to be the case that setting this value to zero would turn the limit off. That is no longer true. It is not possible to turn this limit off.- See Also:
-
SQLJET_MAX_EXPR_DEPTH
static final int SQLJET_MAX_EXPR_DEPTHThe maximum depth of an expression tree. This is limited to some extent by SqlJet_MAX_SQL_LENGTH. But sometime you might want to place more severe limits on the complexity of an expression. A value of 0 used to mean that the limit was not enforced. But that is no longer true. The limit is now strictly enforced at all times.- See Also:
-
SQLJET_MAX_COMPOUND_SELECT
static final int SQLJET_MAX_COMPOUND_SELECTThe maximum number of terms in a compound SELECT statement. The code generator for compound SELECT statements does one level of recursion for each term. A stack overflow can result if the number of terms is too large. In practice, most SQL never has more than 3 or 4 terms. Use a value of 0 to disable any limit on the number of terms in a compount SELECT.- See Also:
-
SQLJET_MAX_VDBE_OP
static final int SQLJET_MAX_VDBE_OPThe maximum number of opcodes in a VDBE program. Not currently enforced.- See Also:
-
SQLJET_MAX_FUNCTION_ARG
static final int SQLJET_MAX_FUNCTION_ARGThe maximum number of arguments to an SQL function.- See Also:
-
SQLJET_DEFAULT_CACHE_SIZE
static final int SQLJET_DEFAULT_CACHE_SIZEThe maximum number of in-memory pages to use for the main database table and for temporary tables. The SQLJET_DEFAULT_CACHE_SIZE- See Also:
-
SQLJET_DEFAULT_TEMP_CACHE_SIZE
static final int SQLJET_DEFAULT_TEMP_CACHE_SIZE- See Also:
-
SQLJET_MAX_ATTACHED
static final int SQLJET_MAX_ATTACHEDThe maximum number of attached databases. This must be between 0 and 30. The upper bound on 30 is because a 32-bit integer bitmap is used internally to track attached databases.- See Also:
-
SQLJET_MAX_VARIABLE_NUMBER
static final int SQLJET_MAX_VARIABLE_NUMBERThe maximum value of a ?nnn wildcard that the parser will accept.- See Also:
-
SQLJET_MAX_PAGE_SIZE
static final int SQLJET_MAX_PAGE_SIZEMaximum page size. The upper bound on this value is 32768. This a limit imposed by the necessity of storing the value in a 2-byte unsigned integer and the fact that the page size must be a power of 2.- See Also:
-
SQLJET_MIN_PAGE_SIZE
static final int SQLJET_MIN_PAGE_SIZE- See Also:
-
SQLJET_DEFAULT_PAGE_SIZE
static final int SQLJET_DEFAULT_PAGE_SIZEThe default size of a database page.- See Also:
-
SQLJET_MAX_DEFAULT_PAGE_SIZE
static final int SQLJET_MAX_DEFAULT_PAGE_SIZEOrdinarily, if no value is explicitly provided, SqlJet creates databases with page size SQLJET_DEFAULT_PAGE_SIZE. However, based on certain device characteristics (sector-size and atomic write() support), SqlJet may choose a larger value. This constant is the maximum value SqlJet will choose on its own.- See Also:
-
SQLJET_MAX_PAGE_COUNT
static final int SQLJET_MAX_PAGE_COUNTMaximum number of pages in one database file. This is really just the default value for the max_page_count pragma. This value can be lowered (or raised) at run-time using that the max_page_count macro.- See Also:
-
SQLJET_MAX_LIKE_PATTERN_LENGTH
static final int SQLJET_MAX_LIKE_PATTERN_LENGTHMaximum length (in bytes) of the pattern in a LIKE or GLOB operator.- See Also:
-
SQLJET_MIN_FILE_FORMAT
static final int SQLJET_MIN_FILE_FORMAT- See Also:
-
SQLJET_MAX_FILE_FORMAT
static final int SQLJET_MAX_FILE_FORMAT- See Also:
-