SQLite

Check-in [75c2a532f4]
Login

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

Overview
Comment:Remove a branch that could not be taken from OP_IsUnique. (CVS 5485)
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 75c2a532f4dfd7eee5136fbb79f8e20dbc666fad
User & Date: danielk1977 2008-07-26 18:47:27.000
Context
2008-07-28
05:22
In the documentation for SQLITE_CONFIG_MEMSTATUS, make it clear that the 'boolean' argument passed to sqlite3_config() is actually of type int. Ticket #3252. (CVS 5486) (check-in: 1ffdd46f0b user: danielk1977 tags: trunk)
2008-07-26
18:47
Remove a branch that could not be taken from OP_IsUnique. (CVS 5485) (check-in: 75c2a532f4 user: danielk1977 tags: trunk)
18:26
Fix a case where database corruption was causing an invalid reference. (CVS 5484) (check-in: 7aecabacf9 user: danielk1977 tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/vdbe.c.
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.764 2008/07/26 18:26:10 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
#include "vdbeInt.h"

/*
** The following global variable is incremented every time a cursor







|







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.765 2008/07/26 18:47:27 danielk1977 Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
#include "vdbeInt.h"

/*
** The following global variable is incremented every time a cursor
3132
3133
3134
3135
3136
3137
3138






3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149

    /* Make sure K is a string and make zKey point to K
    */
    assert( pK->flags & MEM_Blob );
    zKey = pK->z;
    nKey = pK->n;







    rc = sqlite3VdbeIdxRowidLen((u8*)zKey, nKey, &szRowid);
    if( rc!=SQLITE_OK ){
      goto abort_due_to_error;
    }
    len = nKey-szRowid;

    /* Search for an entry in P1 where all but the last four bytes match K.
    ** If there is no such entry, jump immediately to P2.
    */
    assert( pCx->deferredMoveto==0 );
    pCx->cacheStatus = CACHE_STALE;







>
>
>
>
>
>

|
<
<







3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146


3147
3148
3149
3150
3151
3152
3153

    /* Make sure K is a string and make zKey point to K
    */
    assert( pK->flags & MEM_Blob );
    zKey = pK->z;
    nKey = pK->n;

    /* sqlite3VdbeIdxRowidLen() only returns other than SQLITE_OK when the
    ** record passed as an argument corrupt. Since the record in this case
    ** has just been created by an OP_MakeRecord instruction, and not loaded
    ** from the database file, it is not possible for it to be corrupt.
    ** Therefore, assert(rc==SQLITE_OK).
    */
    rc = sqlite3VdbeIdxRowidLen((u8*)zKey, nKey, &szRowid);
    assert(rc==SQLITE_OK);


    len = nKey-szRowid;

    /* Search for an entry in P1 where all but the last four bytes match K.
    ** If there is no such entry, jump immediately to P2.
    */
    assert( pCx->deferredMoveto==0 );
    pCx->cacheStatus = CACHE_STALE;