SQLite

Check-in [39cf97a902]
Login

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

Overview
Comment:Expression generator bug fix. (CVS 2239)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 39cf97a902523b1e3953da8fca6983119700d682
User & Date: drh 2005-01-20 01:51:26.000
Context
2005-01-20
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)
01:17
Minor fix for sqlite3_clear_bindings(). (CVS 2238) (check-in: ff5b338cfb user: danielk1977 tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/expr.c.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
** $Id: expr.c,v 1.182 2005/01/19 23:24:50 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>

/*
** Return the 'affinity' of the expression pExpr if any.
**







|







8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
**    May you find forgiveness for yourself and forgive others.
**    May you share freely, never taking more than you give.
**
*************************************************************************
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
** $Id: expr.c,v 1.183 2005/01/20 01:51:26 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>

/*
** Return the 'affinity' of the expression pExpr if any.
**
1276
1277
1278
1279
1280
1281
1282

1283
1284
1285
1286
1287
1288
1289
      NameContext *pNC;
      int nRef;
      Vdbe *v;
      int addr;

      pNC = pCoder->pNC;
      if( pNC ) nRef = pNC->nRef;

      v = sqlite3GetVdbe(pParse);
      addr = sqlite3VdbeAddOp(v, OP_Goto, 0, 0);
      pExpr->iColumn = pParse->nMem++;
      sqlite3Select(pParse, pExpr->pSelect, SRT_Mem,pExpr->iColumn,0,0,0,0,pNC);
      if( pNC && pNC->nRef>nRef ){
        /* Subquery value changes.  Evaluate at each use */
        pExpr->iTable = addr+1;







>







1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
      NameContext *pNC;
      int nRef;
      Vdbe *v;
      int addr;

      pNC = pCoder->pNC;
      if( pNC ) nRef = pNC->nRef;
      sqlite3CodeVerifySchema(pParse, -1); /* Insert the cookie verifier Goto */
      v = sqlite3GetVdbe(pParse);
      addr = sqlite3VdbeAddOp(v, OP_Goto, 0, 0);
      pExpr->iColumn = pParse->nMem++;
      sqlite3Select(pParse, pExpr->pSelect, SRT_Mem,pExpr->iColumn,0,0,0,0,pNC);
      if( pNC && pNC->nRef>nRef ){
        /* Subquery value changes.  Evaluate at each use */
        pExpr->iTable = addr+1;