Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Any non-zero value is considered TRUE in a WHERE clause. Ticket #1211. (CVS 2496) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0f7af623791d8d2ed35c3978ab123169 |
User & Date: | drh 2005-06-06 17:27:19.000 |
Context
2005-06-06
| ||
17:54 | Return SQLITE_MISUSE when passing a NULL pointer into sqlite3_bind routines. Ticket #1219. (CVS 2497) (check-in: 12c32f139b user: drh tags: trunk) | |
17:27 | Any non-zero value is considered TRUE in a WHERE clause. Ticket #1211. (CVS 2496) (check-in: 0f7af62379 user: drh tags: trunk) | |
17:11 | Avoid ambiguous column name errors when the column name is in the USING clause of a join. Ticket #743. (CVS 2495) (check-in: 6a51bdeeff user: drh tags: trunk) | |
Changes
Changes to src/vdbe.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** ** $Id: vdbe.c,v 1.467 2005/06/06 17:27:19 drh Exp $ */ #include "sqliteInt.h" #include "os.h" #include <ctype.h> #include "vdbeInt.h" /* |
︙ | ︙ | |||
1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 | case OP_If: /* no-push */ case OP_IfNot: { /* no-push */ int c; assert( pTos>=p->aStack ); if( pTos->flags & MEM_Null ){ c = pOp->p1; }else{ c = sqlite3VdbeIntValue(pTos); if( pOp->opcode==OP_IfNot ) c = !c; } Release(pTos); pTos--; if( c ) pc = pOp->p2-1; break; } | > > > > | 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 | case OP_If: /* no-push */ case OP_IfNot: { /* no-push */ int c; assert( pTos>=p->aStack ); if( pTos->flags & MEM_Null ){ c = pOp->p1; }else{ #ifdef SQLITE_OMIT_FLOATING_POINT c = sqlite3VdbeIntValue(pTos); #else c = sqlite3VdbeRealValue(pTos)!=0.0; #endif if( pOp->opcode==OP_IfNot ) c = !c; } Release(pTos); pTos--; if( c ) pc = pOp->p2-1; break; } |
︙ | ︙ |
Changes to test/where.test.
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. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the use of indices in WHERE clases. # | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # 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. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the use of indices in WHERE clases. # # $Id: where.test,v 1.29 2005/06/06 17:27:19 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Build some test data # do_test where-1.0 { |
︙ | ︙ | |||
296 297 298 299 300 301 302 303 304 305 306 307 308 309 | } } {} do_test where-4.4 { execsql { SELECT 99 WHERE 1 } } {99} # Verify that IN operators in a WHERE clause are handled correctly. # Omit these tests if the build is not capable of sub-queries. # ifcapable subquery { do_test where-5.1 { count { | > > > > > > > > > > | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | } } {} do_test where-4.4 { execsql { SELECT 99 WHERE 1 } } {99} do_test where-4.5 { execsql { SELECT 99 WHERE 0.1 } } {99} do_test where-4.6 { execsql { SELECT 99 WHERE 0.0 } } {} # Verify that IN operators in a WHERE clause are handled correctly. # Omit these tests if the build is not capable of sub-queries. # ifcapable subquery { do_test where-5.1 { count { |
︙ | ︙ |