Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | fix parser stack overflow (CVS 119) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bffca90f37a69c5bd26b719a964408e0 |
User & Date: | drh 2000-08-01 09:56:27.000 |
Context
2000-08-02
| ||
12:26 | file format change (CVS 120) (check-in: 67f8af377c user: drh tags: trunk) | |
2000-08-01
| ||
09:56 | fix parser stack overflow (CVS 119) (check-in: bffca90f37 user: drh tags: trunk) | |
2000-07-31
| ||
19:16 | :-) (CVS 118) (check-in: 4132d4760f user: drh tags: trunk) | |
Changes
Changes to src/parse.y.
︙ | ︙ | |||
22 23 24 25 26 27 28 | ** ************************************************************************* ** This file contains SQLite's grammar for SQL. Process this file ** using the lemon parser generator to generate C code that runs ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | ** ************************************************************************* ** This file contains SQLite's grammar for SQL. Process this file ** using the lemon parser generator to generate C code that runs ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** ** @(#) $Id: parse.y,v 1.25 2000/08/01 09:56:27 drh Exp $ */ %token_prefix TK_ %token_type {Token} %extra_argument {Parse *pParse} %syntax_error { sqliteSetString(&pParse->zErrMsg,"syntax error",0); pParse->sErrToken = TOKEN; |
︙ | ︙ | |||
242 243 244 245 246 247 248 | %type setlist {ExprList*} %destructor setlist {sqliteExprListDelete($$);} cmd ::= UPDATE id(X) SET setlist(Y) where_opt(Z). {sqliteUpdate(pParse,&X,Y,Z);} | | | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | %type setlist {ExprList*} %destructor setlist {sqliteExprListDelete($$);} cmd ::= UPDATE id(X) SET setlist(Y) where_opt(Z). {sqliteUpdate(pParse,&X,Y,Z);} setlist(A) ::= setlist(Z) COMMA id(X) EQ expr(Y). {A = sqliteExprListAppend(Z,Y,&X);} setlist(A) ::= id(X) EQ expr(Y). {A = sqliteExprListAppend(0,Y,&X);} cmd ::= INSERT INTO id(X) inscollist_opt(F) VALUES LP itemlist(Y) RP. {sqliteInsert(pParse, &X, Y, 0, F);} cmd ::= INSERT INTO id(X) inscollist_opt(F) select(S). {sqliteInsert(pParse, &X, 0, S, F);} |
︙ | ︙ |
Changes to www/changes.tcl.
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2000 July 31} { <li>Finish the <a href="vdbe.html">VDBE tutorial</a>.</li> <li>Added documentation on compiling to WindowsNT.</li> <li>Fix a configuration program for WindowsNT.</li> <li>Fix a configuration problem for HPUX.</li> } | > > > > > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2000 Aug 1} { <li>The parser's stack was overflowing on a very long UPDATE statement. This is now fixed.</li> } chng {2000 July 31} { <li>Finish the <a href="vdbe.html">VDBE tutorial</a>.</li> <li>Added documentation on compiling to WindowsNT.</li> <li>Fix a configuration program for WindowsNT.</li> <li>Fix a configuration problem for HPUX.</li> } |
︙ | ︙ |
Changes to www/index.tcl.
1 2 3 | # # Run this TCL script to generate HTML for the index.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this TCL script to generate HTML for the index.html file. # set rcsid {$Id: index.tcl,v 1.22 2000/08/01 09:56:27 drh Exp $} puts {<html> <head><title>SQLite: An SQL Database Engine Built Atop GDBM</title></head> <body bgcolor=white> <h1 align=center>SQLite: An SQL Database Engine Built Atop <a href="http://www.gnu.org/software/gdbm/gdbm.html">GDBM</a></h1> <p align=center>} |
︙ | ︙ | |||
55 56 57 58 59 60 61 | <li>A <a href="http://dev.scriptics.com/">Tcl</a> interface is included.</li> <li>Command-line access program <a href="sqlite.html">sqlite</a> uses the <a href="http://www.google.com/search?q=gnu+readline+library">GNU Readline library</a></li> <li>A Tcl-based test suite provides near 100% code coverage</li> <li>7500+ lines of C code. No external dependencies other than GDBM.</li> | | < | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | <li>A <a href="http://dev.scriptics.com/">Tcl</a> interface is included.</li> <li>Command-line access program <a href="sqlite.html">sqlite</a> uses the <a href="http://www.google.com/search?q=gnu+readline+library">GNU Readline library</a></li> <li>A Tcl-based test suite provides near 100% code coverage</li> <li>7500+ lines of C code. No external dependencies other than GDBM.</li> <li>Built and tested under Linux, HPUX, and WinNT.</li> </ul> </p> <h2>Current Status</h2> <p>A <a href="changes.html">change history</a> is available online. There are currently no <em>known</em> bugs or memory leaks |
︙ | ︙ |