Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Comment changes only (CVS 166) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
5518e012bf35821f65fe2ca7cbafca6a |
User & Date: | drh 2000-11-28 20:47:18.000 |
Context
2000-11-28
| ||
21:00 | Version 1.0.16 (CVS 487) (check-in: 8c36b248fd user: drh tags: trunk) | |
20:47 | Comment changes only (CVS 166) (check-in: 5518e012bf user: drh tags: trunk) | |
20:46 | Comment changes only (CVS 165) (check-in: 97339efdf3 user: drh tags: trunk) | |
Changes
Changes to src/expr.c.
︙ | ︙ | |||
20 21 22 23 24 25 26 | ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions. ** | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** This file contains routines used for analyzing expressions and ** for generating VDBE code that evaluates expressions. ** ** $Id: expr.c,v 1.20 2000/11/28 20:47:18 drh Exp $ */ #include "sqliteInt.h" /* ** Walk an expression tree. Return 1 if the expression is constant ** and 0 if it involves variables. */ |
︙ | ︙ | |||
734 735 736 737 738 739 740 | sqliteVdbeAddOp(v, OP_If, 0, dest, 0, 0); break; } } } /* | | | 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 | sqliteVdbeAddOp(v, OP_If, 0, dest, 0, 0); break; } } } /* ** Generate code for a boolean expression such that a jump is made ** to the label "dest" if the expression is false but execution ** continues straight thru if the expression is true. */ void sqliteExprIfFalse(Parse *pParse, Expr *pExpr, int dest){ Vdbe *v = pParse->pVdbe; int op = 0; switch( pExpr->op ){ |
︙ | ︙ |
Changes to src/sqlite.h.in.
︙ | ︙ | |||
20 21 22 23 24 25 26 | ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** This header file defines the interface that the sqlite library ** presents to client programs. ** | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** This header file defines the interface that the sqlite library ** presents to client programs. ** ** @(#) $Id: sqlite.h.in,v 1.7 2000/11/28 20:47:20 drh Exp $ */ #ifndef _SQLITE_H_ #define _SQLITE_H_ #include <stdarg.h> /* Needed for the definition of va_list */ /* ** The version of the SQLite library. |
︙ | ︙ | |||
137 138 139 140 141 142 143 | #define SQLITE_BUSY 5 /* One or more database files are locked */ #define SQLITE_NOMEM 6 /* A malloc() failed */ #define SQLITE_READONLY 7 /* Attempt to write a readonly database */ #define SQLITE_INTERRUPT 8 /* Operation terminated by sqlite_interrupt() */ /* This function causes any pending database operation to abort and ** return at its earliest opportunity. This routine is typically | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | #define SQLITE_BUSY 5 /* One or more database files are locked */ #define SQLITE_NOMEM 6 /* A malloc() failed */ #define SQLITE_READONLY 7 /* Attempt to write a readonly database */ #define SQLITE_INTERRUPT 8 /* Operation terminated by sqlite_interrupt() */ /* This function causes any pending database operation to abort and ** return at its earliest opportunity. This routine is typically ** called in response to a user action such as pressing "Cancel" ** or Ctrl-C where the user wants a long query operation to halt ** immediately. */ void sqlite_interrupt(sqlite*); /* This function returns true if the given input string comprises |
︙ | ︙ | |||
254 255 256 257 258 259 260 | ** follow and the originals is that the second argument to the ** routines that follow is really a printf()-style format ** string describing the SQL to be executed. Arguments to the format ** string appear at the end of the argument list. ** ** All of the usual printf formatting options apply. In addition, there ** is a "%q" option. %q works like %s in that it substitutes a null-terminated | | | | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | ** follow and the originals is that the second argument to the ** routines that follow is really a printf()-style format ** string describing the SQL to be executed. Arguments to the format ** string appear at the end of the argument list. ** ** All of the usual printf formatting options apply. In addition, there ** is a "%q" option. %q works like %s in that it substitutes a null-terminated ** string from the argument list. But %q also doubles every '\'' character. ** %q is designed for use inside a string literal. By doubling each '\'' ** character it escapes that character and allows it to be inserted into ** the string. ** ** For example, so some string variable contains text as follows: ** ** char *zText = "It's a happy day!"; ** ** We can use this text in an SQL statement as follows: |
︙ | ︙ |
Changes to src/sqliteInt.h.
︙ | ︙ | |||
19 20 21 22 23 24 25 | ** Author contact information: ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** Internal interface definitions for SQLite. ** | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ** Author contact information: ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ************************************************************************* ** Internal interface definitions for SQLite. ** ** @(#) $Id: sqliteInt.h,v 1.32 2000/11/28 20:47:23 drh Exp $ */ #include "sqlite.h" #include "dbbe.h" #include "vdbe.h" #include "parse.h" #include <gdbm.h> #include <stdio.h> |
︙ | ︙ | |||
164 165 166 167 168 169 170 | int nCol; /* Number of columns in this table */ Column *aCol; /* Information about each column */ int readOnly; /* True if this table should not be written by the user */ Index *pIndex; /* List of SQL indexes on this table. */ }; /* | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | int nCol; /* Number of columns in this table */ Column *aCol; /* Information about each column */ int readOnly; /* True if this table should not be written by the user */ Index *pIndex; /* List of SQL indexes on this table. */ }; /* ** Each SQL index is represented in memory by an ** instance of the following structure. ** ** The columns of the table that are to be indexed are described ** by the aiColumn[] field of this structure. For example, suppose ** we have the following table and index: ** ** CREATE TABLE Ex1(c1 int, c2 int, c3 text); |
︙ | ︙ | |||
197 198 199 200 201 202 203 | }; /* ** Each token coming out of the lexer is an instance of ** this structure. */ struct Token { | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | }; /* ** Each token coming out of the lexer is an instance of ** this structure. */ struct Token { char *z; /* Text of the token. Not NULL-terminated! */ int n; /* Number of characters in this token */ }; /* ** Each node of an expression in the parse tree is an instance ** of this structure */ |
︙ | ︙ |