/ Check-in [ef1966c2]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Back off of the parser optimization in the previous check-in, slightly, to preserve some backwards compatibility regarding some undocumented behavior in the '#AAA' style query parameter.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: ef1966c2469a0f5dbdb31a0287bd37badb2b8f28
User & Date: drh 2016-04-11 01:43:33
Context
2016-04-11
13:36
Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. check-in: 099478fa user: drh tags: trunk
09:39
Update this branch with the latest changes from the trunk. check-in: 982b753d user: dan tags: tempfiles-lazy-open
01:43
Back off of the parser optimization in the previous check-in, slightly, to preserve some backwards compatibility regarding some undocumented behavior in the '#AAA' style query parameter. check-in: ef1966c2 user: drh tags: trunk
01:26
Small size reduction and performance improvement in the parser. check-in: 16df7128 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to src/parse.y.

   867    867     Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0);
   868    868     spanSet(&A,&X,&Z); /*A-overwrites-X*/
   869    869     A.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0);
   870    870   }
   871    871   term(A) ::= INTEGER|FLOAT|BLOB(X). {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/}
   872    872   term(A) ::= STRING(X).             {spanExpr(&A,pParse,@X,X);/*A-overwrites-X*/}
   873    873   expr(A) ::= VARIABLE(X).     {
   874         -  if( X.z[0]!='#' ){
          874  +  if( !(X.z[0]=='#' && sqlite3Isdigit(X.z[1])) ){
   875    875       spanExpr(&A, pParse, TK_VARIABLE, X);
   876    876       sqlite3ExprAssignVarNumber(pParse, A.pExpr);
   877    877     }else{
   878    878       /* When doing a nested parse, one can include terms in an expression
   879    879       ** that look like this:   #1 #2 ...  These terms refer to registers
   880    880       ** in the virtual machine.  #N is the N-th register. */
   881    881       Token t = X; /*A-overwrites-X*/