--- src/vdbe.c +++ src/vdbe.c @@ -2327,7 +2327,9 @@ assert( rc==SQLITE_OK ); /* DataSize() cannot fail */ pC->aRow = sqlite3BtreeDataFetch(pCrsr, &avail); } - assert( avail<=65536 ); /* Maximum page size is 64KiB */ + /* The BDB version can return data items larger than the largest page. + ** assert( avail<=65536 ); + */ if( pC->payloadSize <= (u32)avail ){ pC->szRow = pC->payloadSize; }else{ @@ -3296,9 +3298,10 @@ assert( OPFLAG_BULKCSR==BTREE_BULKLOAD ); sqlite3BtreeCursorHints(pCur->pCursor, (pOp->p5 & OPFLAG_BULKCSR)); - /* Since it performs no memory allocation or IO, the only value that - ** sqlite3BtreeCursor() may return is SQLITE_OK. */ - assert( rc==SQLITE_OK ); + /* The BDB version of sqlite3BtreeCursor() performs disk i/o and memory + ** allocations and so may return an error, so this assert is not valid. + ** assert( rc==SQLITE_OK ); + */ /* Set the VdbeCursor.isTable variable. Previous versions of ** SQLite used to check if the root-page flags were sane at this point