File sqlite3-xFetch-null.patch of Package sqlite3.13258
--- sqlite3.c 2015-05-20 20:28:12.000000000 +0200
+++ sqlite3.c 2017-03-02 21:14:13.050598000 +0100
@@ -78510,7 +78510,9 @@
*/
static int vdbeSorterMapFile(SortSubtask *pTask, SorterFile *pFile, u8 **pp){
int rc = SQLITE_OK;
- if( pFile->iEof<=(i64)(pTask->pSorter->db->nMaxSorterMmap) ){
+ if( pFile->iEof<=(i64)(pTask->pSorter->db->nMaxSorterMmap)
+ && pFile->pFd->pMethods->xFetch
+ ){
sqlite3_file *pFd = pFile->pFd;
if( pFd->pMethods->iVersion>=3 ){
rc = sqlite3OsFetch(pFd, 0, (int)pFile->iEof, (void**)pp);
@@ -79167,7 +79169,9 @@
** the specific VFS implementation.
*/
static void vdbeSorterExtendFile(sqlite3 *db, sqlite3_file *pFd, i64 nByte){
- if( nByte<=(i64)(db->nMaxSorterMmap) && pFd->pMethods->iVersion>=3 ){
+ if( nByte<=(i64)(db->nMaxSorterMmap) && pFd->pMethods->iVersion>=3
+ && pFd->pMethods->xFetch
+ ){
void *p = 0;
int chunksize = 4*1024;
sqlite3OsFileControlHint(pFd, SQLITE_FCNTL_CHUNK_SIZE, &chunksize);