2 ** Link this program against an SQLite library of unknown provenance in order
3 ** to display the compile-time maximum values for various settings.
12 { SQLITE_LIMIT_LENGTH
, "SQLITE_MAX_LENGTH" },
13 { SQLITE_LIMIT_SQL_LENGTH
, "SQLITE_MAX_SQL_LENGTH" },
14 { SQLITE_LIMIT_COLUMN
, "SQLITE_MAX_COLUMN" },
15 { SQLITE_LIMIT_EXPR_DEPTH
, "SQLITE_MAX_EXPR_DEPTH" },
16 { SQLITE_LIMIT_COMPOUND_SELECT
, "SQLITE_MAX_COMPOUND_SELECT" },
17 { SQLITE_LIMIT_VDBE_OP
, "SQLITE_MAX_VDBE_OP" },
18 { SQLITE_LIMIT_FUNCTION_ARG
, "SQLITE_MAX_FUNCTION_ARG" },
19 { SQLITE_LIMIT_ATTACHED
, "SQLITE_MAX_ATTACHED" },
20 { SQLITE_LIMIT_LIKE_PATTERN_LENGTH
, "SQLITE_MAX_LIKE_PATTERN_LENGTH" },
21 { SQLITE_LIMIT_VARIABLE_NUMBER
, "SQLITE_MAX_VARIABLE_NUMBER" },
22 { SQLITE_LIMIT_TRIGGER_DEPTH
, "SQLITE_MAX_TRIGGER_DEPTH" },
23 { SQLITE_LIMIT_WORKER_THREADS
, "SQLITE_MAX_WORKER_THREADS" },
26 static int maxLimit(sqlite3
*db
, int eCode
){
27 int iOrig
= sqlite3_limit(db
, eCode
, 0x7fffffff);
28 return sqlite3_limit(db
, eCode
, iOrig
);
31 int main(int argc
, char **argv
){
34 rc
= sqlite3_open(":memory:", &db
);
36 for(j
=0; j
<sizeof(aLimit
)/sizeof(aLimit
[0]); j
++){
37 printf("%-35s %10d\n", aLimit
[j
].zName
, maxLimit(db
, aLimit
[j
].eCode
));