diff options
author | drh <drh@noemail.net> | 2004-09-07 16:19:52 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2004-09-07 16:19:52 +0000 |
commit | fa6bc0000fc5b52903cbcb36bacc78833d320e4e (patch) | |
tree | 0affec0b5d7fbaecde46d403133d36ce45dbc300 /src/sqliteInt.h | |
parent | 1807ce37b84a2a41638f01e59c501a6800bb7883 (diff) | |
download | sqlite-fa6bc0000fc5b52903cbcb36bacc78833d320e4e.tar.gz sqlite-fa6bc0000fc5b52903cbcb36bacc78833d320e4e.zip |
Wildcards with the same name map into the same variable number. New
api sqlite3_bind_parameter_index() added to map wildcard names into
wildcard index numbers. Support for "?nnn" wildcards. (CVS 1945)
FossilOrigin-Name: 435b3f301fbb6953adc974c7f03589b06e9114c3
Diffstat (limited to 'src/sqliteInt.h')
-rw-r--r-- | src/sqliteInt.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 28f9f36c1..0fd1029fa 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -11,7 +11,7 @@ ************************************************************************* ** Internal interface definitions for SQLite. ** -** @(#) $Id: sqliteInt.h,v 1.319 2004/09/06 17:24:13 drh Exp $ +** @(#) $Id: sqliteInt.h,v 1.320 2004/09/07 16:19:54 drh Exp $ */ #ifndef _SQLITEINT_H_ #define _SQLITEINT_H_ @@ -68,6 +68,11 @@ #define MAX_ATTACHED 10 /* +** The maximum value of a ?nnn wildcard that the parser will accept. +*/ +#define SQLITE_MAX_VARIABLE_NUMBER 999 + +/* ** When building SQLite for embedded systems where memory is scarce, ** you can define one or more of the following macros to omit extra ** features of the library and thus keep the size of the library to @@ -990,6 +995,9 @@ struct Parse { int nSet; /* Number of sets used so far */ int nAgg; /* Number of aggregate expressions */ int nVar; /* Number of '?' variables seen in the SQL so far */ + int nVarExpr; /* Number of used slots in apVarExpr[] */ + int nVarExprAlloc; /* Number of allocated slots in apVarExpr[] */ + Expr **apVarExpr; /* Pointers to :aaa and $aaaa wildcard expressions */ AggExpr *aAgg; /* An array of aggregate expressions */ const char *zAuthContext; /* The 6th parameter to db->xAuth callbacks */ Trigger *pNewTrigger; /* Trigger under construct by a CREATE TRIGGER */ @@ -1209,6 +1217,7 @@ Expr *sqlite3Expr(int, Expr*, Expr*, Token*); Expr *sqlite3ExprAnd(Expr*, Expr*); void sqlite3ExprSpan(Expr*,Token*,Token*); Expr *sqlite3ExprFunction(ExprList*, Token*); +void sqlite3ExprAssignVarNumber(Parse*, Expr*); void sqlite3ExprDelete(Expr*); ExprList *sqlite3ExprListAppend(ExprList*,Expr*,Token*); void sqlite3ExprListDelete(ExprList*); |