Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Turn SQLITE_OMIT_CURSOR on by default. (CVS 2240) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2d3ab1ab5ae08fe21f4662b171f04362 |
User & Date: | drh 2005-01-20 02:14:31.000 |
Context
2005-01-20
| ||
02:17 | Fix some test scripts so that they work with a minimal build configuration. (CVS 2241) (check-in: d267fb3ca3 user: danielk1977 tags: trunk) | |
02:14 | Turn SQLITE_OMIT_CURSOR on by default. (CVS 2240) (check-in: 2d3ab1ab5a user: drh tags: trunk) | |
01:51 | Expression generator bug fix. (CVS 2239) (check-in: 39cf97a902 user: drh tags: trunk) | |
Changes
Changes to src/cursor.c.
︙ | ︙ | |||
17 18 19 20 21 22 23 | ** using the DECLARE...CURSOR command and deleted using CLOSE. A ** B-tree cursor is an abstraction of the b-tree layer. See the btree.c ** module for additional information. There is also a VDBE-cursor that ** is used by the VDBE module. Even though all these objects are called ** cursors, they are really very different things. It is worth your while ** to fully understand the difference. ** | | < > | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ** using the DECLARE...CURSOR command and deleted using CLOSE. A ** B-tree cursor is an abstraction of the b-tree layer. See the btree.c ** module for additional information. There is also a VDBE-cursor that ** is used by the VDBE module. Even though all these objects are called ** cursors, they are really very different things. It is worth your while ** to fully understand the difference. ** ** @(#) $Id: cursor.c,v 1.3 2005/01/20 02:14:31 drh Exp $ */ #include "sqliteInt.h" #ifndef SQLITE_OMIT_CURSOR #include "vdbeInt.h" /* ** Delete a cursor object. */ void sqlite3CursorDelete(SqlCursor *p){ if( p ){ |
︙ | ︙ |
Changes to src/parse.y.
︙ | ︙ | |||
10 11 12 13 14 15 16 | ** ************************************************************************* ** 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. ** | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ** ************************************************************************* ** 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.160 2005/01/20 02:14:31 drh Exp $ */ %token_prefix TK_ %token_type {Token} %default_type {Token} %extra_argument {Parse *pParse} %syntax_error { if( pParse->zErrMsg==0 ){ |
︙ | ︙ | |||
594 595 596 597 598 599 600 | Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0); A = sqlite3Expr(TK_DOT, temp1, temp4, 0); } term(A) ::= INTEGER(X). {A = sqlite3Expr(@X, 0, 0, &X);} term(A) ::= FLOAT(X). {A = sqlite3Expr(@X, 0, 0, &X);} term(A) ::= STRING(X). {A = sqlite3Expr(@X, 0, 0, &X);} expr(A) ::= BLOB(X). {A = sqlite3Expr(@X, 0, 0, &X);} | | | 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 | Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0); A = sqlite3Expr(TK_DOT, temp1, temp4, 0); } term(A) ::= INTEGER(X). {A = sqlite3Expr(@X, 0, 0, &X);} term(A) ::= FLOAT(X). {A = sqlite3Expr(@X, 0, 0, &X);} term(A) ::= STRING(X). {A = sqlite3Expr(@X, 0, 0, &X);} expr(A) ::= BLOB(X). {A = sqlite3Expr(@X, 0, 0, &X);} %ifdef SQLITE_ENABLE_CURSOR expr(A) ::= CURRENT OF id. %endif expr(A) ::= REGISTER(X). {A = sqlite3RegisterExpr(pParse, &X);} expr(A) ::= VARIABLE(X). { Token *pToken = &X; Expr *pExpr = A = sqlite3Expr(TK_VARIABLE, 0, 0, pToken); sqlite3ExprAssignVarNumber(pParse, pExpr); |
︙ | ︙ | |||
956 957 958 959 960 961 962 | %ifndef SQLITE_OMIT_ALTERTABLE cmd ::= ALTER TABLE fullname(X) RENAME TO nm(Z). { sqlite3AlterRenameTable(pParse,X,&Z); } %endif ////////////////////////////// CURSORS ////////////////////////////////////// | | | 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 | %ifndef SQLITE_OMIT_ALTERTABLE cmd ::= ALTER TABLE fullname(X) RENAME TO nm(Z). { sqlite3AlterRenameTable(pParse,X,&Z); } %endif ////////////////////////////// CURSORS ////////////////////////////////////// %ifdef SQLITE_ENABLE_CURSOR cmd ::= DECLARE nm(X) CURSOR FOR select(Y). {sqlite3CursorCreate(pParse,&X,Y);} cmd ::= CLOSE nm(X). {sqlite3CursorClose(pParse,&X);} cmd ::= FETCH direction FROM nm(N) into_opt(D). {sqlite3Fetch(pParse,&N,D);} %type into_opt {IdList*} |
︙ | ︙ | |||
982 983 984 985 986 987 988 | %type count_opt {int} count_opt(A) ::= . {A = 1;} count_opt(A) ::= signed(X). {A = X;} %type comma_count_opt {int} comma_count_opt(A) ::= . {A = 1;} comma_count_opt(A) ::= COMMA signed(X). {A = X;} | | | 982 983 984 985 986 987 988 989 | %type count_opt {int} count_opt(A) ::= . {A = 1;} count_opt(A) ::= signed(X). {A = X;} %type comma_count_opt {int} comma_count_opt(A) ::= . {A = 1;} comma_count_opt(A) ::= COMMA signed(X). {A = X;} %endif // SQLITE_ENABLE_CURSOR |
Changes to src/sqliteInt.h.
1 2 3 4 5 6 7 8 9 10 11 12 13 | /* ** 2001 September 15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** Internal interface definitions for SQLite. ** | | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | /* ** 2001 September 15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: ** ** May you do good and not evil. ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** Internal interface definitions for SQLite. ** ** @(#) $Id: sqliteInt.h,v 1.358 2005/01/20 02:14:31 drh Exp $ */ #ifndef _SQLITEINT_H_ #define _SQLITEINT_H_ /* ** Cursor support is turned off unless the SQLITE_ENABLE_CURSOR option ** is defined. */ #ifndef SQLITE_ENABLE_CURSOR # define SQLITE_OMIT_CURSOR 1 #endif /* ** These #defines should enable >2GB file support on Posix if the ** underlying operating system supports it. If the OS lacks ** large file support, or if the OS is windows, these should be no-ops. ** ** Large file support can be disabled using the -DSQLITE_DISABLE_LFS switch ** on the compiler command line. This is necessary if you are compiling |
︙ | ︙ |