diff options
author | dan <dan@noemail.net> | 2015-03-21 12:25:23 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2015-03-21 12:25:23 +0000 |
commit | b4e0fd26e3fad8124dd51a1ee1dc6e6286eff5a0 (patch) | |
tree | 44bdfb910ab98f10d2a0452a64f07c5cf11f4b8b /src | |
parent | 998aaa03ea52f20804ce9bec5a2920ff9583877e (diff) | |
parent | 474640638da26ee9a22447a37839d333e8285bf0 (diff) | |
download | sqlite-b4e0fd26e3fad8124dd51a1ee1dc6e6286eff5a0.tar.gz sqlite-b4e0fd26e3fad8124dd51a1ee1dc6e6286eff5a0.zip |
Remove an unreachable branch from the OP_VCreate opcode (merge accidental fork in trunk).
FossilOrigin-Name: 2fbfec62fc03d42ee240dfefaa0aeb59a3f04d88
Diffstat (limited to 'src')
-rw-r--r-- | src/vdbe.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/vdbe.c b/src/vdbe.c index 8eb772108..7d6d2b4f5 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -6033,15 +6033,20 @@ case OP_VBegin: { */ case OP_VCreate: { Mem sMem; /* For storing the record being decoded */ + const char *zTab; /* Name of the virtual table */ + memset(&sMem, 0, sizeof(sMem)); sMem.db = db; + /* Because P2 is always a static string, it is impossible for the + ** sqlite3VdbeMemCopy() to fail */ + assert( (aMem[pOp->p2].flags & MEM_Str)!=0 ); + assert( (aMem[pOp->p2].flags & MEM_Static)!=0 ); rc = sqlite3VdbeMemCopy(&sMem, &aMem[pOp->p2]); - if( rc==SQLITE_OK ){ - const char *zTab = (const char*)sqlite3_value_text(&sMem); - assert( zTab || db->mallocFailed ); - if( zTab ){ - rc = sqlite3VtabCallCreate(db, pOp->p1, zTab, &p->zErrMsg); - } + assert( rc==SQLITE_OK ); + zTab = (const char*)sqlite3_value_text(&sMem); + assert( zTab || db->mallocFailed ); + if( zTab ){ + rc = sqlite3VtabCallCreate(db, pOp->p1, zTab, &p->zErrMsg); } sqlite3VdbeMemRelease(&sMem); break; |