1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Corner-case changes to the bytecode virtual table for testability and

correctness.

FossilOrigin-Name: baa720e4a88f268ed95337daab5f434fd3263b00f09101cddc6424765bf3b722
This commit is contained in:
drh
2020-05-02 00:01:39 +00:00
parent 51f1c6f3ec
commit 7e088a6c0a
5 changed files with 15 additions and 14 deletions

View File

@@ -224,7 +224,6 @@ static int bytecodevtabColumn(
if( pIdx->tnum==iRoot ){
pCur->zName = pIdx->zName;
pCur->zType = "index";
break;
}
}
}
@@ -268,11 +267,11 @@ static int bytecodevtabColumn(
break;
case 8: { /* subprog */
Op *aOp = pCur->aOp;
assert( aOp[0].opcode==OP_Init );
assert( aOp[0].p4.z==0 || strncmp(aOp[0].p4.z,"-" "- ",3)==0 );
if( pCur->iRowid==pCur->iAddr+1 ){
break; /* Result is NULL for the main program */
}else if( aOp[0].p4type==P4_DYNAMIC
&& aOp[0].p4.z!=0
&& strncmp(aOp[0].p4.z,"-- ", 3)==0 ){
}else if( aOp[0].p4.z!=0 ){
sqlite3_result_text(ctx, aOp[0].p4.z+3, -1, SQLITE_STATIC);
}else{
sqlite3_result_text(ctx, "(FK)", 4, SQLITE_STATIC);