Lines Matching refs:rc

10830   int rc;              /* Return code from execution */
11070 int rc; /* Result code stored here */
12842 int rc; /* Value to return */
13085 int rc = SQLITE_OK; /* Return code */
13200 rc = SQLITE_ERROR;
13204 return rc;
13633 int rc;
13647 rc = pX==0;
13653 rc = localtime_r(t, pTm)==0;
13655 rc = localtime_s(pTm, t);
13658 return rc;
13747 int rc = 1;
13766 p->iJD += localtimeOffset(p, pCtx, &rc);
13782 rc = 0;
13788 c1 = localtimeOffset(p, pCtx, &rc);
13789 if( rc==SQLITE_OK ){
13792 p->iJD += c1 - localtimeOffset(p, pCtx, &rc);
13818 rc = 0;
13839 rc = 0;
13844 rc = 0;
13846 rc = 0;
13865 rc = 1;
13888 rc = 0;
13897 rc = 0;
13930 rc = 1;
13939 return rc;
14390 int rc = SQLITE_OK;
14392 rc = pId->pMethods->xClose(pId);
14395 return rc;
14467 int rc;
14473 rc = pVfs->xOpen(pVfs, zPath, pFile, flags & 0x87f7f, pFlagsOut);
14474 assert( rc==SQLITE_OK || pFile->pMethods==0 );
14475 return rc;
14519 int rc;
14527 rc = pVfs->xCurrentTimeInt64(pVfs, pTimeOut);
14530 rc = pVfs->xCurrentTime(pVfs, &r);
14533 return rc;
14543 int rc = SQLITE_NOMEM;
14547 rc = sqlite3OsOpen(pVfs, zFile, pFile, flags, pOutFlags);
14548 if( rc!=SQLITE_OK ){
14554 return rc;
14557 int rc = SQLITE_OK;
14559 rc = sqlite3OsClose(pFile);
14561 return rc;
14593 int rc = sqlite3_initialize();
14594 if( rc ) return 0;
14636 int rc = sqlite3_initialize();
14637 if( rc ) return rc;
15369 int rc = 1;
15375 rc = 0;
15378 return rc;
15391 int rc = 1;
15397 rc = 0;
15400 return rc;
16804 int rc = SQLITE_OK;
16824 rc = sqlite3GlobalConfig.mutex.xMutexInit();
16830 return rc;
16838 int rc = SQLITE_OK;
16840 rc = sqlite3GlobalConfig.mutex.xMutexEnd();
16847 return rc;
16892 int rc = SQLITE_OK;
16896 return rc;
17253 APIRET rc;
17263 rc = DosCreateMutexSem( name, &mutex, 0, FALSE);
17264 if( rc == NO_ERROR ){
17273 }else if( rc == ERROR_DUPLICATE_NAME ){
17363 int rc = SQLITE_BUSY;
17366 rc = SQLITE_OK;
17371 return rc;
17661 int rc;
17679 rc = SQLITE_OK;
17684 rc = SQLITE_OK;
17686 rc = SQLITE_BUSY;
17697 rc = SQLITE_OK;
17699 rc = SQLITE_BUSY;
17704 if( rc==SQLITE_OK && p->trace ){
17708 return rc;
18022 int rc = SQLITE_BUSY;
18039 rc = SQLITE_OK;
18045 if( rc==SQLITE_OK && p->trace ){
18049 return rc;
18862 SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){
18868 if( db && (db->mallocFailed || rc==SQLITE_IOERR_NOMEM) ){
18871 rc = SQLITE_NOMEM;
18873 return rc & (db ? db->errMask : 0xff);
20285 int rc;
20286 rc = sqlite3VdbeMemMakeWriteable(pMem);
20287 if( rc!=SQLITE_OK ){
20288 assert( rc==SQLITE_NOMEM );
20402 int rc = SQLITE_OK;
20418 rc = sqlite3VdbeMemMakeWriteable(pMem);
20419 if( rc==SQLITE_OK ){
20428 return rc;
20657 int rc; /* The value return */
20687 rc = (y!=z);
20689 rc = isnan(x);
20691 testcase( rc );
20692 return rc;
20778 pParse->rc = SQLITE_ERROR;
22542 APIRET rc;
22548 rc = DosClose( pFile->h );
22560 return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR;
22606 APIRET rc = NO_ERROR;
22618 ( rc = DosWrite( pFile->h, (PVOID)pBuf, amt, &wrote ) ) == NO_ERROR &&
22625 return ( rc != NO_ERROR || amt > (int)wrote ) ? SQLITE_FULL : SQLITE_OK;
22632 APIRET rc;
22647 rc = DosSetFileSize( pFile->h, nByte );
22648 return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR_TRUNCATE;
22687 APIRET rc = NO_ERROR;
22692 rc = DosQueryFileInfo( ((os2File*)id)->h, FIL_STANDARD, &fsts3FileInfo, sizeof(FILESTATUS3) );
22693 if( rc == NO_ERROR ){
22764 int rc = SQLITE_OK; /* Return code from subroutines */
22884 rc = SQLITE_OK;
22888 rc = SQLITE_BUSY;
22892 return rc;
22910 APIRET rc = NO_ERROR;
22917 rc = DosSetFileLocks( pFile->h, &UnlockArea, &LockArea, LOCK_TIMEOUT, 0L );
22918 OSTRACE(( "TEST WR-LOCK %d lock reserved byte rc=%d\n", pFile->h, rc ));
22919 if( rc == NO_ERROR ){
22928 r = !(rc == NO_ERROR);
22949 APIRET rc = SQLITE_OK;
22970 rc = SQLITE_IOERR_UNLOCK;
22996 return rc;
23152 #define ERR_TRACE(rc, msg) \
23153 if( (rc) != SQLITE_OK ) _ERR_TRACE msg;
23155 #define ERR_TRACE(rc, msg)
23282 APIRET rc;
23300 rc = DosSetFileLocks(pNode->hLockFile,
23305 rc = DosSetFileLocks(pNode->hLockFile,
23312 rc==SQLITE_OK ? "ok" : "failed",
23314 rc));
23316 ERR_TRACE(rc, ("os2ShmSystemLock: %d %s\n", rc, pNode->shmBaseName))
23318 return ( rc == 0 ) ? SQLITE_OK : SQLITE_BUSY;
23330 int cbShmName, rc = SQLITE_OK;
23377 rc = SQLITE_IOERR;
23382 rc = SQLITE_NOMEM;
23386 rc = SQLITE_NOMEM;
23389 if( rc == SQLITE_OK ) {
23396 rc = SQLITE_IOERR_SHMSIZE;
23421 ERR_TRACE(rc, ("os2OpenSharedMemory: %d %s\n", rc, fd->zFullPathCp))
23423 return rc;
23452 int rc =
23458 rc == 0 ? "ok" : "failed"));
23522 int n, rc = SQLITE_OK;
23529 rc = os2OpenSharedMemory( pFile, szRegion );
23531 if( rc == SQLITE_OK ) {
23562 rc = SQLITE_NOMEM;
23577 rc = SQLITE_NOMEM;
23591 ERR_TRACE(rc, ("os2ShmMap: %s iRgn = %d, szRgn = %d, bExt = %d : %d\n",
23592 pFile->zFullPathCp, iRegion, szRegion, bExtend, rc))
23594 return rc;
23659 int rc = SQLITE_OK; /* Result code */
23691 rc = os2ShmSystemLock(pShmNode, _SHM_UNLCK, ofst+OS2_SHM_BASE, n);
23693 rc = SQLITE_OK;
23697 if( rc==SQLITE_OK ){
23710 rc = SQLITE_BUSY;
23717 if( rc==SQLITE_OK ){
23719 rc = os2ShmSystemLock(pShmNode, _SHM_RDLCK, ofst+OS2_SHM_BASE, n);
23721 rc = SQLITE_OK;
23726 if( rc==SQLITE_OK ){
23735 rc = SQLITE_BUSY;
23743 if( rc==SQLITE_OK ){
23744 rc = os2ShmSystemLock(pShmNode, _SHM_WRLCK, ofst+OS2_SHM_BASE, n);
23745 if( rc==SQLITE_OK ){
23756 rc ? "failed" : "ok"));
23758 ERR_TRACE(rc, ("os2ShmLock: ofst = %d, n = %d, flags = 0x%x -> %d \n",
23759 ofst, n, flags, rc))
23761 return rc;
23892 APIRET rc = DosQueryPathInfo( (PSZ)zRelativeCp, FIL_QUERYFULLNAME,
23898 return rc == NO_ERROR ? SQLITE_OK : SQLITE_IOERR;
23916 ULONG rc;
23973 rc = getTempname(CCHMAXPATH, zTmpname);
23974 if( rc!=SQLITE_OK ){
23975 return rc;
24011 rc = DosOpen( (PSZ)zNameCp,
24021 if( rc != NO_ERROR ){
24022 OSTRACE(( "OPEN Invalid handle rc=%d: zName=%s, ulAction=%#lx, ulFlags=%#lx, ulMode=%#lx\n",
24023 rc, zUtf8Name, ulAction, ulOpenFlags, ulOpenMode ));
24057 APIRET rc;
24061 rc = DosDelete( (PSZ)zFilenameCp );
24064 return (rc == NO_ERROR ||
24065 rc == ERROR_FILE_NOT_FOUND ||
24066 rc == ERROR_PATH_NOT_FOUND ) ? SQLITE_OK : SQLITE_IOERR_DELETE;
24078 APIRET rc;
24086 rc = DosQueryPathInfo( (PSZ)zFilenameCp, FIL_STANDARD,
24089 OSTRACE(( "ACCESS fsts3ConfigInfo.attrFile=%d flags=%d rc=%d\n",
24090 fsts3ConfigInfo.attrFile, flags, rc ));
24098 rc = ERROR_FILE_NOT_FOUND;
24104 rc = ERROR_ACCESS_DENIED;
24107 rc = ERROR_FILE_NOT_FOUND;
24111 *pOut = (rc == NO_ERROR);
24112 OSTRACE(( "ACCESS %s flags %d: rc=%d\n", zFilename, flags, *pOut ));
24129 APIRET rc;
24131 rc = DosLoadModule(NULL, 0, (PSZ)zFilenameCp, &hmod);
24133 return rc != NO_ERROR ? 0 : (void*)hmod;
24144 APIRET rc;
24145 rc = DosQueryProcAddr((HMODULE)pHandle, 0L, (PSZ)zSymbol, &pfn);
24146 if( rc != NO_ERROR ){
24152 rc = DosQueryProcAddr((HMODULE)pHandle, 0L, (PSZ)_zSymbol, &pfn);
24154 return rc != NO_ERROR ? 0 : (void(*)(void))pfn;
24287 int rc;
24289 rc = os2CurrentTimeInt64(pVfs, &i);
24290 if( !rc ){
24293 return rc;
25004 int rc = SQLITE_NOTFOUND;
25011 rc = SQLITE_OK;
25026 rc = SQLITE_OK;
25033 return rc;
25079 int rc;
25080 do{ rc = osOpen(z,f,m); }while( rc<0 && errno==EINTR );
25081 return rc;
25193 int rc;
25194 do{ rc = osFtruncate(h,sz); }while( rc<0 && errno==EINTR );
25195 return rc;
25711 int rc; /* System call return code */
25723 rc = osFstat(fd, &statbuf);
25724 if( rc!=0 ){
25744 do{ rc = osWrite(fd, "S", 1); }while( rc<0 && errno==EINTR );
25745 if( rc!=1 ){
25749 rc = osFstat(fd, &statbuf);
25750 if( rc!=0 ){
25795 int rc = SQLITE_OK;
25819 rc = SQLITE_IOERR_CHECKRESERVEDLOCK;
25828 OSTRACE(("TEST WR-LOCK %d %d %d (unix)\n", pFile->h, rc, reserved));
25831 return rc;
25854 int rc;
25868 rc = osFcntl(pFile->h, F_SETLK, &lock);
25869 if( rc<0 ) return rc;
25873 rc = 0;
25876 rc = osFcntl(pFile->h, F_SETLK, pLock);
25878 return rc;
25944 int rc = SQLITE_OK;
25985 rc = SQLITE_BUSY;
26018 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
26019 if( rc!=SQLITE_BUSY ){
26033 assert( rc==SQLITE_OK );
26040 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
26047 if( unixFileLock(pFile, &lock) && rc==SQLITE_OK ){
26050 rc = SQLITE_IOERR_UNLOCK;
26053 if( rc ){
26054 if( rc!=SQLITE_BUSY ){
26066 rc = SQLITE_BUSY;
26086 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
26087 if( rc!=SQLITE_BUSY ){
26100 if( rc==SQLITE_OK
26111 if( rc==SQLITE_OK ){
26122 rc==SQLITE_OK ? "ok" : "failed"));
26123 return rc;
26156 int rc = SQLITE_OK;
26221 rc = SQLITE_IOERR_UNLOCK;
26222 if( IS_LOCK_ERROR(rc) ){
26233 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_RDLOCK);
26234 if( IS_LOCK_ERROR(rc) ){
26245 rc = SQLITE_IOERR_UNLOCK;
26246 if( IS_LOCK_ERROR(rc) ){
26265 rc = SQLITE_IOERR_RDLOCK;
26278 rc = SQLITE_IOERR_UNLOCK;
26299 rc = SQLITE_IOERR_UNLOCK;
26319 if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock;
26320 return rc;
26370 int rc = SQLITE_OK;
26388 rc = closeUnixFile(id);
26390 return rc;
26476 int rc = SQLITE_OK;
26494 OSTRACE(("TEST WR-LOCK %d %d %d (dotlock)\n", pFile->h, rc, reserved));
26496 return rc;
26530 int rc = SQLITE_OK;
26553 rc = SQLITE_BUSY;
26555 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
26556 if( IS_LOCK_ERROR(rc) ){
26560 return rc;
26566 return rc;
26603 int rc = 0;
26606 rc = SQLITE_IOERR_UNLOCK;
26608 if( IS_LOCK_ERROR(rc) ){
26611 return rc;
26621 int rc;
26627 rc = closeUnixFile(id);
26628 return rc;
26655 int rc;
26656 do{ rc = flock(fd,op); }while( rc<0 && errno==EINTR );
26657 return rc;
26671 int rc = SQLITE_OK;
26697 rc = lrc;
26707 rc = lrc;
26711 OSTRACE(("TEST WR-LOCK %d %d %d (flock)\n", pFile->h, rc, reserved));
26714 if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){
26715 rc = SQLITE_OK;
26720 return rc;
26753 int rc = SQLITE_OK;
26770 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
26771 if( IS_LOCK_ERROR(rc) ){
26779 rc==SQLITE_OK ? "ok" : "failed"));
26781 if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){
26782 rc = SQLITE_BUSY;
26785 return rc;
26861 int rc = SQLITE_OK;
26882 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_CHECKRESERVEDLOCK);
26893 OSTRACE(("TEST WR-LOCK %d %d %d (sem)\n", pFile->h, rc, reserved));
26896 return rc;
26932 int rc = SQLITE_OK;
26938 rc = SQLITE_OK;
26944 rc = SQLITE_BUSY;
26952 return rc;
26985 int rc, tErrno = errno;
26986 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_UNLOCK);
26987 if( IS_LOCK_ERROR(rc) ){
26990 return rc;
27079 int rc;
27084 rc = SQLITE_BUSY;
27086 rc = sqliteErrorFromPosixError(tErrno,
27089 if( IS_LOCK_ERROR(rc) ){
27092 return rc;
27105 int rc = SQLITE_OK;
27139 rc=lrc;
27144 OSTRACE(("TEST WR-LOCK %d %d %d (afp)\n", pFile->h, rc, reserved));
27147 return rc;
27175 int rc = SQLITE_OK;
27215 rc = SQLITE_BUSY;
27244 rc = failed;
27274 rc = lrc1;
27277 rc = lrc2;
27280 rc = lrc1;
27289 rc = SQLITE_BUSY;
27321 rc = ((failed & SQLITE_IOERR) == SQLITE_IOERR) ? failed2 :
27326 rc = failed;
27330 rc = failed;
27334 if( rc==SQLITE_OK ){
27345 rc==SQLITE_OK ? "ok" : "failed"));
27346 return rc;
27357 int rc = SQLITE_OK;
27400 rc = afpSetLock(context->dbPath, pFile, SHARED_FIRST, SHARED_SIZE, 0);
27401 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1) ){
27404 rc = afpSetLock(context->dbPath, pFile, sharedLockByte, 1, 1);
27409 if( rc==SQLITE_OK && pFile->eFileLock>=PENDING_LOCK ){
27410 rc = afpSetLock(context->dbPath, pFile, PENDING_BYTE, 1, 0);
27412 if( rc==SQLITE_OK && pFile->eFileLock>=RESERVED_LOCK && context->reserved ){
27413 rc = afpSetLock(context->dbPath, pFile, RESERVED_BYTE, 1, 0);
27414 if( !rc ){
27418 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1)){
27422 if( rc==SQLITE_OK && eFileLock==NO_LOCK ){
27435 rc = afpSetLock(context->dbPath, pFile, sharedLockByte, 1, 0);
27437 if( !rc ){
27442 if( rc==SQLITE_OK ){
27452 if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock;
27453 return rc;
27460 int rc = SQLITE_OK;
27475 rc = closeUnixFile(id);
27478 return rc;
27685 int rc;
27688 rc = seekAndRead(pFile, 24, oldCntr, 4);
27690 if( rc!=4 || memcmp(oldCntr, &((char*)pBuf)[24-offset], 4)!=0 ){
27774 int rc;
27804 rc = SQLITE_OK;
27807 rc = osFcntl(fd, F_FULLFSYNC, 0);
27809 rc = 1;
27819 if( rc ) rc = fsync(fd);
27825 rc = fsync(fd);
27827 rc = fdatasync(fd);
27829 if( rc==-1 && errno==ENOTSUP ){
27830 rc = fsync(fd);
27835 if( OS_VXWORKS && rc!= -1 ){
27836 rc = 0;
27838 return rc;
27901 int rc;
27919 rc = full_fsync(pFile->h, isFullsync, isDataOnly);
27920 SimulateIOError( rc=1 );
27921 if( rc ){
27934 rc = osOpenDirectory(pFile->zPath, &dirfd);
27935 if( rc==SQLITE_OK && dirfd>=0 ){
27938 }else if( rc==SQLITE_CANTOPEN ){
27939 rc = SQLITE_OK;
27943 return rc;
27951 int rc;
27964 rc = robust_ftruncate(pFile->h, (off_t)nByte);
27965 if( rc ){
27990 int rc;
27993 rc = osFstat(((unixFile*)id)->h, &buf);
27994 SimulateIOError( rc=1 );
27995 if( rc!=0 ){
28092 int rc;
28094 rc = fcntlSizeHint(pFile, *(i64 *)pArg);
28096 return rc;
28247 int rc = SQLITE_OK; /* Result code form fcntl() */
28266 rc = osFcntl(pShmNode->h, F_SETLK, &f);
28267 rc = (rc!=(-1)) ? SQLITE_OK : SQLITE_BUSY;
28275 if( rc==SQLITE_OK ){
28305 return rc;
28377 int rc; /* Result code */
28403 rc = SQLITE_IOERR_FSTAT;
28414 rc = SQLITE_NOMEM;
28432 rc = SQLITE_NOMEM;
28448 rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zShmFilename);
28456 rc = SQLITE_OK;
28459 rc = unixLogError(SQLITE_IOERR_SHMOPEN, "ftruncate", zShmFilename);
28462 if( rc==SQLITE_OK ){
28463 rc = unixShmSystemLock(pShmNode, F_RDLCK, UNIX_SHM_DMS, 1);
28465 if( rc ) goto shm_open_err;
28496 return rc;
28528 int rc = SQLITE_OK;
28532 rc = unixOpenSharedMemory(pDbFd);
28533 if( rc!=SQLITE_OK ) return rc;
28557 rc = SQLITE_IOERR_SHMSIZE;
28570 rc = unixLogError(SQLITE_IOERR_SHMSIZE, "ftruncate",
28582 rc = SQLITE_IOERR_NOMEM;
28594 rc = unixLogError(SQLITE_IOERR_SHMMAP, "mmap", pShmNode->zFilename);
28600 rc = SQLITE_NOMEM;
28616 if( pShmNode->isReadonly && rc==SQLITE_OK ) rc = SQLITE_READONLY;
28618 return rc;
28639 int rc = SQLITE_OK; /* Result code */
28669 rc = unixShmSystemLock(pShmNode, F_UNLCK, ofst+UNIX_SHM_BASE, n);
28671 rc = SQLITE_OK;
28675 if( rc==SQLITE_OK ){
28688 rc = SQLITE_BUSY;
28695 if( rc==SQLITE_OK ){
28697 rc = unixShmSystemLock(pShmNode, F_RDLCK, ofst+UNIX_SHM_BASE, n);
28699 rc = SQLITE_OK;
28704 if( rc==SQLITE_OK ){
28713 rc = SQLITE_BUSY;
28721 if( rc==SQLITE_OK ){
28722 rc = unixShmSystemLock(pShmNode, F_WRLCK, ofst+UNIX_SHM_BASE, n);
28723 if( rc==SQLITE_OK ){
28732 return rc;
29112 int rc = SQLITE_OK;
29151 rc = SQLITE_NOMEM;
29173 rc = findInodeInfo(pNew, &pNew->pInode);
29174 if( rc!=SQLITE_OK ){
29207 rc = SQLITE_NOMEM;
29216 rc = findInodeInfo(pNew, &pNew->pInode);
29217 if( rc!=SQLITE_OK ){
29236 rc = SQLITE_NOMEM;
29249 rc = findInodeInfo(pNew, &pNew->pInode);
29250 if( (rc==SQLITE_OK) && (pNew->pInode->pSem==NULL) ){
29259 rc = SQLITE_NOMEM;
29269 if( rc!=SQLITE_OK ){
29277 if( rc!=SQLITE_OK ){
29283 return rc;
29451 int rc = SQLITE_OK; /* Return Code */
29479 rc = SQLITE_IOERR_FSTAT;
29484 return rc;
29521 int rc = SQLITE_OK; /* Function Return Code */
29594 rc = unixGetTempname(MAX_PATHNAME+1, zTmpname);
29595 if( rc!=SQLITE_OK ){
29596 return rc;
29613 rc = findCreateFileMode(zName, flags, &openMode);
29614 if( rc!=SQLITE_OK ){
29617 return rc;
29631 rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zName);
29699 rc = SQLITE_IOERR_ACCESS;
29705 rc = fillInUnixFile(pVfs, fd, syncDir, pFile, zPath, noLock,
29707 if( rc==SQLITE_OK ){
29708 rc = proxyTransformUnixFile((unixFile*)pFile, ":auto:");
29709 if( rc!=SQLITE_OK ){
29715 return rc;
29723 rc = fillInUnixFile(pVfs, fd, syncDir, pFile, zPath, noLock,
29726 if( rc!=SQLITE_OK ){
29729 return rc;
29742 int rc = SQLITE_OK;
29751 rc = osOpenDirectory(zPath, &fd);
29752 if( rc==SQLITE_OK ){
29759 rc = unixLogError(SQLITE_IOERR_DIR_FSYNC, "fsync", zPath);
29762 }else if( rc==SQLITE_CANTOPEN ){
29763 rc = SQLITE_OK;
29767 return rc;
30326 int rc = SQLITE_OK;
30377 rc = SQLITE_NOMEM;
30389 rc = fillInUnixFile(&dummyVfs, fd, 0, (sqlite3_file*)pNew, path, 0, 0, 0);
30390 if( rc==SQLITE_OK ){
30398 return rc;
30465 int rc = -1;
30496 rc = 0;
30503 if( rc ){
30510 return rc;
30519 int rc = SQLITE_OK;
30525 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, lockType);
30527 if( rc==SQLITE_BUSY ){
30574 rc = SQLITE_OK;
30576 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, SHARED_LOCK);
30578 if( !rc ){
30579 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, lockType);
30583 } while( rc==SQLITE_BUSY && nTries<3 );
30585 return rc;
30606 int rc = SQLITE_OK;
30616 rc = proxyGetHostID(myHostID, &pError);
30617 if( (rc&0xff)==SQLITE_IOERR ){
30621 rc = proxyConchLock(pFile, myHostID, SHARED_LOCK);
30622 if( rc!=SQLITE_OK ){
30630 rc = SQLITE_IOERR_READ;
30677 rc = SQLITE_BUSY;
30697 rc = SQLITE_BUSY;
30699 rc = proxyConchLock(pFile, myHostID, EXCLUSIVE_LOCK);
30702 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, EXCLUSIVE_LOCK);
30704 if( rc==SQLITE_OK ){
30717 rc = unixWrite((sqlite3_file *)conchFile, writeBuffer, writeSize, 0);
30722 if( rc==SQLITE_OK && createConch ){
30733 rc = osFchmod(conchFile->h, cmode);
30734 }while( rc==(-1) && errno==EINTR );
30735 if( rc!=0 ){
30754 if( rc==SQLITE_OK && pFile->openFlags ){
30766 rc=SQLITE_CANTOPEN_BKPT; /* SQLITE_BUSY? proxyTakeConch called
30770 if( rc==SQLITE_OK && !pCtx->lockProxy ){
30772 rc = proxyCreateUnixFile(path, &pCtx->lockProxy, 1);
30773 if( rc!=SQLITE_OK && rc!=SQLITE_NOMEM && tryOldLockPath ){
30782 if( rc==SQLITE_OK ){
30789 rc = SQLITE_NOMEM;
30793 if( rc==SQLITE_OK ){
30805 rc==SQLITE_OK?"ok":"failed"));
30806 return rc;
30816 int rc = SQLITE_OK; /* Subroutine return code */
30826 rc = conchFile->pMethod->xUnlock((sqlite3_file*)conchFile, NO_LOCK);
30830 (rc==SQLITE_OK ? "ok" : "failed")));
30831 return rc;
30885 int rc = SQLITE_OK;
30900 rc=lockProxy->pMethod->xClose((sqlite3_file *)lockProxy);
30901 if( rc ) return rc;
30908 return rc;
30952 int rc = SQLITE_OK;
30973 rc = proxyCreateConchPathname(dbPath, &pCtx->conchFilePath);
30974 if( rc==SQLITE_OK ){
30975 rc = proxyCreateUnixFile(pCtx->conchFilePath, &pCtx->conchFile, 0);
30976 if( rc==SQLITE_CANTOPEN && ((pFile->openFlags&O_RDWR) == 0) ){
30994 rc = SQLITE_OK;
30998 if( rc==SQLITE_OK && lockPath ){
31002 if( rc==SQLITE_OK ){
31005 rc = SQLITE_NOMEM;
31008 if( rc==SQLITE_OK ){
31026 (rc==SQLITE_OK ? "ok" : "failed")));
31027 return rc;
31054 int rc = SQLITE_OK;
31059 rc = SQLITE_ERROR /*SQLITE_PROTOCOL? SQLITE_MISUSE?*/;
31062 rc = SQLITE_OK;
31073 rc = SQLITE_OK;
31075 rc = switchLockProxyPath(pFile, proxyPath);
31079 rc = proxyTransformUnixFile(pFile, proxyPath);
31082 return rc;
31107 int rc = proxyTakeConch(pFile);
31108 if( rc==SQLITE_OK ){
31117 return rc;
31146 int rc = proxyTakeConch(pFile);
31147 if( rc==SQLITE_OK ){
31151 rc = proxy->pMethod->xLock((sqlite3_file*)proxy, eFileLock);
31157 return rc;
31170 int rc = proxyTakeConch(pFile);
31171 if( rc==SQLITE_OK ){
31175 rc = proxy->pMethod->xUnlock((sqlite3_file*)proxy, eFileLock);
31181 return rc;
31193 int rc = SQLITE_OK;
31196 rc = lockProxy->pMethod->xUnlock((sqlite3_file*)lockProxy, NO_LOCK);
31197 if( rc ) return rc;
31198 rc = lockProxy->pMethod->xClose((sqlite3_file*)lockProxy);
31199 if( rc ) return rc;
31205 rc = proxyReleaseConch(pFile);
31206 if( rc ) return rc;
31208 rc = conchFile->pMethod->xClose((sqlite3_file*)conchFile);
31209 if( rc ) return rc;
32640 int rc, cnt = 0;
32647 rc = CloseHandle(pFile->h);
32648 /* SimulateIOError( rc=0; cnt=MX_CLOSE_ATTEMPT; ); */
32649 }while( rc==0 && ++cnt < MX_CLOSE_ATTEMPT && (Sleep(100), 1) );
32665 OSTRACE(("CLOSE %d %s\n", pFile->h, rc ? "ok" : "failed"));
32667 return rc ? SQLITE_OK
32718 int rc; /* True if error has occured, else false */
32729 rc = seekWinFile(pFile, offset);
32730 if( rc==0 ){
32746 rc = 1;
32750 if( rc ){
32767 int rc = SQLITE_OK; /* Return code for this function */
32785 rc = winLogError(SQLITE_IOERR_TRUNCATE, "winTruncate1", pFile->zPath);
32788 rc = winLogError(SQLITE_IOERR_TRUNCATE, "winTruncate2", pFile->zPath);
32791 OSTRACE(("TRUNCATE %d %lld %s\n", pFile->h, nByte, rc ? "failed" : "ok"));
32792 return rc;
32812 BOOL rc;
32853 rc = FlushFileBuffers(pFile->h);
32854 SimulateIOError( rc=FALSE );
32855 if( rc ){
32972 int rc = SQLITE_OK; /* Return code from subroutines */
33078 rc = SQLITE_OK;
33083 rc = SQLITE_BUSY;
33086 return rc;
33095 int rc;
33102 rc = 1;
33103 OSTRACE(("TEST WR-LOCK %d %d (local)\n", pFile->h, rc));
33105 rc = LockFile(pFile->h, RESERVED_BYTE, 0, 1, 0);
33106 if( rc ){
33109 rc = !rc;
33110 OSTRACE(("TEST WR-LOCK %d %d (remote)\n", pFile->h, rc));
33112 *pResOut = rc;
33130 int rc = SQLITE_OK;
33141 rc = winLogError(SQLITE_IOERR_UNLOCK, "winUnlock", pFile->zPath);
33154 return rc;
33178 int rc = winFileSize(id, &oldSz);
33179 if( rc==SQLITE_OK ){
33183 rc = winTruncate(id, newSz);
33187 return rc;
33374 int rc = 0; /* Result code form Lock/UnlockFileEx() */
33388 rc = UnlockFileEx(pFile->hFile.h, 0, nByte, 0, &ovlp);
33390 rc = LockFileEx(pFile->hFile.h, dwFlags, 0, nByte, 0, &ovlp);
33393 if( rc!= 0 ){
33394 rc = SQLITE_OK;
33397 rc = SQLITE_BUSY;
33402 rc==SQLITE_OK ? "ok" : "failed",
33406 return rc;
33468 int rc; /* Result code */
33512 rc = SQLITE_NOMEM;
33516 rc = winOpen(pDbFd->pVfs,
33521 if( SQLITE_OK!=rc ){
33522 rc = SQLITE_CANTOPEN_BKPT;
33530 rc = winTruncate((sqlite3_file *)&pShmNode->hFile, 0);
33531 if( rc!=SQLITE_OK ){
33532 rc = winLogError(SQLITE_IOERR_SHMOPEN, "winOpenShm", pDbFd->zPath);
33535 if( rc==SQLITE_OK ){
33537 rc = winShmSystemLock(pShmNode, _SHM_RDLCK, WIN_SHM_DMS, 1);
33539 if( rc ) goto shm_open_err;
33571 return rc;
33629 int rc = SQLITE_OK; /* Result code */
33655 rc = winShmSystemLock(pShmNode, _SHM_UNLCK, ofst+WIN_SHM_BASE, n);
33657 rc = SQLITE_OK;
33661 if( rc==SQLITE_OK ){
33674 rc = SQLITE_BUSY;
33681 if( rc==SQLITE_OK ){
33683 rc = winShmSystemLock(pShmNode, _SHM_RDLCK, ofst+WIN_SHM_BASE, n);
33685 rc = SQLITE_OK;
33690 if( rc==SQLITE_OK ){
33699 rc = SQLITE_BUSY;
33707 if( rc==SQLITE_OK ){
33708 rc = winShmSystemLock(pShmNode, _SHM_WRLCK, ofst+WIN_SHM_BASE, n);
33709 if( rc==SQLITE_OK ){
33718 rc ? "failed" : "ok"));
33719 return rc;
33766 int rc = SQLITE_OK;
33769 rc = winOpenSharedMemory(pDbFd);
33770 if( rc!=SQLITE_OK ) return rc;
33789 rc = winFileSize((sqlite3_file *)&pShmNode->hFile, &sz);
33790 if( rc!=SQLITE_OK ){
33791 rc = winLogError(SQLITE_IOERR_SHMSIZE, "winShmMap1", pDbFd->zPath);
33803 rc = winTruncate((sqlite3_file *)&pShmNode->hFile, nByte);
33804 if( rc!=SQLITE_OK ){
33805 rc = winLogError(SQLITE_IOERR_SHMSIZE, "winShmMap2", pDbFd->zPath);
33815 rc = SQLITE_IOERR_NOMEM;
33842 rc = winLogError(SQLITE_IOERR_SHMMAP, "winShmMap3", pDbFd->zPath);
33863 return rc;
34032 int rc = SQLITE_OK; /* Function Return Code */
34089 rc = getTempname(MAX_PATH+1, zTmpname);
34090 if( rc!=SQLITE_OK ){
34091 return rc;
34220 return rc;
34241 int rc;
34252 rc = 1;
34254 (rc = DeleteFileW(zConverted))==0 && retryIoerr(&cnt) ){}
34255 rc = rc ? SQLITE_OK : SQLITE_ERROR;
34262 rc = 1;
34264 (rc = DeleteFileA(zConverted))==0 && retryIoerr(&cnt) ){}
34265 rc = rc ? SQLITE_OK : SQLITE_ERROR;
34268 if( rc ){
34269 rc = winLogError(SQLITE_IOERR_DELETE, "winDelete", zFilename);
34274 OSTRACE(("DELETE \"%s\" %s\n", zFilename, (rc ? "failed" : "ok" )));
34275 return rc;
34288 int rc = 0;
34301 while( !(rc = GetFileAttributesExW((WCHAR*)zConverted,
34304 if( rc ){
34338 rc = attr!=INVALID_FILE_ATTRIBUTES;
34341 rc = attr!=INVALID_FILE_ATTRIBUTES &&
34347 *pResOut = rc;
34455 int rc;
34465 rc = winFullPathname(pVfs, zRelative, MAX_PATH, zFullpath);
34467 if( rc == SQLITE_OK )
34674 int rc;
34676 rc = winCurrentTimeInt64(pVfs, &i);
34677 if( !rc ){
34680 return rc;
34973 int rc;
34981 rc = sqlite3BitvecSet(p, i);
34983 if( aiValues[j] ) rc |= sqlite3BitvecSet(p, aiValues[j]);
34986 return rc;
35101 int rc = -1;
35153 ** match (rc==0). Change rc to non-zero if a discrepancy
35156 rc = sqlite3BitvecTest(0,0) + sqlite3BitvecTest(pBitvec, sz+1)
35161 rc = i;
35171 return rc;
35430 int rc;
35438 rc = pCache->xStress(pCache->pStress, pPg);
35439 if( rc!=SQLITE_OK && rc!=SQLITE_BUSY ){
35440 return rc;
38557 int rc = sqlite3OsRead(fd, ac, sizeof(ac), offset);
38558 if( rc==SQLITE_OK ){
38561 return rc;
38590 int rc = SQLITE_OK;
38597 rc = sqlite3OsUnlock(pPager->fd, eLock);
38603 return rc;
38617 int rc = SQLITE_OK;
38621 rc = sqlite3OsLock(pPager->fd, eLock);
38622 if( rc==SQLITE_OK && (pPager->eLock!=UNKNOWN_LOCK||eLock==EXCLUSIVE_LOCK) ){
38627 return rc;
38740 int rc; /* Return code */
38748 if( SQLITE_OK!=(rc = sqlite3OsFileSize(pJrnl, &szJ))
38750 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-16, &len))
38752 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-12, &cksum))
38753 || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, aMagic, 8, szJ-8))
38755 || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, zMaster, len, szJ-16-len))
38757 return rc;
38826 int rc = SQLITE_OK; /* Return code */
38833 rc = sqlite3OsTruncate(pPager->jfd, 0);
38836 rc = sqlite3OsWrite(pPager->jfd, zeroHdr, sizeof(zeroHdr), 0);
38838 if( rc==SQLITE_OK && !pPager->noSync ){
38839 rc = sqlite3OsSync(pPager->jfd, SQLITE_SYNC_DATAONLY|pPager->syncFlags);
38848 if( rc==SQLITE_OK && iLimit>0 ){
38850 rc = sqlite3OsFileSize(pPager->jfd, &sz);
38851 if( rc==SQLITE_OK && sz>iLimit ){
38852 rc = sqlite3OsTruncate(pPager->jfd, iLimit);
38856 return rc;
38875 int rc = SQLITE_OK; /* Return code */
38965 for(nWrite=0; rc==SQLITE_OK&&nWrite<JOURNAL_HDR_SZ(pPager); nWrite+=nHeader){
38967 rc = sqlite3OsWrite(pPager->jfd, zHeader, nHeader, pPager->journalOff);
38972 return rc;
38999 int rc; /* Return code */
39021 rc = sqlite3OsRead(pPager->jfd, aMagic, sizeof(aMagic), iHdrOff);
39022 if( rc ){
39023 return rc;
39034 if( SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+8, pNRec))
39035 || SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+12, &pPager->cksumInit))
39036 || SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+16, pDbSize))
39038 return rc;
39046 if( SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+20, &iSectorSize))
39047 || SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+24, &iPageSize))
39049 return rc;
39081 rc = sqlite3PagerSetPagesize(pPager, &iPageSize, -1);
39082 testcase( rc!=SQLITE_OK );
39094 return rc;
39118 int rc; /* Return code */
39154 if( (0 != (rc = write32bits(pPager->jfd, iHdrOff, PAGER_MJ_PGNO(pPager))))
39155 || (0 != (rc = sqlite3OsWrite(pPager->jfd, zMaster, nMaster, iHdrOff+4)))
39156 || (0 != (rc = write32bits(pPager->jfd, iHdrOff+4+nMaster, nMaster)))
39157 || (0 != (rc = write32bits(pPager->jfd, iHdrOff+4+nMaster+4, cksum)))
39158 || (0 != (rc = sqlite3OsWrite(pPager->jfd, aJournalMagic, 8, iHdrOff+4+nMaster+8)))
39160 return rc;
39174 if( SQLITE_OK==(rc = sqlite3OsFileSize(pPager->jfd, &jrnlSize))
39177 rc = sqlite3OsTruncate(pPager->jfd, pPager->journalOff);
39179 return rc;
39231 int rc = SQLITE_OK; /* Result code */
39236 rc |= sqlite3BitvecSet(p->pInSavepoint, pgno);
39237 testcase( rc==SQLITE_NOMEM );
39238 assert( rc==SQLITE_OK || rc==SQLITE_NOMEM );
39241 return rc;
39277 int rc; /* Error code returned by pagerUnlockDb() */
39302 rc = pagerUnlockDb(pPager, NO_LOCK);
39303 if( rc!=SQLITE_OK && pPager->eState==PAGER_ERROR ){
39353 static int pager_error(Pager *pPager, int rc){
39354 int rc2 = rc & 0xff;
39355 assert( rc==SQLITE_OK || !MEMDB );
39362 pPager->errCode = rc;
39365 return rc;
39422 int rc = SQLITE_OK; /* Error code from journal finalization operation */
39455 rc = SQLITE_OK;
39457 rc = sqlite3OsTruncate(pPager->jfd, 0);
39463 rc = zeroJournalHdr(pPager, hasMaster);
39477 rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0);
39516 return (rc==SQLITE_OK?rc2:rc);
39639 int rc;
39671 rc = read32bits(jfd, *pOffset, &pgno);
39672 if( rc!=SQLITE_OK ) return rc;
39673 rc = sqlite3OsRead(jfd, (u8*)aData, pPager->pageSize, (*pOffset)+4);
39674 if( rc!=SQLITE_OK ) return rc;
39690 rc = read32bits(jfd, (*pOffset)-4, &cksum);
39691 if( rc ) return rc;
39700 if( pDone && (rc = sqlite3BitvecSet(pDone, pgno))!=SQLITE_OK ){
39701 return rc;
39769 rc = sqlite3OsWrite(pPager->fd, (u8*)aData, pPager->pageSize, ofst);
39774 CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM);
39776 CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM, aData);
39798 rc = sqlite3PagerAcquire(pPager, pgno, &pPg, 1);
39801 if( rc!=SQLITE_OK ) return rc;
39848 CODEC1(pPager, pData, pPg->pgno, 3, rc=SQLITE_NOMEM);
39851 return rc;
39899 int rc; /* Return code */
39914 rc = SQLITE_NOMEM;
39917 rc = sqlite3OsOpen(pVfs, zMaster, pMaster, flags, 0);
39919 if( rc!=SQLITE_OK ) goto delmaster_out;
39926 rc = sqlite3OsFileSize(pMaster, &nMasterJournal);
39927 if( rc!=SQLITE_OK ) goto delmaster_out;
39931 rc = SQLITE_NOMEM;
39935 rc = sqlite3OsRead(pMaster, zMasterJournal, (int)nMasterJournal, 0);
39936 if( rc!=SQLITE_OK ) goto delmaster_out;
39942 rc = sqlite3OsAccess(pVfs, zJournal, SQLITE_ACCESS_EXISTS, &exists);
39943 if( rc!=SQLITE_OK ){
39953 rc = sqlite3OsOpen(pVfs, zJournal, pJournal, flags, 0);
39954 if( rc!=SQLITE_OK ){
39958 rc = readMasterJournal(pJournal, zMasterPtr, nMasterPtr);
39960 if( rc!=SQLITE_OK ){
39974 rc = sqlite3OsDelete(pVfs, zMaster, 0);
39983 return rc;
40008 int rc = SQLITE_OK;
40019 rc = sqlite3OsFileSize(pPager->fd, &currentSize);
40021 if( rc==SQLITE_OK && currentSize!=newSize ){
40023 rc = sqlite3OsTruncate(pPager->fd, newSize);
40030 rc = sqlite3OsWrite(pPager->fd, pTmp, szPage, newSize-szPage);
40032 if( rc==SQLITE_OK ){
40037 return rc;
40136 int rc; /* Result code of a subroutine */
40145 rc = sqlite3OsFileSize(pPager->jfd, &szJ);
40146 if( rc!=SQLITE_OK ){
40162 rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1);
40163 if( rc==SQLITE_OK && zMaster[0] ){
40164 rc = sqlite3OsAccess(pVfs, zMaster, SQLITE_ACCESS_EXISTS, &res);
40167 if( rc!=SQLITE_OK || !res ){
40183 rc = readJournalHdr(pPager, isHot, szJ, &nRec, &mxPg);
40184 if( rc!=SQLITE_OK ){
40185 if( rc==SQLITE_DONE ){
40186 rc = SQLITE_OK;
40224 rc = pager_truncate(pPager, mxPg);
40225 if( rc!=SQLITE_OK ){
40239 rc = pager_playback_one_page(pPager,&pPager->journalOff,0,1,0);
40240 if( rc!=SQLITE_OK ){
40241 if( rc==SQLITE_DONE ){
40242 rc = SQLITE_OK;
40245 }else if( rc==SQLITE_IOERR_SHORT_READ ){
40251 rc = SQLITE_OK;
40289 if( rc==SQLITE_OK ){
40291 rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1);
40292 testcase( rc!=SQLITE_OK );
40294 if( rc==SQLITE_OK
40297 rc = sqlite3PagerSync(pPager);
40299 if( rc==SQLITE_OK ){
40300 rc = pager_end_transaction(pPager, zMaster[0]!='\0');
40301 testcase( rc!=SQLITE_OK );
40303 if( rc==SQLITE_OK && zMaster[0] && res ){
40307 rc = pager_delmaster(pPager, zMaster);
40308 testcase( rc!=SQLITE_OK );
40316 return rc;
40334 int rc = SQLITE_OK; /* Return code */
40349 rc = sqlite3WalRead(pPager->pWal, pgno, &isInWal, pgsz, pPg->pData);
40351 if( rc==SQLITE_OK && !isInWal ){
40353 rc = sqlite3OsRead(pPager->fd, pPg->pData, pgsz, iOffset);
40354 if( rc==SQLITE_IOERR_SHORT_READ ){
40355 rc = SQLITE_OK;
40360 if( rc ){
40379 CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM);
40387 return rc;
40426 int rc = SQLITE_OK;
40435 rc = readDbPage(pPg);
40436 if( rc==SQLITE_OK ){
40453 return rc;
40460 int rc; /* Return Code */
40471 rc = sqlite3WalUndo(pPager->pWal, pagerUndoCallback, (void *)pPager);
40473 while( pList && rc==SQLITE_OK ){
40475 rc = pagerUndoCallback((void *)pPager, pList->pgno);
40479 return rc;
40498 int rc; /* Return code */
40525 rc = sqlite3WalFrames(pPager->pWal,
40528 if( rc==SQLITE_OK && pPager->pBackup ){
40542 return rc;
40554 int rc; /* Return code */
40567 rc = sqlite3WalBeginReadTransaction(pPager->pWal, &changed);
40568 if( rc!=SQLITE_OK || changed ){
40572 return rc;
40608 int rc = sqlite3OsFileSize(pPager->fd, &n);
40609 if( rc!=SQLITE_OK ){
40610 return rc;
40651 int rc = SQLITE_OK;
40659 rc = pagerPagecount(pPager, &nPage);
40660 if( rc ) return rc;
40662 rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0);
40665 rc = sqlite3OsAccess(
40669 if( rc==SQLITE_OK ){
40672 rc = sqlite3PagerOpenWal(pPager, 0);
40678 return rc;
40721 int rc = SQLITE_OK; /* Return code */
40763 while( rc==SQLITE_OK && pPager->journalOff<iHdrOff ){
40764 rc = pager_playback_one_page(pPager, &pPager->journalOff, pDone, 1, 1);
40766 assert( rc!=SQLITE_DONE );
40776 while( rc==SQLITE_OK && pPager->journalOff<szJ ){
40780 rc = readJournalHdr(pPager, 0, szJ, &nJRec, &dummy);
40781 assert( rc!=SQLITE_DONE );
40793 for(ii=0; rc==SQLITE_OK && ii<nJRec && pPager->journalOff<szJ; ii++){
40794 rc = pager_playback_one_page(pPager, &pPager->journalOff, pDone, 1, 1);
40796 assert( rc!=SQLITE_DONE );
40798 assert( rc!=SQLITE_OK || pPager->journalOff>=szJ );
40809 rc = sqlite3WalSavepointUndo(pPager->pWal, pSavepoint->aWalData);
40811 for(ii=pSavepoint->iSubRec; rc==SQLITE_OK && ii<pPager->nSubRec; ii++){
40813 rc = pager_playback_one_page(pPager, &offset, pDone, 0, 1);
40815 assert( rc!=SQLITE_DONE );
40819 if( rc==SQLITE_OK ){
40823 return rc;
40931 int rc; /* Return code */
40939 rc = sqlite3OsOpen(pPager->pVfs, 0, pFile, vfsFlags, 0);
40940 assert( rc!=SQLITE_OK || isOpen(pFile) );
40941 return rc;
41005 int rc = SQLITE_OK;
41027 rc = sqlite3OsFileSize(pPager->fd, &nByte);
41029 if( rc==SQLITE_OK ){
41031 if( !pNew ) rc = SQLITE_NOMEM;
41034 if( rc==SQLITE_OK ){
41045 if( rc==SQLITE_OK ){
41051 return rc;
41121 int rc = SQLITE_OK;
41133 rc = sqlite3OsRead(pPager->fd, pDest, N, 0);
41134 if( rc==SQLITE_IOERR_SHORT_READ ){
41135 rc = SQLITE_OK;
41138 return rc;
41170 int rc; /* Return code */
41183 rc = pagerLockDb(pPager, locktype);
41184 }while( rc==SQLITE_BUSY && pPager->xBusyHandler(pPager->pBusyHandlerArg) );
41185 return rc;
41251 int rc = SQLITE_OK;
41253 rc = sqlite3OsSync(pPager->jfd, SQLITE_SYNC_NORMAL);
41255 if( rc==SQLITE_OK ){
41256 rc = sqlite3OsFileSize(pPager->jfd, &pPager->journalHdr);
41258 return rc;
41379 int rc; /* Return code */
41387 rc = sqlite3PagerExclusiveLock(pPager);
41388 if( rc!=SQLITE_OK ) return rc;
41427 rc = sqlite3OsRead(pPager->jfd, aMagic, 8, iNextHdrOffset);
41428 if( rc==SQLITE_OK && 0==memcmp(aMagic, aJournalMagic, 8) ){
41430 rc = sqlite3OsWrite(pPager->jfd, &zerobyte, 1, iNextHdrOffset);
41432 if( rc!=SQLITE_OK && rc!=SQLITE_IOERR_SHORT_READ ){
41433 return rc;
41450 rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags);
41451 if( rc!=SQLITE_OK ) return rc;
41454 rc = sqlite3OsWrite(
41457 if( rc!=SQLITE_OK ) return rc;
41462 rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags|
41465 if( rc!=SQLITE_OK ) return rc;
41471 rc = writeJournalHdr(pPager);
41472 if( rc!=SQLITE_OK ) return rc;
41522 int rc = SQLITE_OK; /* Return code */
41530 ** is not possible for rc to be other than SQLITE_OK if this branch
41534 assert( pPager->tempFile && rc==SQLITE_OK );
41535 rc = pagerOpentemp(pPager, pPager->fd, pPager->vfsFlags);
41541 assert( rc!=SQLITE_OK || isOpen(pPager->fd) );
41542 if( rc==SQLITE_OK && pPager->dbSize>pPager->dbHintSize ){
41548 while( rc==SQLITE_OK && pList ){
41570 rc = sqlite3OsWrite(pPager->fd, pData, pPager->pageSize, offset);
41598 return rc;
41610 int rc = SQLITE_OK;
41615 rc = pagerOpentemp(pPager, pPager->sjfd, SQLITE_OPEN_SUBJOURNAL);
41618 return rc;
41635 int rc = SQLITE_OK;
41647 rc = openSubJournal(pPager);
41651 if( rc==SQLITE_OK ){
41658 rc = write32bits(pPager->sjfd, offset, pPg->pgno);
41659 if( rc==SQLITE_OK ){
41660 rc = sqlite3OsWrite(pPager->sjfd, pData2, pPager->pageSize, offset+4);
41664 if( rc==SQLITE_OK ){
41667 rc = addToSavepointBitvecs(pPager, pPg->pgno);
41669 return rc;
41693 int rc = SQLITE_OK;
41723 rc = subjournalPage(pPg);
41725 if( rc==SQLITE_OK ){
41726 rc = pagerWalFrames(pPager, pPg, 0, 0, 0);
41734 rc = syncJournal(pPager, 1);
41765 rc==SQLITE_OK && pPg->pgno>pPager->dbSize && subjRequiresPage(pPg)
41767 rc = subjournalPage(pPg);
41771 if( rc==SQLITE_OK ){
41773 rc = pager_write_pagelist(pPager, pPg);
41778 if( rc==SQLITE_OK ){
41783 return pager_error(pPager, rc);
41828 int rc = SQLITE_OK; /* Return code */
41878 rc = sqlite3OsFullPathname(pVfs, zFilename, nPathname, zPathname);
41886 if( rc==SQLITE_OK && nPathname+8>pVfs->mxPathname ){
41893 rc = SQLITE_CANTOPEN_BKPT;
41895 if( rc!=SQLITE_OK ){
41897 return rc;
41961 rc = sqlite3OsOpen(pVfs, pPager->zFilename, pPager->fd, vfsFlags, &fout);
41973 if( rc==SQLITE_OK && !readOnly ){
42016 if( rc==SQLITE_OK ){
42018 rc = sqlite3PagerSetPagesize(pPager, &szPageDflt, -1);
42019 testcase( rc!=SQLITE_OK );
42025 if( rc!=SQLITE_OK ){
42029 return rc;
42124 int rc = SQLITE_OK; /* Return code */
42138 rc = sqlite3OsAccess(pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS, &exists);
42140 if( rc==SQLITE_OK && exists ){
42151 rc = sqlite3OsCheckReservedLock(pPager->fd, &locked);
42152 if( rc==SQLITE_OK && !locked ){
42161 rc = pagerPagecount(pPager, &nPage);
42162 if( rc==SQLITE_OK ){
42179 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &f);
42181 if( rc==SQLITE_OK ){
42183 rc = sqlite3OsRead(pPager->jfd, (void *)&first, 1, 0);
42184 if( rc==SQLITE_IOERR_SHORT_READ ){
42185 rc = SQLITE_OK;
42191 }else if( rc==SQLITE_CANTOPEN ){
42202 rc = SQLITE_OK;
42209 return rc;
42240 int rc = SQLITE_OK; /* Return code */
42259 rc = pager_wait_on_lock(pPager, SHARED_LOCK);
42260 if( rc!=SQLITE_OK ){
42270 rc = hasHotJournal(pPager, &bHotJournal);
42272 if( rc!=SQLITE_OK ){
42291 rc = pagerLockDb(pPager, EXCLUSIVE_LOCK);
42292 if( rc!=SQLITE_OK ){
42312 rc = sqlite3OsAccess(
42314 if( rc==SQLITE_OK && bExists ){
42318 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &fout);
42319 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) );
42320 if( rc==SQLITE_OK && fout&SQLITE_OPEN_READONLY ){
42321 rc = SQLITE_CANTOPEN_BKPT;
42336 assert( rc==SQLITE_OK );
42337 rc = pagerSyncHotJournal(pPager);
42338 if( rc==SQLITE_OK ){
42339 rc = pager_playback(pPager, 1);
42346 if( rc!=SQLITE_OK ){
42363 pager_error(pPager, rc);
42395 rc = pagerPagecount(pPager, &nPage);
42396 if( rc ) goto failed;
42400 rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24);
42401 if( rc!=SQLITE_OK ){
42416 rc = pagerOpenWalIfPresent(pPager);
42418 assert( pPager->pWal==0 || rc==SQLITE_OK );
42423 assert( rc==SQLITE_OK );
42424 rc = pagerBeginReadTransaction(pPager);
42427 if( pPager->eState==PAGER_OPEN && rc==SQLITE_OK ){
42428 rc = pagerPagecount(pPager, &pPager->dbSize);
42432 if( rc!=SQLITE_OK ){
42439 return rc;
42512 int rc;
42525 rc = pPager->errCode;
42527 rc = sqlite3PcacheFetch(pPager->pPCache, pgno, 1, ppPage);
42530 if( rc!=SQLITE_OK ){
42558 rc = SQLITE_CORRUPT_BKPT;
42564 rc = SQLITE_FULL;
42576 TESTONLY( rc = ) sqlite3BitvecSet(pPager->pInJournal, pgno);
42577 testcase( rc==SQLITE_NOMEM );
42579 TESTONLY( rc = ) addToSavepointBitvecs(pPager, pgno);
42580 testcase( rc==SQLITE_NOMEM );
42587 rc = readDbPage(pPg);
42588 if( rc!=SQLITE_OK ){
42598 assert( rc!=SQLITE_OK );
42605 return rc;
42668 int rc = SQLITE_OK; /* Return code */
42698 rc = sqlite3JournalOpen(
42702 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0);
42705 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) );
42712 if( rc==SQLITE_OK ){
42718 rc = writeJournalHdr(pPager);
42722 if( rc!=SQLITE_OK ){
42730 return rc;
42751 int rc = SQLITE_OK;
42765 rc = pagerLockDb(pPager, EXCLUSIVE_LOCK);
42766 if( rc!=SQLITE_OK ){
42767 return rc;
42777 rc = sqlite3WalBeginWriteTransaction(pPager->pWal);
42784 rc = pagerLockDb(pPager, RESERVED_LOCK);
42785 if( rc==SQLITE_OK && exFlag ){
42786 rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK);
42790 if( rc==SQLITE_OK ){
42807 assert( rc==SQLITE_OK || pPager->eState==PAGER_READER );
42808 assert( rc!=SQLITE_OK || pPager->eState==PAGER_WRITER_LOCKED );
42813 return rc;
42826 int rc = SQLITE_OK;
42858 rc = pager_open_journal(pPager);
42859 if( rc!=SQLITE_OK ) return rc;
42901 rc = write32bits(pPager->jfd, iOff, pPg->pgno);
42902 if( rc!=SQLITE_OK ) return rc;
42903 rc = sqlite3OsWrite(pPager->jfd, pData2, pPager->pageSize, iOff+4);
42904 if( rc!=SQLITE_OK ) return rc;
42905 rc = write32bits(pPager->jfd, iOff+pPager->pageSize+4, cksum);
42906 if( rc!=SQLITE_OK ) return rc;
42918 rc = sqlite3BitvecSet(pPager->pInJournal, pPg->pgno);
42919 testcase( rc==SQLITE_NOMEM );
42920 assert( rc==SQLITE_OK || rc==SQLITE_NOMEM );
42921 rc |= addToSavepointBitvecs(pPager, pPg->pgno);
42922 if( rc!=SQLITE_OK ){
42923 assert( rc==SQLITE_NOMEM );
42924 return rc;
42942 rc = subjournalPage(pPg);
42951 return rc;
42969 int rc = SQLITE_OK;
43012 for(ii=0; ii<nPage && rc==SQLITE_OK; ii++){
43017 rc = sqlite3PagerGet(pPager, pg, &pPage);
43018 if( rc==SQLITE_OK ){
43019 rc = pager_write(pPage);
43040 if( rc==SQLITE_OK && needSync ){
43054 rc = pager_write(pDbPage);
43056 return rc;
43117 int rc = SQLITE_OK;
43148 rc = sqlite3PagerGet(pPager, 1, &pPgHdr);
43149 assert( pPgHdr==0 || rc==SQLITE_OK );
43154 ** above is always successful - hence the ALWAYS on rc==SQLITE_OK.
43156 if( !DIRECT_MODE && ALWAYS(rc==SQLITE_OK) ){
43157 rc = sqlite3PagerWrite(pPgHdr);
43160 if( rc==SQLITE_OK ){
43168 CODEC2(pPager, pPgHdr->pData, 1, 6, rc=SQLITE_NOMEM, zBuf);
43169 if( rc==SQLITE_OK ){
43170 rc = sqlite3OsWrite(pPager->fd, zBuf, pPager->pageSize, 0);
43172 if( rc==SQLITE_OK ){
43183 return rc;
43194 int rc = SQLITE_OK;
43197 rc = sqlite3OsSync(pPager->fd, pPager->syncFlags);
43200 sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC_OMITTED, (void *)&rc);
43202 return rc;
43217 int rc = SQLITE_OK;
43224 rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK);
43226 return rc;
43260 int rc = SQLITE_OK; /* Return code */
43291 rc = sqlite3PagerGet(pPager, 1, &pPageOne);
43295 assert( rc==SQLITE_OK );
43297 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1,
43302 if( rc==SQLITE_OK ){
43346 rc = pager_incr_changecounter(pPager, 1);
43348 rc = sqlite3JournalCreate(pPager->jfd);
43349 if( rc==SQLITE_OK ){
43350 rc = pager_incr_changecounter(pPager, 0);
43354 rc = pager_incr_changecounter(pPager, 0);
43356 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
43379 rc = sqlite3PagerGet(pPager, i, &pPage);
43380 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
43381 rc = sqlite3PagerWrite(pPage);
43383 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
43394 rc = writeMasterJournal(pPager, zMaster);
43395 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
43408 rc = syncJournal(pPager, 0);
43409 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
43411 rc = pager_write_pagelist(pPager,sqlite3PcacheDirtyList(pPager->pPCache));
43412 if( rc!=SQLITE_OK ){
43413 assert( rc!=SQLITE_IOERR_BLOCKED );
43424 rc = pager_truncate(pPager, nNew);
43425 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
43430 rc = sqlite3PagerSync(pPager);
43437 if( rc==SQLITE_OK && !pagerUseWal(pPager) ){
43440 return rc;
43460 int rc = SQLITE_OK; /* Return code */
43494 rc = pager_end_transaction(pPager, pPager->setMaster);
43495 return pager_error(pPager, rc);
43525 int rc = SQLITE_OK; /* Return code */
43538 rc = sqlite3PagerSavepoint(pPager, SAVEPOINT_ROLLBACK, -1);
43540 if( rc==SQLITE_OK ) rc = rc2;
43543 rc = pager_end_transaction(pPager, 0);
43551 return rc;
43554 rc = pager_playback(pPager, 0);
43557 assert( pPager->eState==PAGER_READER || rc!=SQLITE_OK );
43558 assert( rc==SQLITE_OK || rc==SQLITE_FULL || (rc&0xFF)==SQLITE_IOERR );
43563 return pager_error(pPager, rc);
43639 int rc = SQLITE_OK; /* Return code */
43684 return rc;
43718 int rc = pPager->errCode; /* Return code */
43723 if( rc==SQLITE_OK && iSavepoint<pPager->nSavepoint ){
43743 rc = sqlite3OsTruncate(pPager->sjfd, 0);
43744 assert( rc==SQLITE_OK );
43756 rc = pagerPlaybackSavepoint(pPager, pSavepoint);
43757 assert(rc!=SQLITE_DONE);
43761 return rc;
43854 int rc; /* Return code */
43867 rc = sqlite3PagerWrite(pPg);
43868 if( rc ) return rc;
43891 && SQLITE_OK!=(rc = subjournalPage(pPg))
43893 return rc;
43962 rc = sqlite3PagerGet(pPager, needSyncPgno, &pPgHdr);
43963 if( rc!=SQLITE_OK ){
43968 return rc;
44104 int rc = SQLITE_OK;
44108 rc = sqlite3PagerSharedLock(pPager);
44111 assert( rc==SQLITE_OK );
44112 rc = pagerLockDb(pPager, RESERVED_LOCK);
44114 if( rc==SQLITE_OK ){
44117 if( rc==SQLITE_OK && state==PAGER_READER ){
44183 int rc = SQLITE_OK;
44185 rc = sqlite3WalCheckpoint(pPager->pWal, eMode,
44191 return rc;
44212 int rc; /* Return code */
44215 rc = pagerLockDb(pPager, EXCLUSIVE_LOCK);
44216 if( rc!=SQLITE_OK ){
44222 return rc;
44232 int rc = SQLITE_OK;
44243 rc = pagerExclusiveLock(pPager);
44249 if( rc==SQLITE_OK ){
44250 rc = sqlite3WalOpen(pPager->pVfs,
44256 return rc;
44279 int rc = SQLITE_OK; /* Return code */
44293 rc = pagerOpenWal(pPager);
44294 if( rc==SQLITE_OK ){
44302 return rc;
44315 int rc = SQLITE_OK;
44325 rc = pagerLockDb(pPager, SHARED_LOCK);
44326 if( rc==SQLITE_OK ){
44327 rc = sqlite3OsAccess(
44331 if( rc==SQLITE_OK && logexists ){
44332 rc = pagerOpenWal(pPager);
44339 if( rc==SQLITE_OK && pPager->pWal ){
44340 rc = pagerExclusiveLock(pPager);
44341 if( rc==SQLITE_OK ){
44342 rc = sqlite3WalClose(pPager->pWal, pPager->ckptSyncFlags,
44347 return rc;
44882 int rc = SQLITE_OK;
44903 if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM;
44905 rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ,
44908 if( rc==SQLITE_READONLY ){
44910 rc = SQLITE_OK;
44916 assert( iPage==0 || *ppPage || rc!=SQLITE_OK );
44917 return rc;
45139 int rc;
45141 rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, 1,
45144 walLockName(lockIdx), rc ? "failed" : "ok"));
45145 VVA_ONLY( pWal->lockError = (u8)(rc!=SQLITE_OK && rc!=SQLITE_BUSY); )
45146 return rc;
45155 int rc;
45157 rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, n,
45160 walLockName(lockIdx), n, rc ? "failed" : "ok"));
45161 VVA_ONLY( pWal->lockError = (u8)(rc!=SQLITE_OK && rc!=SQLITE_BUSY); )
45162 return rc;
45207 int rc; /* Return code */
45210 rc = walIndexPage(pWal, iHash, &aPgno);
45211 assert( rc==SQLITE_OK || iHash>0 );
45213 if( rc==SQLITE_OK ){
45229 return rc;
45335 int rc; /* Return code */
45340 rc = walHashGet(pWal, walFramePage(iFrame), &aHash, &aPgno, &iZero);
45345 if( rc==SQLITE_OK ){
45409 return rc;
45424 int rc; /* Return Code */
45442 rc = walLockExclusive(pWal, iLock, nLock);
45443 if( rc ){
45444 return rc;
45450 rc = sqlite3OsFileSize(pWal->pWalFd, &nSize);
45451 if( rc!=SQLITE_OK ){
45467 rc = sqlite3OsRead(pWal->pWalFd, aBuf, WAL_HDRSIZE, 0);
45468 if( rc!=SQLITE_OK ){
45505 rc = SQLITE_CANTOPEN_BKPT;
45513 rc = SQLITE_NOMEM;
45526 rc = sqlite3OsRead(pWal->pWalFd, aFrame, szFrame, iOffset);
45527 if( rc!=SQLITE_OK ) break;
45530 rc = walIndexAppend(pWal, ++iFrame, pgno);
45531 if( rc!=SQLITE_OK ) break;
45549 if( rc==SQLITE_OK ){
45578 WALTRACE(("WAL%p: recovery %s\n", pWal, rc ? "failed" : "ok"));
45580 return rc;
45621 int rc; /* Return Code */
45657 rc = sqlite3OsOpen(pVfs, zWalName, pRet->pWalFd, flags, &flags);
45658 if( rc==SQLITE_OK && flags&SQLITE_OPEN_READONLY ){
45662 if( rc!=SQLITE_OK ){
45670 return rc;
45882 int rc = SQLITE_OK; /* Return Code */
45909 rc = SQLITE_NOMEM;
45912 for(i=0; rc==SQLITE_OK && i<nSegment; i++){
45917 rc = walHashGet(pWal, i, &aHash, &aPgno, &iZero);
45918 if( rc==SQLITE_OK ){
45944 if( rc!=SQLITE_OK ){
45948 return rc;
45964 int rc;
45966 rc = walLockExclusive(pWal, lockIdx, n);
45967 }while( xBusy && rc==SQLITE_BUSY && xBusy(pBusyArg) );
45968 return rc;
46018 int rc; /* Return code */
46036 rc = walIteratorInit(pWal, &pIter);
46037 if( rc!=SQLITE_OK ){
46038 return rc;
46055 rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(i), 1);
46056 if( rc==SQLITE_OK ){
46059 }else if( rc==SQLITE_BUSY ){
46069 && (rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(0), 1))==SQLITE_OK
46076 rc = sqlite3OsSync(pWal->pWalFd, sync_flags);
46082 if( rc==SQLITE_OK ){
46084 rc = sqlite3OsFileSize(pWal->pDbFd, &nSize);
46085 if( rc==SQLITE_OK && nSize<nReq ){
46091 while( rc==SQLITE_OK && 0==walIteratorNext(pIter, &iDbpage, &iFrame) ){
46097 rc = sqlite3OsRead(pWal->pWalFd, zBuf, szPage, iOffset);
46098 if( rc!=SQLITE_OK ) break;
46101 rc = sqlite3OsWrite(pWal->pDbFd, zBuf, szPage, iOffset);
46102 if( rc!=SQLITE_OK ) break;
46106 if( rc==SQLITE_OK ){
46110 rc = sqlite3OsTruncate(pWal->pDbFd, szDb);
46111 if( rc==SQLITE_OK && sync_flags ){
46112 rc = sqlite3OsSync(pWal->pDbFd, sync_flags);
46115 if( rc==SQLITE_OK ){
46124 if( rc==SQLITE_BUSY ){
46127 rc = SQLITE_OK;
46135 if( rc==SQLITE_OK && eMode!=SQLITE_CHECKPOINT_PASSIVE ){
46138 rc = SQLITE_BUSY;
46141 rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(1), WAL_NREADER-1);
46142 if( rc==SQLITE_OK ){
46150 return rc;
46162 int rc = SQLITE_OK;
46174 rc = sqlite3OsLock(pWal->pDbFd, SQLITE_LOCK_EXCLUSIVE);
46175 if( rc==SQLITE_OK ){
46180 rc = sqlite3WalCheckpoint(
46184 if( rc==SQLITE_OK && bPersistWal!=1 ){
46198 return rc;
46277 int rc; /* Return code */
46285 rc = walIndexPage(pWal, 0, &page0);
46286 if( rc!=SQLITE_OK ){
46287 return rc;
46304 if( SQLITE_OK==(rc = walLockShared(pWal, WAL_WRITE_LOCK)) ){
46306 rc = SQLITE_READONLY_RECOVERY;
46308 }else if( SQLITE_OK==(rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1)) ){
46310 if( SQLITE_OK==(rc = walIndexPage(pWal, 0, &page0)) ){
46317 rc = walIndexRecover(pWal);
46331 rc = SQLITE_CANTOPEN_BKPT;
46334 return rc;
46398 int rc = SQLITE_OK; /* Return code */
46430 rc = walIndexReadHdr(pWal, pChanged);
46431 if( rc==SQLITE_BUSY ){
46448 rc = WAL_RETRY;
46449 }else if( SQLITE_OK==(rc = walLockShared(pWal, WAL_RECOVER_LOCK)) ){
46451 rc = WAL_RETRY;
46452 }else if( rc==SQLITE_BUSY ){
46453 rc = SQLITE_BUSY_RECOVERY;
46456 if( rc!=SQLITE_OK ){
46457 return rc;
46466 rc = walLockShared(pWal, WAL_READ_LOCK(0));
46468 if( rc==SQLITE_OK ){
46488 }else if( rc!=SQLITE_BUSY ){
46489 return rc;
46514 rc = walLockExclusive(pWal, WAL_READ_LOCK(i), 1);
46515 if( rc==SQLITE_OK ){
46520 }else if( rc!=SQLITE_BUSY ){
46521 return rc;
46526 assert( rc==SQLITE_BUSY || (pWal->readOnly & WAL_SHM_RDONLY)!=0 );
46527 return rc==SQLITE_BUSY ? WAL_RETRY : SQLITE_READONLY_CANTLOCK;
46530 rc = walLockShared(pWal, WAL_READ_LOCK(mxI));
46531 if( rc ){
46532 return rc==SQLITE_BUSY ? WAL_RETRY : rc;
46565 return rc;
46583 int rc; /* Return code */
46587 rc = walTryBeginRead(pWal, pChanged, 0, ++cnt);
46588 }while( rc==WAL_RETRY );
46589 testcase( (rc&0xff)==SQLITE_BUSY );
46590 testcase( (rc&0xff)==SQLITE_IOERR );
46591 testcase( rc==SQLITE_PROTOCOL );
46592 testcase( rc==SQLITE_OK );
46593 return rc;
46672 int rc; /* Error code */
46674 rc = walHashGet(pWal, iHash, &aHash, &aPgno, &iZero);
46675 if( rc!=SQLITE_OK ){
46676 return rc;
46754 int rc;
46767 rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1);
46768 if( rc ){
46769 return rc;
46780 rc = SQLITE_BUSY;
46783 return rc;
46811 int rc = SQLITE_OK;
46822 ALWAYS(rc==SQLITE_OK) && iFrame<=iMax;
46837 rc = xUndo(pUndoCtx, walFramePgno(pWal, iFrame));
46841 assert( rc==SQLITE_OK );
46842 return rc;
46866 int rc = SQLITE_OK;
46887 return rc;
46903 int rc = SQLITE_OK;
46912 rc = walLockExclusive(pWal, WAL_READ_LOCK(1), WAL_NREADER-1);
46913 if( rc==SQLITE_OK ){
46953 }else if( rc!=SQLITE_BUSY ){
46954 return rc;
46962 rc = walTryBeginRead(pWal, &notUsed, 1, ++cnt);
46963 }while( rc==WAL_RETRY );
46964 assert( (rc&0xff)!=SQLITE_BUSY ); /* BUSY not possible when useWal==1 */
46965 testcase( (rc&0xff)==SQLITE_IOERR );
46966 testcase( rc==SQLITE_PROTOCOL );
46967 testcase( rc==SQLITE_OK );
46969 return rc;
46984 int rc; /* Used to catch return codes */
47004 if( SQLITE_OK!=(rc = walRestartLog(pWal)) ){
47005 return rc;
47032 rc = sqlite3OsWrite(pWal->pWalFd, aWalHdr, sizeof(aWalHdr), 0);
47033 WALTRACE(("WAL%p: wal-header write %s\n", pWal, rc ? "failed" : "ok"));
47034 if( rc!=SQLITE_OK ){
47035 return rc;
47057 rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOffset);
47058 if( rc!=SQLITE_OK ){
47059 return rc;
47063 rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOffset+sizeof(aFrame));
47064 if( rc!=SQLITE_OK ){
47065 return rc;
47088 rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOffset);
47089 if( rc!=SQLITE_OK ){
47090 return rc;
47093 rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOffset);
47094 if( rc!=SQLITE_OK ){
47095 return rc;
47101 rc = sqlite3OsSync(pWal->pWalFd, sync_flags);
47110 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
47112 rc = walIndexAppend(pWal, iFrame, p->pgno);
47114 while( nLast>0 && rc==SQLITE_OK ){
47117 rc = walIndexAppend(pWal, iFrame, pLast->pgno);
47120 if( rc==SQLITE_OK ){
47137 WALTRACE(("WAL%p: frame write %s\n", pWal, rc ? "failed" : "ok"));
47138 return rc;
47162 int rc; /* Return code */
47171 rc = walLockExclusive(pWal, WAL_CKPT_LOCK, 1);
47172 if( rc ){
47176 return rc;
47190 rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_WRITE_LOCK, 1);
47191 if( rc==SQLITE_OK ){
47193 }else if( rc==SQLITE_BUSY ){
47195 rc = SQLITE_OK;
47200 if( rc==SQLITE_OK ){
47201 rc = walIndexReadHdr(pWal, &isChanged);
47205 if( rc==SQLITE_OK ){
47207 rc = SQLITE_CORRUPT_BKPT;
47209 rc = walCheckpoint(pWal, eMode2, xBusy, pBusyArg, sync_flags, zBuf);
47213 if( rc==SQLITE_OK || rc==SQLITE_BUSY ){
47233 WALTRACE(("WAL%p: checkpoint %s\n", pWal, rc ? "failed" : "ok"));
47234 return (rc==SQLITE_OK && eMode!=eMode2 ? SQLITE_BUSY : rc);
47276 int rc;
47295 rc = pWal->exclusiveMode==0;
47298 rc = 0;
47305 rc = 1;
47307 rc = pWal->exclusiveMode==0;
47309 return rc;
48785 int rc = SQLITE_OK;
48790 rc = SQLITE_NOMEM;
48793 if( rc==SQLITE_OK && pgno<=sqlite3BitvecSize(pBt->pHasContent) ){
48794 rc = sqlite3BitvecSet(pBt->pHasContent, pgno);
48796 return rc;
48828 int rc;
48834 rc = sqlite3BtreeKeySize(pCur, &pCur->nKey);
48835 assert( rc==SQLITE_OK ); /* KeySize() cannot fail */
48846 rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey);
48847 if( rc==SQLITE_OK ){
48853 rc = SQLITE_NOMEM;
48858 if( rc==SQLITE_OK ){
48869 return rc;
48884 int rc = saveCursorPosition(p);
48885 if( SQLITE_OK!=rc ){
48886 return rc;
48915 int rc; /* Status code */
48930 rc = sqlite3BtreeMovetoUnpacked(pCur, pIdxKey, nKey, bias, pRes);
48934 return rc;
48945 int rc;
48952 rc = btreeMoveto(pCur, pCur->pKey, pCur->nKey, 0, &pCur->skipNext);
48953 if( rc==SQLITE_OK ){
48958 return rc;
48975 int rc;
48977 rc = restoreCursorPosition(pCur);
48978 if( rc ){
48980 return rc;
49029 int rc; /* Return code from subfunctions */
49043 rc = sqlite3PagerGet(pBt->pPager, iPtrmap, &pDbPage);
49044 if( rc!=SQLITE_OK ){
49045 *pRC = rc;
49058 *pRC= rc = sqlite3PagerWrite(pDbPage);
49059 if( rc==SQLITE_OK ){
49081 int rc;
49086 rc = sqlite3PagerGet(pBt->pPager, iPtrmap, &pDbPage);
49087 if( rc!=0 ){
49088 return rc;
49108 #define ptrmapPut(w,x,y,z,rc)
49110 #define ptrmapPutOvflPtr(x, y, rc)
49421 int rc; /* Integer return code */
49444 rc = defragmentPage(pPage);
49445 if( rc ) return rc;
49486 rc = defragmentPage(pPage);
49487 if( rc ) return rc;
49813 int rc;
49817 rc = sqlite3PagerAcquire(pBt->pPager, pgno, (DbPage**)&pDbPage, noContent);
49818 if( rc ) return rc;
49864 int rc;
49868 rc = SQLITE_CORRUPT_BKPT;
49870 rc = btreeGetPage(pBt, pgno, ppPage, 0);
49871 if( rc==SQLITE_OK ){
49872 rc = btreeInitPage(*ppPage);
49873 if( rc!=SQLITE_OK ){
49880 assert( pgno!=0 || rc==SQLITE_CORRUPT );
49881 return rc;
49971 int rc = SQLITE_OK; /* Result code from this function */
50088 rc = SQLITE_NOMEM;
50091 rc = sqlite3PagerOpen(pVfs, &pBt->pPager, zFilename,
50093 if( rc==SQLITE_OK ){
50094 rc = sqlite3PagerReadFileheader(pBt->pPager,sizeof(zDbHeader),zDbHeader);
50096 if( rc!=SQLITE_OK ){
50135 rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve);
50136 if( rc ) goto btree_open_out;
50150 rc = SQLITE_NOMEM;
50197 if( rc!=SQLITE_OK ){
50217 return rc;
50391 int rc;
50395 rc = sqlite3PagerNosync(pBt->pPager);
50397 return rc;
50421 int rc = SQLITE_OK;
50440 rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve);
50444 return rc;
50510 int rc = SQLITE_OK;
50515 rc = SQLITE_READONLY;
50521 return rc;
50533 int rc;
50535 rc = (
50541 return rc;
50556 int rc; /* Result code from subfunctions */
50564 rc = sqlite3PagerSharedLock(pBt->pPager);
50565 if( rc!=SQLITE_OK ) return rc;
50566 rc = btreeGetPage(pBt, 1, &pPage1, 0);
50567 if( rc!=SQLITE_OK ) return rc;
50581 rc = SQLITE_NOTADB;
50611 rc = sqlite3PagerOpenWal(pBt->pPager, &isOpen);
50612 if( rc!=SQLITE_OK ){
50618 rc = SQLITE_NOTADB;
50650 rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize,
50652 return rc;
50655 rc = SQLITE_CORRUPT_BKPT;
50694 return rc;
50725 int rc;
50734 rc = sqlite3PagerWrite(pP1->pDbPage);
50735 if( rc ) return rc;
50799 int rc = SQLITE_OK;
50814 rc = SQLITE_READONLY;
50836 rc = SQLITE_LOCKED_SHAREDCACHE;
50844 rc = querySharedCacheTableLock(p, MASTER_ROOT, READ_LOCK);
50845 if( SQLITE_OK!=rc ) goto trans_begun;
50856 while( pBt->pPage1==0 && SQLITE_OK==(rc = lockBtree(pBt)) );
50858 if( rc==SQLITE_OK && wrflag ){
50860 rc = SQLITE_READONLY;
50862 rc = sqlite3PagerBegin(pBt->pPager,wrflag>1,sqlite3TempInMemory(p->db));
50863 if( rc==SQLITE_OK ){
50864 rc = newDatabase(pBt);
50869 if( rc!=SQLITE_OK ){
50872 }while( (rc&0xFF)==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE &&
50875 if( rc==SQLITE_OK ){
50906 rc = sqlite3PagerWrite(pPage1->pDbPage);
50907 if( rc==SQLITE_OK ){
50916 if( rc==SQLITE_OK && wrflag ){
50921 rc = sqlite3PagerOpenSavepoint(pBt->pPager, p->db->nSavepoint);
50926 return rc;
50939 int rc; /* Return code */
50945 rc = btreeInitPage(pPage);
50946 if( rc!=SQLITE_OK ){
50954 ptrmapPutOvflPtr(pPage, pCell, &rc);
50958 ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc);
50964 ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc);
50969 return rc;
51057 int rc;
51067 rc = sqlite3PagerMovepage(pPager, pDbPage->pDbPage, iFreePage, isCommit);
51068 if( rc!=SQLITE_OK ){
51069 return rc;
51082 rc = setChildPtrmaps(pDbPage);
51083 if( rc!=SQLITE_OK ){
51084 return rc;
51089 ptrmapPut(pBt, nextOvfl, PTRMAP_OVERFLOW2, iFreePage, &rc);
51090 if( rc!=SQLITE_OK ){
51091 return rc;
51101 rc = btreeGetPage(pBt, iPtrPage, &pPtrPage, 0);
51102 if( rc!=SQLITE_OK ){
51103 return rc;
51105 rc = sqlite3PagerWrite(pPtrPage->pDbPage);
51106 if( rc!=SQLITE_OK ){
51108 return rc;
51110 rc = modifyPagePointer(pPtrPage, iDbPage, iFreePage, eType);
51112 if( rc==SQLITE_OK ){
51113 ptrmapPut(pBt, iFreePage, eType, iPtrPage, &rc);
51116 return rc;
51142 int rc;
51156 rc = ptrmapGet(pBt, iLastPg, &eType, &iPtrPage);
51157 if( rc!=SQLITE_OK ){
51158 return rc;
51173 rc = allocateBtreePage(pBt, &pFreePg, &iFreePg, iLastPg, 1);
51174 if( rc!=SQLITE_OK ){
51175 return rc;
51184 rc = btreeGetPage(pBt, iLastPg, &pLastPg, 0);
51185 if( rc!=SQLITE_OK ){
51186 return rc;
51198 rc = allocateBtreePage(pBt, &pFreePg, &iFreePg, 0, 0);
51199 if( rc!=SQLITE_OK ){
51201 return rc;
51207 rc = sqlite3PagerWrite(pLastPg->pDbPage);
51208 if( rc==SQLITE_OK ){
51209 rc = relocatePage(pBt, pLastPg, eType, iPtrPage, iFreePg, nFin!=0);
51212 if( rc!=SQLITE_OK ){
51213 return rc;
51223 rc = btreeGetPage(pBt, iLastPg, &pPg, 0);
51224 if( rc!=SQLITE_OK ){
51225 return rc;
51227 rc = sqlite3PagerWrite(pPg->pDbPage);
51229 if( rc!=SQLITE_OK ){
51230 return rc;
51250 int rc;
51256 rc = SQLITE_DONE;
51259 rc = incrVacuumStep(pBt, 0, btreePagecount(pBt));
51260 if( rc==SQLITE_OK ){
51261 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
51266 return rc;
51279 int rc = SQLITE_OK;
51315 for(iFree=nOrig; iFree>nFin && rc==SQLITE_OK; iFree--){
51316 rc = incrVacuumStep(pBt, nFin, iFree);
51318 if( (rc==SQLITE_DONE || rc==SQLITE_OK) && nFree>0 ){
51319 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
51326 if( rc!=SQLITE_OK ){
51332 return rc;
51366 int rc = SQLITE_OK;
51372 rc = autoVacuumCommit(pBt);
51373 if( rc!=SQLITE_OK ){
51375 return rc;
51379 rc = sqlite3PagerCommitPhaseOne(pBt->pPager, zMaster, 0);
51382 return rc;
51458 int rc;
51462 rc = sqlite3PagerCommitPhaseTwo(pBt->pPager);
51463 if( rc!=SQLITE_OK && bCleanup==0 ){
51465 return rc;
51479 int rc;
51481 rc = sqlite3BtreeCommitPhaseOne(p, 0);
51482 if( rc==SQLITE_OK ){
51483 rc = sqlite3BtreeCommitPhaseTwo(p, 0);
51486 return rc;
51553 int rc;
51558 rc = saveAllCursors(pBt, 0, 0);
51560 if( rc!=SQLITE_OK ){
51568 sqlite3BtreeTripAllCursors(p, rc);
51579 rc = rc2;
51599 return rc;
51621 int rc;
51634 rc = sqlite3PagerOpenSavepoint(pBt->pPager, iStatement);
51636 return rc;
51652 int rc = SQLITE_OK;
51658 rc = sqlite3PagerSavepoint(pBt->pPager, op, iSavepoint);
51659 if( rc==SQLITE_OK ){
51661 rc = newDatabase(pBt);
51671 return rc;
51762 int rc;
51764 rc = btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur);
51766 return rc;
51984 int rc = SQLITE_OK;
52006 rc = ptrmapGet(pBt, iGuess, &eType, &pgno);
52007 if( rc==SQLITE_OK && eType==PTRMAP_OVERFLOW2 && pgno==ovfl ){
52009 rc = SQLITE_DONE;
52015 assert( next==0 || rc==SQLITE_DONE );
52016 if( rc==SQLITE_OK ){
52017 rc = btreeGetPage(pBt, ovfl, &pPage, 0);
52018 assert( rc==SQLITE_OK || pPage==0 );
52019 if( rc==SQLITE_OK ){
52030 return (rc==SQLITE_DONE ? SQLITE_OK : rc);
52053 int rc = sqlite3PagerWrite(pDbPage);
52054 if( rc!=SQLITE_OK ){
52055 return rc;
52101 int rc = SQLITE_OK;
52129 rc = copyPayload(&aPayload[offset], pBuf, a, eOp, pPage->pDbPage);
52137 if( rc==SQLITE_OK && amt>0 ){
52157 rc = SQLITE_NOMEM;
52172 for( ; rc==SQLITE_OK && amt>0 && nextPage; iIdx++){
52194 rc = getOverflowPage(pBt, nextPage, 0, &nextPage);
52202 rc = sqlite3PagerGet(pBt->pPager, nextPage, &pDbPage);
52203 if( rc==SQLITE_OK ){
52209 rc = copyPayload(&aPayload[offset+4], pBuf, a, eOp, pDbPage);
52219 if( rc==SQLITE_OK && amt>0 ){
52222 return rc;
52255 int rc;
52264 rc = restoreCursorPosition(pCur);
52265 if( rc==SQLITE_OK ){
52269 rc = accessPayload(pCur, offset, amt, pBuf, 0);
52271 return rc;
52375 int rc;
52386 rc = getAndInitPage(pBt, newPgno, &pNewPage);
52387 if( rc ) return rc;
52467 int rc = SQLITE_OK;
52493 rc = getAndInitPage(pBt, pCur->pgnoRoot, &pCur->apPage[0]);
52494 if( rc!=SQLITE_OK ){
52496 return rc;
52530 rc = moveToChild(pCur, subpage);
52534 return rc;
52546 int rc = SQLITE_OK;
52551 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
52554 rc = moveToChild(pCur, pgno);
52556 return rc;
52571 int rc = SQLITE_OK;
52576 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
52579 rc = moveToChild(pCur, pgno);
52581 if( rc==SQLITE_OK ){
52586 return rc;
52594 int rc;
52598 rc = moveToRoot(pCur);
52599 if( rc==SQLITE_OK ){
52606 rc = moveToLeftmost(pCur);
52609 return rc;
52617 int rc;
52637 rc = moveToRoot(pCur);
52638 if( rc==SQLITE_OK ){
52645 rc = moveToRightmost(pCur);
52646 pCur->atLast = rc==SQLITE_OK ?1:0;
52649 return rc;
52687 int rc;
52709 rc = moveToRoot(pCur);
52710 if( rc ){
52711 return rc;
52798 rc = SQLITE_NOMEM;
52801 rc = accessPayload(pCur, 0, nCell, (unsigned char*)pCellKey, 0);
52802 if( rc ){
52817 rc = SQLITE_OK;
52843 rc = SQLITE_OK;
52849 rc = moveToChild(pCur, chldPg);
52850 if( rc ) goto moveto_finish;
52853 return rc;
52879 int rc;
52884 rc = restoreCursorPosition(pCur);
52885 if( rc!=SQLITE_OK ){
52886 return rc;
52909 rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8]));
52910 if( rc ) return rc;
52911 rc = moveToLeftmost(pCur);
52913 return rc;
52926 rc = sqlite3BtreeNext(pCur, pRes);
52928 rc = SQLITE_OK;
52930 return rc;
52936 rc = moveToLeftmost(pCur);
52937 return rc;
52948 int rc;
52952 rc = restoreCursorPosition(pCur);
52953 if( rc!=SQLITE_OK ){
52954 return rc;
52972 rc = moveToChild(pCur, get4byte(findCell(pPage, idx)));
52973 if( rc ){
52974 return rc;
52976 rc = moveToRightmost(pCur);
52992 rc = sqlite3BtreePrevious(pCur, pRes);
52994 rc = SQLITE_OK;
52998 return rc;
53030 int rc;
53059 rc = ptrmapGet(pBt, nearby, &eType, 0);
53060 if( rc ) return rc;
53071 rc = sqlite3PagerWrite(pPage1->pDbPage);
53072 if( rc ) return rc;
53088 rc = SQLITE_CORRUPT_BKPT;
53090 rc = btreeGetPage(pBt, iTrunk, &pTrunk, 0);
53092 if( rc ){
53103 rc = sqlite3PagerWrite(pTrunk->pDbPage);
53104 if( rc ){
53114 rc = SQLITE_CORRUPT_BKPT;
53124 rc = sqlite3PagerWrite(pTrunk->pDbPage);
53125 if( rc ){
53132 rc = sqlite3PagerWrite(pPrevTrunk->pDbPage);
53133 if( rc!=SQLITE_OK ){
53146 rc = SQLITE_CORRUPT_BKPT;
53150 rc = btreeGetPage(pBt, iNewTrunk, &pNewTrunk, 0);
53151 if( rc!=SQLITE_OK ){
53154 rc = sqlite3PagerWrite(pNewTrunk->pDbPage);
53155 if( rc!=SQLITE_OK ){
53167 rc = sqlite3PagerWrite(pPrevTrunk->pDbPage);
53168 if( rc ){
53201 rc = SQLITE_CORRUPT_BKPT;
53211 rc = sqlite3PagerWrite(pTrunk->pDbPage);
53212 if( rc ) goto end_allocate_page;
53218 rc = btreeGetPage(pBt, *pPgno, ppPage, noContent);
53219 if( rc==SQLITE_OK ){
53220 rc = sqlite3PagerWrite((*ppPage)->pDbPage);
53221 if( rc!=SQLITE_OK ){
53234 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
53235 if( rc ) return rc;
53248 rc = btreeGetPage(pBt, pBt->nPage, &pPg, 1);
53249 if( rc==SQLITE_OK ){
53250 rc = sqlite3PagerWrite(pPg->pDbPage);
53253 if( rc ) return rc;
53262 rc = btreeGetPage(pBt, *pPgno, ppPage, 1);
53263 if( rc ) return rc;
53264 rc = sqlite3PagerWrite((*ppPage)->pDbPage);
53265 if( rc!=SQLITE_OK ){
53276 if( rc==SQLITE_OK ){
53285 assert( rc!=SQLITE_OK || sqlite3PagerIswriteable((*ppPage)->pDbPage) );
53286 return rc;
53306 int rc; /* Return Code */
53321 rc = sqlite3PagerWrite(pPage1->pDbPage);
53322 if( rc ) goto freepage_out;
53330 if( (!pPage && ((rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0) )
53331 || ((rc = sqlite3PagerWrite(pPage->pDbPage))!=0)
53342 ptrmapPut(pBt, iPage, PTRMAP_FREEPAGE, 0, &rc);
53343 if( rc ) goto freepage_out;
53357 rc = btreeGetPage(pBt, iTrunk, &pTrunk, 0);
53358 if( rc!=SQLITE_OK ){
53365 rc = SQLITE_CORRUPT_BKPT;
53383 rc = sqlite3PagerWrite(pTrunk->pDbPage);
53384 if( rc==SQLITE_OK ){
53390 rc = btreeSetHasContent(pBt, iPage);
53403 if( pPage==0 && SQLITE_OK!=(rc = btreeGetPage(pBt, iPage, &pPage, 0)) ){
53406 rc = sqlite3PagerWrite(pPage->pDbPage);
53407 if( rc!=SQLITE_OK ){
53421 return rc;
53436 int rc;
53463 rc = getOverflowPage(pBt, ovflPgno, &pOvfl, &iNext);
53464 if( rc ) return rc;
53480 rc = SQLITE_CORRUPT_BKPT;
53482 rc = freePage2(pBt, pOvfl, ovflPgno);
53488 if( rc ) return rc;
53516 int nSrc, n, rc;
53581 rc = allocateBtreePage(pBt, &pOvfl, &pgnoOvfl, pgnoOvfl, 0);
53593 if( pBt->autoVacuum && rc==SQLITE_OK ){
53595 ptrmapPut(pBt, pgnoOvfl, eType, pgnoPtrmap, &rc);
53596 if( rc ){
53601 if( rc ){
53603 return rc;
53669 int rc; /* The return code */
53688 rc = freeSpace(pPage, pc, sz);
53689 if( rc ){
53690 *pRC = rc;
53766 int rc = sqlite3PagerWrite(pPage->pDbPage);
53767 if( rc!=SQLITE_OK ){
53768 *pRC = rc;
53776 rc = allocateSpace(pPage, sz, &idx);
53777 if( rc ){ *pRC = rc; return; }
53893 int rc; /* Return Code */
53907 rc = allocateBtreePage(pBt, &pNew, &pgnoNew, 0, 0);
53909 if( rc==SQLITE_OK ){
53931 ptrmapPut(pBt, pgnoNew, PTRMAP_BTREE, pParent->pgno, &rc);
53933 ptrmapPutOvflPtr(pNew, pCell, &rc);
53958 0, pPage->pgno, &rc);
53967 return rc;
54037 int rc;
54056 rc = btreeInitPage(pTo);
54057 if( rc!=SQLITE_OK ){
54058 *pRC = rc;
54124 int rc = SQLITE_OK; /* The return code */
54198 rc = getAndInitPage(pBt, pgno, &apOld[i]);
54199 if( rc ){
54231 rc = SQLITE_CORRUPT_BKPT;
54239 dropCell(pParent, i+nxDiv-pParent->nOverflow, szNew[i], &rc);
54258 rc = SQLITE_NOMEM;
54370 if( k>NB+1 ){ rc = SQLITE_CORRUPT_BKPT; goto balance_cleanup; }
54424 rc = SQLITE_CORRUPT_BKPT;
54433 rc = sqlite3PagerWrite(pNew->pDbPage);
54435 if( rc ) goto balance_cleanup;
54438 rc = allocateBtreePage(pBt, &pNew, &pgno, pgno, 0);
54439 if( rc ) goto balance_cleanup;
54445 ptrmapPut(pBt, pNew->pgno, PTRMAP_BTREE, pParent->pgno, &rc);
54446 if( rc!=SQLITE_OK ){
54456 freePage(apOld[i], &rc);
54457 if( rc ) goto balance_cleanup;
54567 insertCell(pParent, nxDiv, pCell, sz, pTemp, pNew->pgno, &rc);
54568 if( rc!=SQLITE_OK ) goto balance_cleanup;
54602 copyNodeContent(apNew[0], pParent, &rc);
54603 freePage(apNew[0], &rc);
54684 ptrmapPut(pBt, get4byte(apCell[i]), PTRMAP_BTREE, pNew->pgno, &rc);
54687 ptrmapPutOvflPtr(pNew, apCell[i], &rc);
54695 ptrmapPut(pBt, key, PTRMAP_BTREE, apNew[i]->pgno, &rc);
54725 return rc;
54749 int rc; /* Return value from subprocedures */
54761 rc = sqlite3PagerWrite(pRoot->pDbPage);
54762 if( rc==SQLITE_OK ){
54763 rc = allocateBtreePage(pBt,&pChild,&pgnoChild,pRoot->pgno,0);
54764 copyNodeContent(pRoot, pChild, &rc);
54766 ptrmapPut(pBt, pgnoChild, PTRMAP_BTREE, pRoot->pgno, &rc);
54769 if( rc ){
54772 return rc;
54803 int rc = SQLITE_OK;
54823 rc = balance_deeper(pPage, &pCur->apPage[1]);
54824 if( rc==SQLITE_OK ){
54839 rc = sqlite3PagerWrite(pParent->pDbPage);
54840 if( rc==SQLITE_OK ){
54862 rc = balance_quick(pParent, pPage, aBalanceQuickSpace);
54884 rc = balance_nonroot(pParent, iIdx, pSpace, iPage==1);
54906 }while( rc==SQLITE_OK );
54911 return rc;
54945 int rc;
54989 rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur);
54990 if( rc ) return rc;
54992 rc = btreeMoveto(pCur, pKey, nKey, appendBias, &loc);
54993 if( rc ) return rc;
55008 rc = fillInCell(pPage, newCell, pKey, nKey, pData, nData, nZero, &szNew);
55009 if( rc ) goto end_insert;
55016 rc = sqlite3PagerWrite(pPage->pDbPage);
55017 if( rc ){
55025 rc = clearCell(pPage, oldCell);
55026 dropCell(pPage, idx, szOld, &rc);
55027 if( rc ) goto end_insert;
55034 insertCell(pPage, idx, newCell, szNew, 0, 0, &rc);
55035 assert( rc!=SQLITE_OK || pPage->nCell>0 || pPage->nOverflow>0 );
55059 if( rc==SQLITE_OK && pPage->nOverflow ){
55060 rc = balance(pCur);
55072 return rc;
55082 int rc; /* Return code */
55121 rc = sqlite3BtreePrevious(pCur, &notUsed);
55122 if( rc ) return rc;
55130 rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur);
55131 if( rc ) return rc;
55132 rc = sqlite3PagerWrite(pPage->pDbPage);
55133 if( rc ) return rc;
55134 rc = clearCell(pPage, pCell);
55135 dropCell(pPage, iCellIdx, cellSizePtr(pPage, pCell), &rc);
55136 if( rc ) return rc;
55156 rc = sqlite3PagerWrite(pLeaf->pDbPage);
55157 insertCell(pPage, iCellIdx, pCell-4, nCell+4, pTmp, n, &rc);
55158 dropCell(pLeaf, pLeaf->nCell-1, nCell, &rc);
55159 if( rc ) return rc;
55177 rc = balance(pCur);
55178 if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){
55182 rc = balance(pCur);
55185 if( rc==SQLITE_OK ){
55188 return rc;
55206 int rc;
55214 rc = allocateBtreePage(pBt, &pRoot, &pgnoRoot, 1, 0);
55215 if( rc ){
55216 return rc;
55250 rc = allocateBtreePage(pBt, &pPageMove, &pgnoMove, pgnoRoot, 1);
55251 if( rc!=SQLITE_OK ){
55252 return rc;
55268 rc = btreeGetPage(pBt, pgnoRoot, &pRoot, 0);
55269 if( rc!=SQLITE_OK ){
55270 return rc;
55272 rc = ptrmapGet(pBt, pgnoRoot, &eType, &iPtrPage);
55274 rc = SQLITE_CORRUPT_BKPT;
55276 if( rc!=SQLITE_OK ){
55278 return rc;
55282 rc = relocatePage(pBt, pRoot, eType, iPtrPage, pgnoMove, 0);
55286 if( rc!=SQLITE_OK ){
55287 return rc;
55289 rc = btreeGetPage(pBt, pgnoRoot, &pRoot, 0);
55290 if( rc!=SQLITE_OK ){
55291 return rc;
55293 rc = sqlite3PagerWrite(pRoot->pDbPage);
55294 if( rc!=SQLITE_OK ){
55296 return rc;
55303 ptrmapPut(pBt, pgnoRoot, PTRMAP_ROOTPAGE, 0, &rc);
55304 if( rc ){
55306 return rc;
55314 rc = sqlite3BtreeUpdateMeta(p, 4, pgnoRoot);
55315 if( NEVER(rc) ){
55317 return rc;
55321 rc = allocateBtreePage(pBt, &pRoot, &pgnoRoot, 1, 0);
55322 if( rc ) return rc;
55338 int rc;
55340 rc = btreeCreateTable(p, piTable, flags);
55342 return rc;
55356 int rc;
55365 rc = getAndInitPage(pBt, pgno, &pPage);
55366 if( rc ) return rc;
55370 rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange);
55371 if( rc ) goto cleardatabasepage_out;
55373 rc = clearCell(pPage, pCell);
55374 if( rc ) goto cleardatabasepage_out;
55377 rc = clearDatabasePage(pBt, get4byte(&pPage->aData[8]), 1, pnChange);
55378 if( rc ) goto cleardatabasepage_out;
55384 freePage(pPage, &rc);
55385 }else if( (rc = sqlite3PagerWrite(pPage->pDbPage))==0 ){
55391 return rc;
55408 int rc;
55418 rc = saveAllCursors(pBt, (Pgno)iTable, 0);
55419 if( SQLITE_OK==rc ){
55420 rc = clearDatabasePage(pBt, (Pgno)iTable, 0, pnChange);
55423 return rc;
55447 int rc;
55467 rc = btreeGetPage(pBt, (Pgno)iTable, &pPage, 0);
55468 if( rc ) return rc;
55469 rc = sqlite3BtreeClearTable(p, iTable, 0);
55470 if( rc ){
55472 return rc;
55479 freePage(pPage, &rc);
55490 freePage(pPage, &rc);
55492 if( rc!=SQLITE_OK ){
55493 return rc;
55502 rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0);
55503 if( rc!=SQLITE_OK ){
55504 return rc;
55506 rc = relocatePage(pBt, pMove, PTRMAP_ROOTPAGE, 0, iTable, 0);
55508 if( rc!=SQLITE_OK ){
55509 return rc;
55512 rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0);
55513 freePage(pMove, &rc);
55515 if( rc!=SQLITE_OK ){
55516 return rc;
55533 rc = sqlite3BtreeUpdateMeta(p, 4, maxRootPgno);
55535 freePage(pPage, &rc);
55547 return rc;
55550 int rc;
55552 rc = btreeDropTable(p, iTable, piMoved);
55554 return rc;
55598 int rc;
55604 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
55605 if( rc==SQLITE_OK ){
55616 return rc;
55630 int rc; /* Return code */
55636 rc = moveToRoot(pCur);
55641 while( rc==SQLITE_OK ){
55683 rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8]));
55685 rc = moveToChild(pCur, get4byte(findCell(pPage, iIdx)));
55690 return rc;
55766 int rc;
55770 rc = ptrmapGet(pCheck->pBt, iChild, &ePtrmapType, &iPtrmapParent);
55771 if( rc!=SQLITE_OK ){
55772 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ) pCheck->mallocFailed = 1;
55883 int i, rc, depth, d2, pgno, cnt;
55902 if( (rc = btreeGetPage(pBt, (Pgno)iPage, &pPage, 0))!=0 ){
55904 "unable to get the page. error code=%d", rc);
55911 if( (rc = btreeInitPage(pPage))!=0 ){
55912 assert( rc==SQLITE_CORRUPT ); /* The only possible error from InitPage */
55914 "btreeInitPage() returns error code %d", rc);
56247 int rc = SQLITE_OK;
56252 rc = SQLITE_LOCKED;
56254 rc = sqlite3PagerCheckpoint(pBt->pPager, eMode, pnLog, pnCkpt);
56258 return rc;
56314 int rc;
56317 rc = querySharedCacheTableLock(p, MASTER_ROOT, READ_LOCK);
56318 assert( rc==SQLITE_OK || rc==SQLITE_LOCKED_SHAREDCACHE );
56320 return rc;
56331 int rc = SQLITE_OK;
56339 rc = querySharedCacheTableLock(p, iTab, lockType);
56340 if( rc==SQLITE_OK ){
56341 rc = setSharedCacheTableLock(p, iTab, lockType);
56345 return rc;
56361 int rc;
56366 rc = restoreCursorPosition(pCsr);
56367 if( rc!=SQLITE_OK ){
56368 return rc;
56418 int rc; /* Return code */
56427 rc = sqlite3BtreeBeginTrans(pBtree, 0);
56428 if( rc==SQLITE_OK ){
56431 rc = sqlite3BtreeBeginTrans(pBtree, 2);
56432 if( rc==SQLITE_OK ){
56433 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
56434 if( rc==SQLITE_OK ){
56443 return rc;
56482 int rc; /* Backup process error code */
56538 int rc = 0;
56542 rc = SQLITE_NOMEM;
56546 sqlite3Error(pErrorDb, pParse->rc, "%s", pParse->zErrMsg);
56547 rc = SQLITE_ERROR;
56552 if( rc ){
56570 int rc;
56571 rc = sqlite3BtreeSetPageSize(p->pDest,sqlite3BtreeGetPageSize(p->pSrc),-1,0);
56572 return rc;
56648 ** Argument rc is an SQLite error code. Return true if this error is
56652 static int isFatalError(int rc){
56653 return (rc!=SQLITE_OK && rc!=SQLITE_BUSY && ALWAYS(rc!=SQLITE_LOCKED));
56672 int rc = SQLITE_OK;
56676 assert( !isFatalError(p->rc) );
56684 rc = SQLITE_READONLY;
56692 rc = SQLITE_READONLY;
56702 rc = sqlite3PagerSetPagesize(pDestPager, &newPgsz, nSrcReserve);
56703 if( rc==SQLITE_OK && newPgsz!=nSrcPgsz ) rc = SQLITE_READONLY;
56711 for(iOff=iEnd-(i64)nSrcPgsz; rc==SQLITE_OK && iOff<iEnd; iOff+=nDestPgsz){
56715 if( SQLITE_OK==(rc = sqlite3PagerGet(pDestPager, iDest, &pDestPg))
56716 && SQLITE_OK==(rc = sqlite3PagerWrite(pDestPg))
56735 return rc;
56748 int rc = sqlite3OsFileSize(pFile, &iCurrent);
56749 if( rc==SQLITE_OK && iCurrent>iSize ){
56750 rc = sqlite3OsTruncate(pFile, iSize);
56752 return rc;
56772 int rc;
56783 rc = p->rc;
56784 if( !isFatalError(rc) ){
56795 rc = SQLITE_BUSY;
56797 rc = SQLITE_OK;
56801 if( SQLITE_OK==rc && p->bDestLocked==0
56802 && SQLITE_OK==(rc = sqlite3BtreeBeginTrans(p->pDest, 2))
56812 if( rc==SQLITE_OK && 0==sqlite3BtreeIsInReadTrans(p->pSrc) ){
56813 rc = sqlite3BtreeBeginTrans(p->pSrc, 0);
56822 if( SQLITE_OK==rc && destMode==PAGER_JOURNALMODE_WAL && pgszSrc!=pgszDest ){
56823 rc = SQLITE_READONLY;
56831 for(ii=0; (nPage<0 || ii<nPage) && p->iNext<=(Pgno)nSrcPage && !rc; ii++){
56835 rc = sqlite3PagerGet(pSrcPager, iSrcPg, &pSrcPg);
56836 if( rc==SQLITE_OK ){
56837 rc = backupOnePage(p, iSrcPg, sqlite3PagerGetData(pSrcPg));
56843 if( rc==SQLITE_OK ){
56847 rc = SQLITE_DONE;
56858 if( rc==SQLITE_DONE ){
56859 rc = sqlite3BtreeUpdateMeta(p->pDest,1,p->iDestSchema+1);
56860 if( rc==SQLITE_OK ){
56865 rc = sqlite3BtreeSetVersion(p->pDest, 2);
56868 if( rc==SQLITE_OK ){
56922 rc = sqlite3PagerCommitPhaseOne(pDestPager, 0, 1);
56928 rc==SQLITE_OK && iOff<iEnd;
56933 rc = sqlite3PagerGet(pSrcPager, iSrcPg, &pSrcPg);
56934 if( rc==SQLITE_OK ){
56936 rc = sqlite3OsWrite(pFile, zData, pgszSrc, iOff);
56940 if( rc==SQLITE_OK ){
56941 rc = backupTruncateFile(pFile, iSize);
56945 if( rc==SQLITE_OK ){
56946 rc = sqlite3PagerSync(pDestPager);
56949 rc = sqlite3PagerCommitPhaseOne(pDestPager, 0, 0);
56953 if( SQLITE_OK==rc
56954 && SQLITE_OK==(rc = sqlite3BtreeCommitPhaseTwo(p->pDest, 0))
56956 rc = SQLITE_DONE;
56973 if( rc==SQLITE_IOERR_NOMEM ){
56974 rc = SQLITE_NOMEM;
56976 p->rc = rc;
56983 return rc;
56992 int rc; /* Value to return */
57019 rc = (p->rc==SQLITE_DONE) ? SQLITE_OK : p->rc;
57020 sqlite3Error(p->pDestDb, rc, 0);
57034 return rc;
57069 if( !isFatalError(p->rc) && iPage<p->iNext ){
57074 int rc;
57077 rc = backupOnePage(p, iPage, aData);
57079 assert( rc!=SQLITE_BUSY && rc!=SQLITE_LOCKED );
57080 if( rc!=SQLITE_OK ){
57081 p->rc = rc;
57116 int rc;
57136 ** checks this assumption - (p->rc) should be set to either SQLITE_DONE
57140 assert( b.rc!=SQLITE_OK );
57141 rc = sqlite3_backup_finish(&b);
57142 if( rc==SQLITE_OK ){
57148 return rc;
57192 int rc;
57207 rc = sqlite3VdbeMemTranslate(pMem, (u8)desiredEnc);
57208 assert(rc==SQLITE_OK || rc==SQLITE_NOMEM);
57209 assert(rc==SQLITE_OK || pMem->enc!=desiredEnc);
57210 assert(rc==SQLITE_NOMEM || pMem->enc==desiredEnc);
57211 return rc;
57355 int rc = SQLITE_OK;
57387 return rc;
57399 int rc = SQLITE_OK;
57413 rc = ctx.isError;
57415 return rc;
57783 int rc = SQLITE_OK;
57793 rc = sqlite3VdbeMemMakeWriteable(pTo);
57797 return rc;
57924 int rc;
58014 rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2);
58017 return rc;
58025 rc = memcmp(pMem1->z, pMem2->z, (pMem1->n>pMem2->n)?pMem2->n:pMem1->n);
58026 if( rc==0 ){
58027 rc = pMem1->n - pMem2->n;
58029 return rc;
58054 int rc = SQLITE_OK; /* Return code */
58072 }else if( SQLITE_OK==(rc = sqlite3VdbeMemGrow(pMem, amt+2, 0)) ){
58077 rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z);
58079 rc = sqlite3BtreeData(pCur, offset, amt, pMem->z);
58083 if( rc!=SQLITE_OK ){
58089 return rc;
59449 int rc = SQLITE_OK; /* Return code */
59454 assert( p->rc==SQLITE_OK || p->rc==SQLITE_BUSY || p->rc==SQLITE_NOMEM );
59462 if( p->rc==SQLITE_NOMEM ){
59499 p->rc = SQLITE_OK;
59500 rc = SQLITE_DONE;
59502 p->rc = SQLITE_INTERRUPT;
59503 rc = SQLITE_ERROR;
59504 sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(p->rc));
59615 p->rc = SQLITE_OK;
59616 rc = SQLITE_ROW;
59618 return rc;
59733 p->rc = SQLITE_OK;
60015 int rc;
60025 rc = sqlite3VdbeMemSetStr(pColName, zName, -1, SQLITE_UTF8, xDel);
60026 assert( rc!=0 || !zName || (pColName->flags&MEM_Term)!=0 );
60027 return rc;
60039 int rc = SQLITE_OK;
60055 rc = sqlite3VtabSync(db, &p->zErrMsg);
60063 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
60068 rc = sqlite3PagerExclusiveLock(sqlite3BtreePager(pBt));
60071 if( rc!=SQLITE_OK ){
60072 return rc;
60077 rc = db->xCommitCallback(db->pCommitArg);
60078 if( rc ){
60095 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
60098 rc = sqlite3BtreeCommitPhaseOne(pBt, 0);
60107 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
60110 rc = sqlite3BtreeCommitPhaseTwo(pBt, 0);
60113 if( rc==SQLITE_OK ){
60142 rc = sqlite3OsAccess(pVfs, zMaster, SQLITE_ACCESS_EXISTS, &res);
60143 }while( rc==SQLITE_OK && res );
60144 if( rc==SQLITE_OK ){
60146 rc = sqlite3OsOpenMalloc(pVfs, zMaster, &pMaster,
60151 if( rc!=SQLITE_OK ){
60153 return rc;
60173 rc = sqlite3OsWrite(pMaster, zFile, sqlite3Strlen30(zFile)+1, offset);
60175 if( rc!=SQLITE_OK ){
60179 return rc;
60189 && SQLITE_OK!=(rc = sqlite3OsSync(pMaster, SQLITE_SYNC_NORMAL))
60194 return rc;
60207 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
60210 rc = sqlite3BtreeCommitPhaseOne(pBt, zMaster);
60214 assert( rc!=SQLITE_BUSY );
60215 if( rc!=SQLITE_OK ){
60217 return rc;
60224 rc = sqlite3OsDelete(pVfs, zMaster, 1);
60227 if( rc ){
60228 return rc;
60253 return rc;
60323 int rc = SQLITE_OK;
60348 if( rc==SQLITE_OK ){
60349 rc = rc2;
60356 if( rc==SQLITE_OK ){
60358 rc = sqlite3VtabSavepoint(db, SAVEPOINT_ROLLBACK, iSavepoint);
60360 if( rc==SQLITE_OK ){
60361 rc = sqlite3VtabSavepoint(db, SAVEPOINT_RELEASE, iSavepoint);
60372 return rc;
60389 p->rc = SQLITE_CONSTRAINT;
60412 int rc; /* Used to store transient return codes */
60432 p->rc = SQLITE_NOMEM;
60442 int mrc; /* Primary error code from p->rc */
60450 mrc = p->rc & 0xff;
60451 assert( p->rc!=SQLITE_IOERR_BLOCKED ); /* This error no longer exists */
60483 if( p->rc==SQLITE_OK ){
60497 if( p->rc==SQLITE_OK || (p->errorAction==OE_Fail && !isSpecialError) ){
60498 rc = sqlite3VdbeCheckFk(p, 1);
60499 if( rc!=SQLITE_OK ){
60504 rc = SQLITE_CONSTRAINT;
60510 rc = vdbeCommit(db, p);
60512 if( rc==SQLITE_BUSY && p->readOnly ){
60515 }else if( rc!=SQLITE_OK ){
60516 p->rc = rc;
60527 if( p->rc==SQLITE_OK || p->errorAction==OE_Fail ){
60546 rc = sqlite3VdbeCloseStatement(p, eStatementOp);
60547 if( rc ){
60548 if( p->rc==SQLITE_OK || p->rc==SQLITE_CONSTRAINT ){
60549 p->rc = rc;
60573 if( p->rc!=SQLITE_OK && db->flags&SQLITE_InternChanges ){
60593 p->rc = SQLITE_NOMEM;
60605 return (p->rc==SQLITE_BUSY ? SQLITE_BUSY : SQLITE_OK);
60611 ** in p->rc. This routine sets that result back to SQLITE_OK.
60614 p->rc = SQLITE_OK;
60648 db->errCode = p->rc;
60651 }else if( p->rc ){
60652 sqlite3Error(db, p->rc, 0);
60657 }else if( p->rc && p->expired ){
60662 sqlite3Error(db, p->rc, 0);
60697 return p->rc & db->errMask;
60705 int rc = SQLITE_OK;
60707 rc = sqlite3VdbeReset(p);
60708 assert( (rc & p->db->errMask)==rc );
60711 return rc;
60796 int res, rc;
60801 rc = sqlite3BtreeMovetoUnpacked(p->pCursor, 0, p->movetoTarget, 0, &res);
60802 if( rc ) return rc;
60813 int rc = sqlite3BtreeCursorHasMoved(p->pCursor, &hasMoved);
60814 if( rc ) return rc;
61254 int rc = 0;
61293 rc = sqlite3MemCompare(&mem1, &pPKey2->aMem[i],
61295 if( rc!=0 ){
61300 rc = -rc;
61309 assert( idx1==szHdr1 && rc );
61315 return rc;
61326 /* rc==0 here means that one of the keys ran out of fields and
61334 assert( rc==0 );
61336 rc = -1;
61338 /* Leave rc==0 */
61340 rc = 1;
61342 return rc;
61356 int rc;
61370 rc = sqlite3BtreeKeySize(pCur, &nCellKey);
61371 assert( rc==SQLITE_OK ); /* pCur is always valid so KeySize cannot fail */
61376 rc = sqlite3VdbeMemFromBtree(pCur, 0, (int)nCellKey, 1, &m);
61377 if( rc ){
61378 return rc;
61440 int rc;
61445 rc = sqlite3BtreeKeySize(pCur, &nCellKey);
61446 assert( rc==SQLITE_OK ); /* pCur is always valid so KeySize cannot fail */
61454 rc = sqlite3VdbeMemFromBtree(pC->pCursor, 0, (int)nCellKey, 1, &m);
61455 if( rc ){
61456 return rc;
61610 int rc;
61614 rc = SQLITE_OK;
61626 rc = sqlite3VdbeFinalize(v);
61627 rc = sqlite3ApiExit(db, rc);
61630 return rc;
61642 int rc;
61644 rc = SQLITE_OK;
61648 rc = sqlite3VdbeReset(v);
61650 assert( (rc & (v->db->errMask))==rc );
61651 rc = sqlite3ApiExit(v->db, rc);
61654 return rc;
61662 int rc = SQLITE_OK;
61676 return rc;
61860 int rc = SQLITE_OK;
61867 if( db->xWalCallback && nEntry>0 && rc==SQLITE_OK ){
61868 rc = db->xWalCallback(db->pWalArg, db, db->aDb[i].zName, nEntry);
61873 return rc;
61887 int rc;
61908 if( p->rc==SQLITE_BUSY || p->rc==SQLITE_LOCKED ){
61921 p->rc = SQLITE_NOMEM;
61926 p->rc = SQLITE_SCHEMA;
61927 rc = SQLITE_ERROR;
61953 rc = sqlite3VdbeList(p);
61958 rc = sqlite3VdbeExec(p);
61965 if( rc!=SQLITE_ROW && db->xProfile && !db->init.busy && p->zSql ){
61972 if( rc==SQLITE_DONE ){
61973 assert( p->rc==SQLITE_OK );
61974 p->rc = doWalCallbacks(db);
61975 if( p->rc!=SQLITE_OK ){
61976 rc = SQLITE_ERROR;
61980 db->errCode = rc;
61981 if( SQLITE_NOMEM==sqlite3ApiExit(p->db, p->rc) ){
61982 p->rc = SQLITE_NOMEM;
61985 /* At this point local variable rc holds the value that should be
61988 ** be one of the values in the first assert() below. Variable p->rc
61992 assert( rc==SQLITE_ROW || rc==SQLITE_DONE || rc==SQLITE_ERROR
61993 || rc==SQLITE_BUSY || rc==SQLITE_MISUSE
61995 assert( p->rc!=SQLITE_ROW && p->rc!=SQLITE_DONE );
61996 if( p->isPrepareV2 && rc!=SQLITE_ROW && rc!=SQLITE_DONE ){
61998 ** error has occured, then return the error code in p->rc to the
62001 rc = db->errCode = p->rc;
62003 return (rc&db->errMask);
62020 int rc = SQLITE_OK; /* Result from sqlite3Step() */
62031 while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
62033 && (rc2 = rc = sqlite3Reprepare(v))==SQLITE_OK ){
62050 v->rc = rc2;
62053 v->rc = rc = SQLITE_NOMEM;
62056 rc = sqlite3ApiExit(db, rc);
62058 return rc;
62301 p->rc = sqlite3ApiExit(p->db, p->rc);
62586 int rc;
62588 rc = vdbeUnbind(p, i);
62589 if( rc==SQLITE_OK ){
62592 rc = sqlite3VdbeMemSetStr(pVar, zData, nData, encoding, xDel);
62593 if( rc==SQLITE_OK && encoding!=0 ){
62594 rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
62596 sqlite3Error(p->db, rc, 0);
62597 rc = sqlite3ApiExit(p->db, rc);
62603 return rc;
62620 int rc;
62622 rc = vdbeUnbind(p, i);
62623 if( rc==SQLITE_OK ){
62627 return rc;
62633 int rc;
62635 rc = vdbeUnbind(p, i);
62636 if( rc==SQLITE_OK ){
62640 return rc;
62643 int rc;
62645 rc = vdbeUnbind(p, i);
62646 if( rc==SQLITE_OK ){
62649 return rc;
62672 int rc;
62675 rc = sqlite3_bind_int64(pStmt, i, pValue->u.i);
62679 rc = sqlite3_bind_double(pStmt, i, pValue->r);
62684 rc = sqlite3_bind_zeroblob(pStmt, i, pValue->u.nZero);
62686 rc = sqlite3_bind_blob(pStmt, i, pValue->z, pValue->n,SQLITE_TRANSIENT);
62691 rc = bindText(pStmt,i, pValue->z, pValue->n, SQLITE_TRANSIENT,
62696 rc = sqlite3_bind_null(pStmt, i);
62700 return rc;
62703 int rc;
62705 rc = vdbeUnbind(p, i);
62706 if( rc==SQLITE_OK ){
62710 return rc;
63634 ** The error code is stored in p->rc and this routine returns SQLITE_ERROR.
63637 ** immediately. There will be no error message but the p->rc field is
63640 ** A memory allocation error causes p->rc to be set to SQLITE_NOMEM and this
63654 int rc = SQLITE_OK; /* Value to return */
64097 if( p->rc==SQLITE_NOMEM ){
64102 assert( p->rc==SQLITE_OK || p->rc==SQLITE_BUSY );
64103 p->rc = SQLITE_OK;
64124 for(pc=p->pc; rc==SQLITE_OK; pc++){
64170 rc = SQLITE_INTERRUPT;
64374 p->rc = pOp->p1;
64378 assert( p->rc!=SQLITE_OK );
64382 }else if( p->rc ){
64386 rc = sqlite3VdbeHalt(p);
64387 assert( rc==SQLITE_BUSY || rc==SQLITE_OK || rc==SQLITE_ERROR );
64388 if( rc==SQLITE_BUSY ){
64389 p->rc = rc = SQLITE_BUSY;
64391 assert( rc==SQLITE_OK || p->rc==SQLITE_CONSTRAINT );
64392 assert( rc==SQLITE_OK || db->nDeferredCons>0 );
64393 rc = p->rc ? SQLITE_ERROR : SQLITE_DONE;
64444 rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC);
64445 if( rc==SQLITE_TOOBIG ) goto too_big;
64631 if( SQLITE_OK!=(rc = sqlite3VdbeCheckFk(p, 0)) ){
64653 rc = sqlite3VdbeCloseStatement(p, SAVEPOINT_RELEASE);
64654 if( NEVER(rc!=SQLITE_OK) ){
64680 rc = SQLITE_ROW;
64965 rc = u.ag.ctx.isError;
64980 if( p->expired ) rc = SQLITE_ABORT;
65095 rc = SQLITE_MISMATCH;
65142 rc = ExpandBlob(pIn1);
65712 rc = sqlite3VdbeCursorMoveto(u.am.pC);
65713 if( rc ) goto abort_due_to_error;
65721 rc = sqlite3BtreeKeySize(u.am.pCrsr, &u.am.payloadSize64);
65722 assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */
65730 rc = sqlite3BtreeDataSize(u.am.pCrsr, &u.am.payloadSize);
65731 assert( rc==SQLITE_OK ); /* DataSize() cannot fail */
65810 rc = SQLITE_CORRUPT_BKPT;
65839 rc = sqlite3VdbeMemFromBtree(u.am.pCrsr, 0, u.am.len, u.am.pC->isIndex, &u.am.sMem);
65840 if( rc!=SQLITE_OK ){
65890 rc = SQLITE_CORRUPT_BKPT;
65902 assert( rc==SQLITE_OK );
65909 rc = sqlite3VdbeMemFromBtree(u.am.pCrsr, u.am.aOffset[u.am.p2], u.am.len, u.am.pC->isIndex, &u.am.sMem);
65910 if( rc!=SQLITE_OK ){
65940 rc = sqlite3VdbeMemMakeWriteable(u.am.pDest);
66124 rc = sqlite3BtreeCount(u.ap.pCrsr, &u.ap.nEntry);
66169 rc = SQLITE_BUSY;
66179 rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN,
66181 if( rc!=SQLITE_OK ) goto abort_due_to_error;
66219 rc = SQLITE_ERROR;
66231 rc = SQLITE_BUSY;
66240 if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){
66247 p->rc = rc = SQLITE_BUSY;
66251 rc = p->rc;
66255 rc = sqlite3BtreeSavepoint(db->aDb[u.aq.ii].pBt, u.aq.p1, u.aq.iSavepoint);
66256 if( rc!=SQLITE_OK ){
66292 rc = sqlite3VtabSavepoint(db, u.aq.p1, u.aq.iSavepoint);
66293 if( rc!=SQLITE_OK ) goto abort_due_to_error;
66331 rc = SQLITE_BUSY;
66338 rc = SQLITE_BUSY;
66344 }else if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){
66351 p->rc = rc = SQLITE_BUSY;
66357 if( p->rc==SQLITE_OK ){
66358 rc = SQLITE_DONE;
66360 rc = SQLITE_ERROR;
66369 rc = SQLITE_ERROR;
66415 rc = sqlite3BtreeBeginTrans(u.as.pBt, pOp->p2);
66416 if( rc==SQLITE_BUSY ){
66418 p->rc = rc = SQLITE_BUSY;
66421 if( rc!=SQLITE_OK ){
66435 rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN, p->iStatement-1);
66436 if( rc==SQLITE_OK ){
66437 rc = sqlite3BtreeBeginStmt(u.as.pBt, p->iStatement);
66503 rc = sqlite3BtreeUpdateMeta(u.au.pDb->pBt, pOp->p2, (int)pIn3->u.i);
66577 rc = SQLITE_SCHEMA;
66645 rc = SQLITE_ABORT;
66680 rc = SQLITE_CORRUPT_BKPT;
66696 rc = sqlite3BtreeCursor(u.aw.pX, u.aw.p2, u.aw.wrFlag, u.aw.pKeyInfo, u.aw.pCur->pCursor);
66701 assert( rc==SQLITE_OK );
66758 rc = sqlite3BtreeOpen(db->pVfs, 0, db, &u.ax.pCx->pBt,
66760 if( rc==SQLITE_OK ){
66761 rc = sqlite3BtreeBeginTrans(u.ax.pCx->pBt, 1);
66763 if( rc==SQLITE_OK ){
66772 rc = sqlite3BtreeCreateTable(u.ax.pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5);
66773 if( rc==SQLITE_OK ){
66775 rc = sqlite3BtreeCursor(u.ax.pCx->pBt, pgno, 1,
66782 rc = sqlite3BtreeCursor(u.ax.pCx->pBt, MASTER_ROOT, 1, 0, u.ax.pCx->pCursor);
66807 rc = sqlite3VdbeSorterInit(db, u.ay.pCx);
66962 rc = sqlite3BtreeFirst(u.ba.pC->pCursor, &u.ba.res);
66963 if( rc!=SQLITE_OK ) goto abort_due_to_error;
66967 rc = sqlite3BtreeLast(u.ba.pC->pCursor, &u.ba.res);
66968 if( rc!=SQLITE_OK ) goto abort_due_to_error;
66984 rc = sqlite3BtreeMovetoUnpacked(u.ba.pC->pCursor, 0, (u64)u.ba.iKey, 0, &u.ba.res);
66985 if( rc!=SQLITE_OK ){
67017 rc = sqlite3BtreeMovetoUnpacked(u.ba.pC->pCursor, &u.ba.r, 0, 0, &u.ba.res);
67018 if( rc!=SQLITE_OK ){
67030 rc = sqlite3BtreeNext(u.ba.pC->pCursor, &u.ba.res);
67031 if( rc!=SQLITE_OK ) goto abort_due_to_error;
67039 rc = sqlite3BtreePrevious(u.ba.pC->pCursor, &u.ba.res);
67040 if( rc!=SQLITE_OK ) goto abort_due_to_error;
67160 rc = sqlite3BtreeMovetoUnpacked(u.bc.pC->pCursor, u.bc.pIdxKey, 0, 0, &u.bc.res);
67164 if( rc!=SQLITE_OK ){
67258 rc = sqlite3BtreeMovetoUnpacked(u.bd.pCrsr, &u.bd.r, 0, 0, &u.bd.pCx->seekResult);
67301 rc = sqlite3BtreeMovetoUnpacked(u.be.pCrsr, 0, u.be.iKey, 0, &u.be.res);
67398 rc = sqlite3BtreeLast(u.bf.pC->pCursor, &u.bf.res);
67399 if( rc!=SQLITE_OK ){
67406 rc = sqlite3BtreeKeySize(u.bf.pC->pCursor, &u.bf.v);
67407 assert( rc==SQLITE_OK ); /* Cannot fail following BtreeLast() */
67437 rc = SQLITE_FULL; /* IMP: R-12275-61338 */
67461 while( ((rc = sqlite3BtreeMovetoUnpacked(u.bf.pC->pCursor, 0, (u64)u.bf.v,
67475 if( rc==SQLITE_OK && u.bf.res==0 ){
67476 rc = SQLITE_FULL; /* IMP: R-38219-53002 */
67583 rc = sqlite3BtreeInsert(u.bg.pC->pCursor, 0, u.bg.iKey,
67592 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
67652 rc = sqlite3VdbeCursorMoveto(u.bh.pC);
67653 if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error;
67656 rc = sqlite3BtreeDelete(u.bh.pC->pCursor);
67660 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
67698 rc = sqlite3VdbeSorterCompare(u.bi.pC, pIn3, &u.bi.res);
67717 rc = sqlite3VdbeSorterRowkey(u.bj.pC, pOut);
67777 rc = sqlite3VdbeCursorMoveto(u.bk.pC);
67778 if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error;
67782 rc = sqlite3BtreeKeySize(u.bk.pCrsr, &u.bk.n64);
67783 assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */
67789 rc = sqlite3BtreeDataSize(u.bk.pCrsr, &u.bk.n);
67790 assert( rc==SQLITE_OK ); /* DataSize() cannot fail */
67801 rc = sqlite3BtreeKey(u.bk.pCrsr, 0, u.bk.n, pOut->z);
67803 rc = sqlite3BtreeData(u.bk.pCrsr, 0, u.bk.n, pOut->z);
67841 rc = u.bl.pModule->xRowid(u.bl.pC->pVtabCursor, &u.bl.v);
67846 rc = sqlite3VdbeCursorMoveto(u.bl.pC);
67847 if( rc ) goto abort_due_to_error;
67851 rc = sqlite3BtreeKeySize(u.bl.pC->pCursor, &u.bl.v);
67852 assert( rc==SQLITE_OK ); /* Always so because of CursorMoveto() above */
67904 rc = sqlite3BtreeLast(u.bn.pCrsr, &u.bn.res);
67962 rc = sqlite3VdbeSorterRewind(db, u.bo.pC, &u.bo.res);
67966 rc = sqlite3BtreeFirst(u.bo.pCrsr, &u.bo.res);
68033 rc = sqlite3VdbeSorterNext(db, u.bp.pC, &u.bp.res);
68040 rc = pOp->p4.xAdvance(u.bp.pC->pCursor, &u.bp.res);
68088 rc = ExpandBlob(pIn2);
68089 if( rc==SQLITE_OK ){
68091 rc = sqlite3VdbeSorterWrite(db, u.bq.pC, pIn2);
68095 rc = sqlite3BtreeInsert(u.bq.pCrsr, u.bq.zKey, u.bq.nKey, "", 0, 0, pOp->p3,
68134 rc = sqlite3BtreeMovetoUnpacked(u.br.pCrsr, &u.br.r, 0, 0, &u.br.res);
68135 if( rc==SQLITE_OK && u.br.res==0 ){
68136 rc = sqlite3BtreeDelete(u.br.pCrsr);
68165 rc = sqlite3VdbeCursorMoveto(u.bs.pC);
68166 if( NEVER(rc) ) goto abort_due_to_error;
68170 rc = sqlite3VdbeIdxRowid(db, u.bs.pCrsr, &u.bs.rowid);
68171 if( rc!=SQLITE_OK ){
68234 rc = sqlite3VdbeIdxKeyCompare(u.bt.pC, &u.bt.r, &u.bt.res);
68287 rc = SQLITE_LOCKED;
68293 rc = sqlite3BtreeDropTable(db->aDb[u.bu.iDb].pBt, pOp->p1, &u.bu.iMoved);
68297 if( rc==SQLITE_OK && u.bu.iMoved!=0 ){
68333 rc = sqlite3BtreeClearTable(
68388 rc = sqlite3BtreeCreateTable(u.bw.pDb->pBt, &u.bw.pgno, u.bw.flags);
68431 rc = SQLITE_NOMEM;
68435 u.bx.initData.rc = SQLITE_OK;
68437 rc = sqlite3_exec(db, u.bx.zSql, sqlite3InitCallback, &u.bx.initData, 0);
68438 if( rc==SQLITE_OK ) rc = u.bx.initData.rc;
68443 if( rc==SQLITE_NOMEM ){
68458 rc = sqlite3AnalysisLoad(db, pOp->p1);
68718 rc = SQLITE_ERROR;
68983 rc = u.ce.ctx.isError;
69010 rc = sqlite3VdbeMemFinalize(u.cf.pMem, pOp->p4.pFunc);
69011 if( rc ){
69047 rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &u.cg.aRes[1], &u.cg.aRes[2]);
69048 if( rc==SQLITE_BUSY ){
69049 rc = SQLITE_OK;
69114 rc = SQLITE_ERROR;
69128 rc = sqlite3PagerCloseWal(u.ch.pPager);
69129 if( rc==SQLITE_OK ){
69142 if( rc==SQLITE_OK ){
69143 rc = sqlite3BtreeSetVersion(u.ch.pBt, (u.ch.eNew==PAGER_JOURNALMODE_WAL ? 2 : 1));
69149 if( rc ){
69172 rc = sqlite3RunVacuum(&p->zErrMsg, db);
69192 rc = sqlite3BtreeIncrVacuum(u.ci.pBt);
69193 if( rc==SQLITE_DONE ){
69195 rc = SQLITE_OK;
69241 rc = sqlite3BtreeLockTable(db->aDb[p1].pBt, pOp->p2, isWriteLock);
69242 if( (rc&0xFF)==SQLITE_LOCKED ){
69266 rc = sqlite3VtabBegin(db, u.cj.pVTab);
69279 rc = sqlite3VtabCallCreate(db, pOp->p1, pOp->p4.z, &p->zErrMsg);
69292 rc = sqlite3VtabCallDestroy(db, pOp->p1, pOp->p4.z);
69318 rc = u.ck.pModule->xOpen(u.ck.pVtab, &u.ck.pVtabCursor);
69320 if( SQLITE_OK==rc ){
69397 rc = u.cl.pModule->xFilter(u.cl.pVtabCursor, u.cl.iQuery, pOp->p4.z, u.cl.nArg, u.cl.apArg);
69400 if( rc==SQLITE_OK ){
69451 rc = u.cm.pModule->xColumn(pCur->pVtabCursor, &u.cm.sContext, pOp->p2);
69454 rc = u.cm.sContext.isError;
69505 rc = u.cn.pModule->xNext(u.cn.pCur->pVtabCursor);
69508 if( rc==SQLITE_OK ){
69539 rc = u.co.pVtab->pModule->xRename(u.co.pVtab, u.co.pName->z);
69601 rc = u.cp.pModule->xUpdate(u.cp.pVtab, u.cp.nArg, u.cp.apArg, &u.cp.rowid);
69604 if( rc==SQLITE_OK && pOp->p1 ){
69608 if( rc==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){
69610 rc = SQLITE_OK;
69734 if( rc!=0 ) fprintf(p->trace,"rc=%d\n",rc);
69750 assert( rc );
69751 p->rc = rc;
69753 sqlite3_log(rc, "statement aborts at %d: [%s] %s",
69756 if( rc==SQLITE_IOERR_NOMEM ) db->mallocFailed = 1;
69757 rc = SQLITE_ERROR;
69768 return rc;
69775 rc = SQLITE_TOOBIG;
69783 rc = SQLITE_NOMEM;
69786 /* Jump to here for any other kind of fatal error. The "rc" variable
69791 if( db->mallocFailed ) rc = SQLITE_NOMEM;
69792 if( rc!=SQLITE_IOERR_NOMEM ){
69793 sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(rc));
69802 rc = SQLITE_INTERRUPT;
69803 p->rc = rc;
69804 sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(rc));
69861 int rc; /* Error code */
69872 rc = sqlite3_step(p->pStmt);
69873 if( rc==SQLITE_ROW ){
69879 rc = SQLITE_ERROR;
69892 if( rc==SQLITE_ROW ){
69893 rc = SQLITE_OK;
69895 rc = sqlite3_finalize(p->pStmt);
69897 if( rc==SQLITE_OK ){
69899 rc = SQLITE_ERROR;
69905 assert( rc!=SQLITE_OK || zErr==0 );
69906 assert( rc!=SQLITE_ROW && rc!=SQLITE_DONE );
69909 return rc;
69960 int rc = SQLITE_OK;
70000 rc = SQLITE_ERROR;
70014 rc = SQLITE_ERROR;
70054 rc = SQLITE_ERROR;
70122 rc = blobSeekToRow(pBlob, iRow, &zErr);
70123 } while( (++nAttempt)<5 && rc==SQLITE_SCHEMA );
70126 if( rc==SQLITE_OK && db->mallocFailed==0 ){
70132 sqlite3Error(db, rc, (zErr ? "%s" : 0), zErr);
70135 rc = sqlite3ApiExit(db, rc);
70137 return rc;
70146 int rc;
70152 rc = sqlite3_finalize(p->pStmt);
70156 rc = SQLITE_OK;
70158 return rc;
70171 int rc;
70183 rc = SQLITE_ERROR;
70189 rc = SQLITE_ABORT;
70196 rc = xCall(p->pCsr, iOffset+p->iOffset, n, z);
70198 if( rc==SQLITE_ABORT ){
70202 db->errCode = rc;
70203 v->rc = rc;
70206 rc = sqlite3ApiExit(db, rc);
70208 return rc;
70247 int rc;
70259 rc = SQLITE_ABORT;
70262 rc = blobSeekToRow(p, iRow, &zErr);
70263 if( rc!=SQLITE_OK ){
70264 sqlite3Error(db, rc, (zErr ? "%s" : 0), zErr);
70267 assert( rc!=SQLITE_SCHEMA );
70270 rc = sqlite3ApiExit(db, rc);
70271 assert( rc==SQLITE_OK || p->pStmt==0 );
70273 return rc;
70435 int rc; /* Return Code */
70452 rc = sqlite3OsRead(pIter->pFile, pIter->aAlloc, nRead, pIter->iReadOff);
70453 if( rc==SQLITE_OK ){
70466 rc = sqlite3OsRead(
70472 assert( rc!=SQLITE_OK || nRec>0 );
70476 return rc;
70494 int rc; /* Result of write() call */
70497 rc = sqlite3OsWrite(pFile, aVarint, nVarint, *piOffset);
70500 return rc;
70521 int rc; /* Return code */
70523 rc = sqlite3OsRead(pFile, aVarint, 9, iOff);
70524 if( rc==SQLITE_OK ){
70528 return rc;
70544 int rc;
70553 rc = SQLITE_NOMEM;
70556 rc = vdbeSorterReadVarint(pSorter->pTemp1, &pIter->iReadOff, &nByte);
70560 if( rc==SQLITE_OK ){
70561 rc = vdbeSorterIterNext(db, pIter);
70563 return rc;
70826 int rc = SQLITE_OK; /* Return code */
70831 return rc;
70834 rc = vdbeSorterSort(pCsr);
70837 if( rc==SQLITE_OK && pSorter->pTemp1==0 ){
70838 rc = vdbeSorterOpenTempFile(db, &pSorter->pTemp1);
70839 assert( rc!=SQLITE_OK || pSorter->pTemp1 );
70844 if( rc==SQLITE_OK ){
70851 rc = vdbeSorterWriteVarint(pSorter->pTemp1, pSorter->nInMemory, &iOff);
70852 for(p=pSorter->pRecord; rc==SQLITE_OK && p; p=pNext){
70854 rc = vdbeSorterWriteVarint(pSorter->pTemp1, p->nVal, &iOff);
70856 if( rc==SQLITE_OK ){
70857 rc = sqlite3OsWrite(pSorter->pTemp1, p->pVal, p->nVal, iOff);
70867 assert( rc!=SQLITE_OK || pSorter->nInMemory==(
70872 if( rc==SQLITE_OK ){
70875 rc = sqlite3OsWrite(pSorter->pTemp1, eightZeros, 8, iOff);
70880 return rc;
70892 int rc = SQLITE_OK; /* Return Code */
70900 rc = SQLITE_NOMEM;
70918 if( rc==SQLITE_OK && pSorter->mxPmaSize>0 && (
70922 rc = vdbeSorterListToPMA(db, pCsr);
70926 return rc;
70938 int rc = SQLITE_OK; /* Return code */
70945 rc = vdbeSorterIterInit(db, pSorter, pSorter->iReadOff, pIter, &nByte);
70947 assert( rc!=SQLITE_OK || pSorter->iReadOff<=pSorter->iWriteOff );
70948 if( rc!=SQLITE_OK || pSorter->iReadOff>=pSorter->iWriteOff ) break;
70952 for(i=pSorter->nTree-1; rc==SQLITE_OK && i>0; i--){
70953 rc = vdbeSorterDoCompare(pCsr, i);
70957 return rc;
70966 int rc; /* Return code */
70985 rc = vdbeSorterListToPMA(db, pCsr);
70986 if( rc!=SQLITE_OK ) return rc;
71003 rc==SQLITE_OK && iNew*SORTER_MAX_MERGE_COUNT<pSorter->nPMA;
71017 rc = vdbeSorterInitMerge(db, pCsr, &nWrite);
71018 assert( rc!=SQLITE_OK || pSorter->aIter[ pSorter->aTree[1] ].pFile );
71019 if( rc!=SQLITE_OK || pSorter->nPMA<=SORTER_MAX_MERGE_COUNT ){
71026 rc = vdbeSorterOpenTempFile(db, &pTemp2);
71029 if( rc==SQLITE_OK ){
71030 rc = vdbeSorterWriteVarint(pTemp2, nWrite, &iWrite2);
71033 if( rc==SQLITE_OK ){
71035 while( rc==SQLITE_OK && bEof==0 ){
71040 rc = sqlite3OsWrite(pTemp2, pIter->aAlloc, nToWrite, iWrite2);
71042 if( rc==SQLITE_OK ){
71043 rc = sqlite3VdbeSorterNext(db, pCsr, &bEof);
71060 }while( rc==SQLITE_OK );
71066 return rc;
71074 int rc; /* Return code */
71080 rc = vdbeSorterIterNext(db, &pSorter->aIter[iPrev]);
71081 for(i=(pSorter->nTree+iPrev)/2; rc==SQLITE_OK && i>0; i=i/2){
71082 rc = vdbeSorterDoCompare(pCsr, i);
71092 rc = SQLITE_OK;
71094 return rc;
71213 int rc = SQLITE_OK;
71216 rc = sqlite3OsOpen(p->pVfs, p->zJournal, pReal, p->flags, 0);
71217 if( rc==SQLITE_OK ){
71221 rc = sqlite3OsWrite(p->pReal, p->zBuf, p->iSize, 0);
71225 return rc;
71249 int rc = SQLITE_OK;
71252 rc = sqlite3OsRead(p->pReal, zBuf, iAmt, iOfst);
71254 rc = SQLITE_IOERR_SHORT_READ;
71258 return rc;
71270 int rc = SQLITE_OK;
71273 rc = createFile(p);
71275 if( rc==SQLITE_OK ){
71277 rc = sqlite3OsWrite(p->pReal, zBuf, iAmt, iOfst);
71285 return rc;
71292 int rc = SQLITE_OK;
71295 rc = sqlite3OsTruncate(p->pReal, size);
71299 return rc;
71306 int rc;
71309 rc = sqlite3OsSync(p->pReal, flags);
71311 rc = SQLITE_OK;
71313 return rc;
71320 int rc = SQLITE_OK;
71323 rc = sqlite3OsFileSize(p->pReal, pSize);
71327 return rc;
71702 int rc;
71706 rc = pWalker->xExprCallback(pWalker, pExpr);
71707 if( rc==WRC_Continue
71717 return rc & WRC_Abort;
71787 int rc;
71789 rc = WRC_Continue;
71791 rc = pWalker->xSelectCallback(pWalker, p);
71792 if( rc ) break;
71797 return rc & WRC_Abort;
72471 int rc; /* Return code from subprocedures */
72488 rc = sqlite3ResolveExprNames(&nc, pE);
72490 if( rc ) return 0;
73288 int rc = SQLITE_OK;
73294 rc = SQLITE_ERROR;
73296 return rc;
74225 int rc = 0;
74230 || sqlite3GetInt32(p->u.zToken, &rc)==0 );
74238 rc = sqlite3ExprIsInteger(p->pLeft, pValue);
74245 rc = 1;
74251 return rc;
78210 int rc;
78235 rc = SQLITE_NOMEM;
78237 rc = sqlite3_exec(db, zSql, analysisLoader, &sInfo, 0);
78244 if( rc==SQLITE_OK && !sqlite3FindTable(db, "sqlite_stat2", sInfo.zDatabase) ){
78245 rc = SQLITE_ERROR;
78247 if( rc==SQLITE_OK ){
78253 rc = SQLITE_NOMEM;
78255 rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0);
78259 if( rc==SQLITE_OK ){
78312 rc = sqlite3_finalize(pStmt);
78317 if( rc==SQLITE_NOMEM ){
78320 return rc;
78363 int rc = SQLITE_OK;
78366 rc = sqlite3ResolveExprNames(pName, pExpr);
78367 if( rc==SQLITE_OK && !sqlite3ExprIsConstant(pExpr) ){
78375 return rc;
78395 int rc = 0;
78458 rc = sqlite3ParseUri(db->pVfs->zName, zFile, &flags, &pVfs, &zPath, &zErr);
78459 if( rc!=SQLITE_OK ){
78460 if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
78467 rc = sqlite3BtreeOpen(pVfs, zPath, db, &aNew->pBt, 0, flags);
78470 if( rc==SQLITE_CONSTRAINT ){
78471 rc = SQLITE_ERROR;
78473 }else if( rc==SQLITE_OK ){
78477 rc = SQLITE_NOMEM;
78481 rc = SQLITE_ERROR;
78490 if( rc==SQLITE_OK && aNew->zName==0 ){
78491 rc = SQLITE_NOMEM;
78496 if( rc==SQLITE_OK ){
78506 rc = SQLITE_ERROR;
78513 rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey);
78520 rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey);
78532 if( rc==SQLITE_OK ){
78534 rc = sqlite3Init(db, &zErrDyn);
78537 if( rc ){
78547 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
78565 if( rc ) sqlite3_result_error_code(context, rc);
78637 int rc;
78647 SQLITE_OK!=(rc = resolveAttachExpr(&sName, pFilename)) ||
78648 SQLITE_OK!=(rc = resolveAttachExpr(&sName, pDbname)) ||
78649 SQLITE_OK!=(rc = resolveAttachExpr(&sName, pKey))
78663 rc = sqlite3AuthCheck(pParse, type, zAuthArg, 0, 0);
78664 if(rc!=SQLITE_OK ){
78974 pParse->rc = SQLITE_ERROR;
78994 int rc; /* Auth callback return code */
78996 rc = db->xAuth(db->pAuthArg, SQLITE_READ, zTab,zCol,zDb,pParse->zAuthContext);
78997 if( rc==SQLITE_DENY ){
79003 pParse->rc = SQLITE_AUTH;
79004 }else if( rc!=SQLITE_IGNORE && rc!=SQLITE_OK ){
79007 return rc;
79084 int rc;
79096 rc = db->xAuth(db->pAuthArg, code, zArg1, zArg2, zArg3, pParse->zAuthContext);
79097 if( rc==SQLITE_DENY ){
79099 pParse->rc = SQLITE_AUTH;
79100 }else if( rc!=SQLITE_OK && rc!=SQLITE_IGNORE ){
79101 rc = SQLITE_DENY;
79104 return rc;
79340 pParse->rc = SQLITE_DONE;
79343 pParse->rc = SQLITE_ERROR;
79965 pParse->rc = SQLITE_NOMEM;
82617 int rc;
82626 rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pBt, 0, flags);
82627 if( rc!=SQLITE_OK ){
82630 pParse->rc = rc;
85483 int rc = sqlite3_overload_function(db, "MATCH", 2);
85484 assert( rc==SQLITE_NOMEM || rc==SQLITE_OK );
85485 if( rc==SQLITE_NOMEM ){
87472 int rc, j1;
87484 rc = sqlite3Select(pParse, pSelect, &dest);
87485 assert( pParse->nErr==0 || rc );
87486 if( rc || NEVER(pParse->nErr) || db->mallocFailed ){
88762 int rc = SQLITE_OK; /* Return code */
88774 while( (rc==SQLITE_OK || (rc==SQLITE_SCHEMA && (++nRetry)<2)) && zSql[0] ){
88779 rc = sqlite3_prepare(db, zSql, -1, &pStmt, &zLeftover);
88780 assert( rc==SQLITE_OK || pStmt==0 );
88781 if( rc!=SQLITE_OK ){
88795 rc = sqlite3_step(pStmt);
88798 if( xCallback && (SQLITE_ROW==rc ||
88799 (SQLITE_DONE==rc && !callbackIsInit
88814 if( rc==SQLITE_ROW ){
88825 rc = SQLITE_ABORT;
88833 if( rc!=SQLITE_ROW ){
88834 rc = sqlite3VdbeFinalize((Vdbe *)pStmt);
88836 if( rc!=SQLITE_SCHEMA ){
88853 rc = sqlite3ApiExit(db, rc);
88854 if( rc!=SQLITE_OK && ALWAYS(rc==sqlite3_errcode(db)) && pzErrMsg ){
88860 rc = SQLITE_NOMEM;
88867 assert( (rc&db->errMask)==rc );
88869 return rc;
89782 int rc;
89784 rc = sqlite3LoadExtension(db, zFile, zProc, pzErrMsg);
89785 rc = sqlite3ApiExit(db, rc);
89787 return rc;
89865 int rc = SQLITE_OK;
89867 rc = sqlite3_initialize();
89868 if( rc ){
89869 return rc;
89887 rc = SQLITE_NOMEM;
89895 assert( (rc&0xff)==rc );
89896 return rc;
90585 int rc = sqlite3BtreeSetAutoVacuum(pBt, eAuto);
90586 if( rc==SQLITE_OK && (eAuto==1 || eAuto==2) ){
90706 int rc;
90708 rc = sqlite3OsAccess(db->pVfs, zRight, SQLITE_ACCESS_READWRITE, &res);
90709 if( rc!=SQLITE_OK || res==0 ){
91524 pData->rc = db->mallocFailed ? SQLITE_NOMEM : SQLITE_CORRUPT_BKPT;
91563 int rc;
91572 rc = db->errCode;
91573 assert( (rc&0xFF)==(rcp&0xFF) );
91575 if( SQLITE_OK!=rc ){
91579 pData->rc = rc;
91580 if( rc==SQLITE_NOMEM ){
91582 }else if( rc!=SQLITE_INTERRUPT && (rc&0xFF)!=SQLITE_LOCKED ){
91622 int rc;
91683 initData.rc = SQLITE_OK;
91686 if( initData.rc ){
91687 rc = initData.rc;
91710 rc = sqlite3BtreeBeginTrans(pDb->pBt, 0);
91711 if( rc!=SQLITE_OK ){
91712 sqlite3SetString(pzErrMsg, db, "%s", sqlite3ErrStr(rc));
91758 rc = SQLITE_ERROR;
91786 rc = SQLITE_ERROR;
91813 rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0);
91818 if( rc==SQLITE_OK ) rc = initData.rc;
91821 if( rc==SQLITE_OK ){
91827 rc = SQLITE_NOMEM;
91830 if( rc==SQLITE_OK || (db->flags&SQLITE_RecoveryMode)){
91840 rc = SQLITE_OK;
91854 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
91857 return rc;
91871 int i, rc;
91875 rc = SQLITE_OK;
91877 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
91879 rc = sqlite3InitOne(db, i, pzErrMsg);
91880 if( rc ){
91890 if( rc==SQLITE_OK && ALWAYS(db->nDb>1)
91892 rc = sqlite3InitOne(db, 1, pzErrMsg);
91893 if( rc ){
91900 if( rc==SQLITE_OK && commit_internal ){
91904 return rc;
91912 int rc = SQLITE_OK;
91916 rc = sqlite3Init(db, &pParse->zErrMsg);
91918 if( rc!=SQLITE_OK ){
91919 pParse->rc = rc;
91922 return rc;
91928 ** of date set pParse->rc to SQLITE_SCHEMA. If all schema cookies
91929 ** make no changes to pParse->rc.
91934 int rc;
91948 rc = sqlite3BtreeBeginTrans(pBt, 0);
91949 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
91952 if( rc!=SQLITE_OK ) return;
91958 ** set Parse.rc to SQLITE_SCHEMA. */
91963 pParse->rc = SQLITE_SCHEMA;
92019 int rc = SQLITE_OK; /* Result code */
92025 rc = SQLITE_NOMEM;
92060 rc = sqlite3BtreeSchemaLocked(pBt);
92061 if( rc ){
92063 sqlite3Error(db, rc, "database schema is locked: %s", zDb);
92081 rc = sqlite3ApiExit(db, SQLITE_TOOBIG);
92098 pParse->rc = SQLITE_NOMEM;
92100 if( pParse->rc==SQLITE_DONE ) pParse->rc = SQLITE_OK;
92105 pParse->rc = SQLITE_NOMEM;
92110 rc = pParse->rc;
92113 if( rc==SQLITE_OK && pParse->pVdbe && pParse->explain ){
92140 if( pParse->pVdbe && (rc!=SQLITE_OK || db->mallocFailed) ){
92148 sqlite3Error(db, rc, "%s", zErrMsg);
92151 sqlite3Error(db, rc, 0);
92164 rc = sqlite3ApiExit(db, rc);
92165 assert( (rc&db->errMask)==rc );
92166 return rc;
92177 int rc;
92185 rc = sqlite3Prepare(db, zSql, nBytes, saveSqlFlag, pOld, ppStmt, pzTail);
92186 if( rc==SQLITE_SCHEMA ){
92188 rc = sqlite3Prepare(db, zSql, nBytes, saveSqlFlag, pOld, ppStmt, pzTail);
92192 return rc;
92204 int rc;
92214 rc = sqlite3LockAndPrepare(db, zSql, -1, 0, p, &pNew, 0);
92215 if( rc ){
92216 if( rc==SQLITE_NOMEM ){
92220 return rc;
92247 int rc;
92248 rc = sqlite3LockAndPrepare(db,zSql,nBytes,0,0,ppStmt,pzTail);
92249 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
92250 return rc;
92259 int rc;
92260 rc = sqlite3LockAndPrepare(db,zSql,nBytes,1,0,ppStmt,pzTail);
92261 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
92262 return rc;
92284 int rc = SQLITE_OK;
92294 rc = sqlite3LockAndPrepare(db, zSql8, -1, saveSqlFlag, 0, ppStmt, &zTail8);
92307 rc = sqlite3ApiExit(db, rc);
92309 return rc;
92327 int rc;
92328 rc = sqlite3Prepare16(db,zSql,nBytes,0,ppStmt,pzTail);
92329 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
92330 return rc;
92339 int rc;
92340 rc = sqlite3Prepare16(db,zSql,nBytes,1,ppStmt,pzTail);
92341 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
92342 return rc;
93906 int rc = SQLITE_OK; /* Success code from a subroutine */
93929 rc = 1;
93935 rc = 1;
93958 rc = 1;
93978 rc = sqlite3Select(pParse, pPrior, &dest);
93981 if( rc ){
93992 rc = sqlite3Select(pParse, p, &dest);
93993 testcase( rc!=SQLITE_OK );
94047 rc = sqlite3Select(pParse, pPrior, &uniondest);
94048 if( rc ){
94067 rc = sqlite3Select(pParse, p, &uniondest);
94068 testcase( rc!=SQLITE_OK );
94134 rc = sqlite3Select(pParse, pPrior, &intersectdest);
94135 if( rc ){
94151 rc = sqlite3Select(pParse, p, &intersectdest);
94152 testcase( rc!=SQLITE_OK );
94211 rc = SQLITE_NOMEM;
94246 return rc;
96092 int rc = 1; /* Value to return from this function */
96242 rc = multiSelect(pParse, p, pDest);
96244 return rc;
96820 rc = 0;
96830 if( rc==SQLITE_OK && pDest->eDest==SRT_Output ){
96836 return rc;
96971 int rc; /* Return code from sqlite3_exec() */
97016 p->rc = SQLITE_ERROR;
97039 p->rc = SQLITE_NOMEM;
97061 int rc;
97073 res.rc = SQLITE_OK;
97080 rc = sqlite3_exec(db, zSql, sqlite3_get_table_cb, &res, pzErrMsg);
97083 if( (rc&0xff)==SQLITE_ABORT ){
97092 db->errCode = res.rc; /* Assume 32-bit assignment is atomic */
97093 return res.rc;
97096 if( rc!=SQLITE_OK ){
97098 return rc;
97113 return rc;
98480 int rc;
98481 rc = sqlite3AuthCheck(pParse, SQLITE_UPDATE, pTab->zName,
98483 if( rc==SQLITE_DENY ){
98485 }else if( rc==SQLITE_IGNORE ){
98956 int rc;
98957 rc = sqlite3VdbeFinalize((Vdbe*)pStmt);
98958 if( rc ){
98961 return rc;
98969 VVA_ONLY( int rc; )
98977 VVA_ONLY( rc = ) sqlite3_step(pStmt);
98978 assert( rc!=SQLITE_ROW );
98988 int rc;
98990 rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0);
98991 if( rc!=SQLITE_OK ) return rc;
98994 rc = execSql(db, pzErrMsg, (char*)sqlite3_column_text(pStmt, 0));
98995 if( rc!=SQLITE_OK ){
98997 return rc;
99026 int rc = SQLITE_OK; /* Return code from service routines */
99082 rc = execSql(db, pzErrMsg, zSql);
99087 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99119 rc = SQLITE_NOMEM;
99122 rc = execSql(db, pzErrMsg, "PRAGMA vacuum_db.synchronous=OFF");
99123 if( rc!=SQLITE_OK ){
99133 rc = execSql(db, pzErrMsg, "BEGIN EXCLUSIVE;");
99134 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99139 rc = execExecSql(db, pzErrMsg,
99144 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99145 rc = execExecSql(db, pzErrMsg,
99148 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99149 rc = execExecSql(db, pzErrMsg,
99152 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99158 rc = execExecSql(db, pzErrMsg,
99165 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99169 rc = execExecSql(db, pzErrMsg,
99173 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99174 rc = execExecSql(db, pzErrMsg,
99179 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99187 rc = execSql(db, pzErrMsg,
99194 if( rc ) goto end_of_vacuum;
99229 rc = sqlite3BtreeUpdateMeta(pTemp, aCopy[i], meta+aCopy[i+1]);
99230 if( NEVER(rc!=SQLITE_OK) ) goto end_of_vacuum;
99233 rc = sqlite3BtreeCopyFile(pMain, pTemp);
99234 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99235 rc = sqlite3BtreeCommit(pTemp);
99236 if( rc!=SQLITE_OK ) goto end_of_vacuum;
99242 assert( rc==SQLITE_OK );
99243 rc = sqlite3BtreeSetPageSize(pMain, sqlite3BtreeGetPageSize(pTemp), nRes,1);
99272 return rc;
99318 int rc, nName;
99344 rc = sqlite3ApiExit(db, SQLITE_OK);
99346 return rc;
99728 int rc;
99752 rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVTable->pVtab, &zErr);
99754 if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
99756 if( SQLITE_OK!=rc ){
99773 rc = SQLITE_ERROR;
99817 return rc;
99831 int rc;
99845 rc = SQLITE_ERROR;
99848 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xConnect, &zErr);
99849 if( rc!=SQLITE_OK ){
99855 return rc;
99898 int rc = SQLITE_OK;
99916 rc = SQLITE_ERROR;
99918 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xCreate, pzErr);
99923 if( rc==SQLITE_OK && ALWAYS(sqlite3GetVTable(db, pTab)) ){
99924 rc = growVTrans(db);
99925 if( rc==SQLITE_OK ){
99930 return rc;
99941 int rc = SQLITE_OK;
99955 rc = SQLITE_NOMEM;
99977 rc = SQLITE_ERROR;
99988 assert( (rc&0xff)==rc );
99989 rc = sqlite3ApiExit(db, rc);
99991 return rc;
100002 int rc = SQLITE_OK;
100009 assert( rc==SQLITE_OK );
100010 rc = p->pMod->pModule->xDestroy(p->pVtab);
100013 if( rc==SQLITE_OK ){
100021 return rc;
100062 int rc = SQLITE_OK;
100066 for(i=0; rc==SQLITE_OK && i<db->nVTrans; i++){
100070 rc = x(pVtab);
100077 return rc;
100107 int rc = SQLITE_OK;
100135 rc = growVTrans(db);
100136 if( rc==SQLITE_OK ){
100137 rc = pModule->xBegin(pVTab->pVtab);
100138 if( rc==SQLITE_OK ){
100143 return rc;
100162 int rc = SQLITE_OK;
100168 for(i=0; rc==SQLITE_OK && i<db->nVTrans; i++){
100186 rc = xMethod(db->aVTrans[i]->pVtab, iSavepoint);
100191 return rc;
100219 int rc = 0;
100244 rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xFunc, &pArg);
100247 if( rc==0 ){
100316 int rc = SQLITE_OK;
100325 rc = SQLITE_MISUSE_BKPT;
100333 rc = SQLITE_MISUSE_BKPT;
100338 if( rc!=SQLITE_OK ) sqlite3Error(db, rc, 0);
100340 return rc;
102590 int rc;
102594 rc = pVtab->pModule->xBestIndex(pVtab, p);
102597 if( rc!=SQLITE_OK ){
102598 if( rc==SQLITE_NOMEM ){
102601 sqlite3ErrorMsg(pParse, "%s", sqlite3ErrStr(rc));
102972 int rc = SQLITE_OK;
102988 rc = valueFromExpr(pParse, pExpr, aff, &pLowerVal);
102992 if( rc==SQLITE_OK && pUpper ){
102994 rc = valueFromExpr(pParse, pExpr, aff, &pUpperVal);
102999 if( rc!=SQLITE_OK || (pLowerVal==0 && pUpperVal==0) ){
103004 rc = whereRangeRegion(pParse, p, pUpperVal, roundUpUpper, &iUpper);
103007 rc = whereRangeRegion(pParse, p, pLowerVal, roundUpLower, &iLower);
103010 rc = whereRangeRegion(pParse, p, pUpperVal, roundUpUpper, &iUpper);
103011 if( rc==SQLITE_OK ){
103012 rc = whereRangeRegion(pParse, p, pLowerVal, roundUpLower, &iLower);
103027 return rc;
103039 return rc;
103069 int rc; /* Subfunction return code */
103075 rc = valueFromExpr(pParse, pExpr, aff, &pRhs);
103076 if( rc ) goto whereEqualScanEst_cancel;
103081 rc = whereRangeRegion(pParse, p, pRhs, 0, &iLower);
103082 if( rc ) goto whereEqualScanEst_cancel;
103083 rc = whereRangeRegion(pParse, p, pRhs, 1, &iUpper);
103084 if( rc ) goto whereEqualScanEst_cancel;
103096 return rc;
103126 int rc = SQLITE_OK; /* Subfunction return code */
103141 rc = valueFromExpr(pParse, pList->a[i].pExpr, aff, &pVal);
103142 if( rc ) break;
103147 rc = whereRangeRegion(pParse, p, pVal, 0, &iLower);
103148 if( rc ) break;
103149 rc = whereRangeRegion(pParse, p, pVal, 1, &iUpper);
103150 if( rc ) break;
103158 if( rc==SQLITE_OK ){
103174 return rc;
109645 pParse->rc = SQLITE_OK;
109667 pParse->rc = SQLITE_TOOBIG;
109674 pParse->rc = SQLITE_INTERRUPT;
109693 if( pParse->rc!=SQLITE_OK ){
109701 if( zSql[i]==0 && nErr==0 && pParse->rc==SQLITE_OK ){
109716 pParse->rc = SQLITE_NOMEM;
109718 if( pParse->rc!=SQLITE_OK && pParse->rc!=SQLITE_DONE && pParse->zErrMsg==0 ){
109719 sqlite3SetString(&pParse->zErrMsg, db, "%s", sqlite3ErrStr(pParse->rc));
109724 sqlite3_log(pParse->rc, "%s", *pzErrMsg);
109765 if( nErr>0 && pParse->rc==SQLITE_OK ){
109766 pParse->rc = SQLITE_ERROR;
110036 int rc = SQLITE_NOMEM;
110039 rc = sqlite3_initialize();
110040 if( rc ) return rc;
110046 rc = sqlite3_complete(zSql8);
110048 rc = SQLITE_NOMEM;
110051 return sqlite3ApiExit(0, rc);
110254 int rc; /* Result code */
110257 rc = sqlite3_wsd_init(4096, 24);
110258 if( rc!=SQLITE_OK ){
110259 return rc;
110278 rc = sqlite3MutexInit();
110279 if( rc ) return rc;
110291 rc = sqlite3MallocInit();
110293 if( rc==SQLITE_OK ){
110299 rc = SQLITE_NOMEM;
110303 if( rc==SQLITE_OK ){
110308 /* If rc is not SQLITE_OK at this point, then either the malloc
110311 if( rc!=SQLITE_OK ){
110312 return rc;
110335 rc = sqlite3PcacheInitialize();
110337 if( rc==SQLITE_OK ){
110339 rc = sqlite3OsInit();
110341 if( rc==SQLITE_OK ){
110370 if ( rc==SQLITE_OK ){
110385 if( rc==SQLITE_OK && sqlite3GlobalConfig.isInit ){
110387 rc = SQLITE_EXTRA_INIT();
110391 return rc;
110435 int rc = SQLITE_OK;
110589 rc = SQLITE_ERROR;
110594 return rc;
110673 int rc;
110680 rc = setupLookaside(db, pBuf, sz, cnt);
110692 rc = SQLITE_ERROR; /* IMP: R-42790-23372 */
110709 rc = SQLITE_OK;
110717 return rc;
110741 int rc, n;
110743 rc = memcmp(pKey1, pKey2, n);
110744 if( rc==0 ){
110749 /* Leave rc unchanged at 0 */
110751 rc = nKey1 - nKey2;
110754 return rc;
111000 SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){
111030 rc &= 0xff;
111031 if( ALWAYS(rc>=0) && rc<(int)(sizeof(aMsg)/sizeof(aMsg[0])) && aMsg[rc]!=0 ){
111032 return aMsg[rc];
111091 int rc;
111093 rc = p->xFunc(p->pArg, p->nBusy);
111094 if( rc==0 ){
111099 return rc;
111209 int rc;
111210 rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF8,
111212 if( rc==SQLITE_OK ){
111213 rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF16LE,
111216 if( rc!=SQLITE_OK ){
111217 return rc;
111293 int rc = SQLITE_ERROR;
111305 rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xFunc, xStep, xFinal, pArg);
111307 assert( rc!=SQLITE_OK );
111313 rc = sqlite3ApiExit(db, rc);
111315 return rc;
111329 int rc;
111334 rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xFunc, xStep, xFinal,0);
111336 rc = sqlite3ApiExit(db, rc);
111338 return rc;
111361 int rc;
111367 rc = sqlite3ApiExit(db, SQLITE_OK);
111369 return rc;
111551 int rc; /* Return code */
111570 rc = SQLITE_ERROR;
111573 rc = sqlite3Checkpoint(db, iDb, eMode, pnLog, pnCkpt);
111574 sqlite3Error(db, rc, 0);
111576 rc = sqlite3ApiExit(db, rc);
111578 return rc;
111613 int rc = SQLITE_OK; /* Return code */
111621 for(i=0; i<db->nDb && rc==SQLITE_OK; i++){
111623 rc = sqlite3BtreeCheckpoint(db->aDb[i].pBt, eMode, pnLog, pnCkpt);
111626 if( rc==SQLITE_BUSY ){
111628 rc = SQLITE_OK;
111633 return (rc==SQLITE_OK && bBusy) ? SQLITE_BUSY : rc;
111977 char **pzErrMsg /* OUT: Error message (if rc!=SQLITE_OK) */
111979 int rc = SQLITE_OK;
112013 rc = SQLITE_ERROR;
112137 rc = SQLITE_ERROR;
112143 rc = SQLITE_PERM;
112164 rc = SQLITE_ERROR;
112167 if( rc!=SQLITE_OK ){
112173 return rc;
112189 int rc; /* Return code */
112196 rc = sqlite3_initialize();
112197 if( rc ) return rc;
112321 rc = sqlite3ParseUri(zVfs, zFilename, &flags, &db->pVfs, &zOpen, &zErrMsg);
112322 if( rc!=SQLITE_OK ){
112323 if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
112324 sqlite3Error(db, rc, zErrMsg ? "%s" : 0, zErrMsg);
112330 rc = sqlite3BtreeOpen(db->pVfs, zOpen, db, &db->aDb[0].pBt, 0,
112332 if( rc!=SQLITE_OK ){
112333 if( rc==SQLITE_IOERR_NOMEM ){
112334 rc = SQLITE_NOMEM;
112336 sqlite3Error(db, rc, 0);
112367 rc = sqlite3_errcode(db);
112368 if( rc!=SQLITE_OK ){
112375 rc = sqlite3Fts1Init(db);
112380 if( !db->mallocFailed && rc==SQLITE_OK ){
112382 rc = sqlite3Fts2Init(db);
112387 if( !db->mallocFailed && rc==SQLITE_OK ){
112388 rc = sqlite3Fts3Init(db);
112393 if( !db->mallocFailed && rc==SQLITE_OK ){
112394 rc = sqlite3IcuInit(db);
112399 if( !db->mallocFailed && rc==SQLITE_OK){
112400 rc = sqlite3RtreeInit(db);
112404 sqlite3Error(db, rc, 0);
112428 rc = sqlite3_errcode(db);
112429 if( rc==SQLITE_NOMEM ){
112432 }else if( rc!=SQLITE_OK ){
112436 return sqlite3ApiExit(0, rc);
112468 int rc;
112474 rc = sqlite3_initialize();
112475 if( rc ) return rc;
112481 rc = openDatabase(zFilename8, ppDb,
112483 assert( *ppDb || rc==SQLITE_NOMEM );
112484 if( rc==SQLITE_OK && !DbHasProperty(*ppDb, 0, DB_SchemaLoaded) ){
112488 rc = SQLITE_NOMEM;
112492 return sqlite3ApiExit(0, rc);
112506 int rc;
112509 rc = createCollation(db, zName, (u8)enc, SQLITE_COLL_USER, pCtx, xCompare, 0);
112510 rc = sqlite3ApiExit(db, rc);
112512 return rc;
112526 int rc;
112529 rc = createCollation(db, zName, (u8)enc, SQLITE_COLL_USER, pCtx, xCompare, xDel);
112530 rc = sqlite3ApiExit(db, rc);
112532 return rc;
112546 int rc = SQLITE_OK;
112552 rc = createCollation(db, zName8, (u8)enc, SQLITE_COLL_USER, pCtx, xCompare, 0);
112555 rc = sqlite3ApiExit(db, rc);
112557 return rc;
112681 int rc;
112696 rc = sqlite3Init(db, &zErrMsg);
112697 if( SQLITE_OK!=rc ){
112764 if( SQLITE_OK==rc && !pTab ){
112768 rc = SQLITE_ERROR;
112770 sqlite3Error(db, rc, (zErrMsg?"%s":0), zErrMsg);
112772 rc = sqlite3ApiExit(db, rc);
112774 return rc;
112783 int rc;
112790 rc = (sqlite3OsSleep(pVfs, 1000*ms)/1000);
112791 return rc;
112808 int rc = SQLITE_ERROR;
112830 rc = SQLITE_OK;
112832 rc = sqlite3OsFileControl(fd, op, pArg);
112834 rc = SQLITE_NOTFOUND;
112840 return rc;
112847 int rc = 0;
112892 rc = sqlite3BitvecBuiltinTest(sz, aProg);
112925 rc = PENDING_BYTE;
112949 rc = x;
112983 rc = ALWAYS(x);
113030 rc = (sqlite3KeywordCode((u8*)zWord, n)!=TK_ID) ? SQLITE_N_KEYWORD : 0;
113040 rc = sizeof(PgHdr);
113074 return rc;
113251 int rc = SQLITE_OK;
113273 rc = SQLITE_LOCKED; /* Deadlock detected. */
113285 sqlite3Error(db, rc, (rc?"database is deadlocked":0));
113287 return rc;
114727 int rc = SQLITE_OK; /* Return code */
114732 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_content'", p->zDb, p->zName);
114733 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_segments'", p->zDb,p->zName);
114734 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_segdir'", p->zDb, p->zName);
114735 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_docsize'", p->zDb, p->zName);
114736 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_stat'", p->zDb, p->zName);
114742 return (rc==SQLITE_OK ? fts3DisconnectMethod(pVtab) : rc);
114758 int rc; /* Return code */
114775 rc = SQLITE_NOMEM;
114777 rc = sqlite3_declare_vtab(p->db, zSql);
114782 *pRc = rc;
114796 int rc = SQLITE_OK; /* Return code */
114807 if( zContentCols==0 ) rc = SQLITE_NOMEM;
114810 fts3DbExec(&rc, db,
114816 fts3DbExec(&rc, db,
114820 fts3DbExec(&rc, db,
114833 fts3DbExec(&rc, db,
114839 fts3DbExec(&rc, db,
114844 return rc;
114856 int rc; /* Return code */
114862 rc = SQLITE_NOMEM;
114864 rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0);
114865 if( rc==SQLITE_OK ){
114868 rc = sqlite3_finalize(pStmt);
114869 }else if( rc==SQLITE_AUTH ){
114871 rc = SQLITE_OK;
114874 assert( p->nPgsz>0 || rc!=SQLITE_OK );
114876 *pRc = rc;
115148 int rc = SQLITE_OK; /* Return code */
115194 for(i=3; rc==SQLITE_OK && i<argc; i++){
115205 rc = sqlite3Fts3InitTokenizer(pHash, &z[9], &pTokenizer, pzErr);
115224 rc = SQLITE_NOMEM;
115234 rc = SQLITE_ERROR;
115240 rc = SQLITE_ERROR;
115268 rc = SQLITE_ERROR;
115284 if( rc!=SQLITE_OK ) goto fts3_init_out;
115294 rc = sqlite3Fts3InitTokenizer(pHash, "simple", &pTokenizer, pzErr);
115295 if( rc!=SQLITE_OK ) goto fts3_init_out;
115299 rc = fts3PrefixParameter(zPrefix, &nIndex, &aIndex);
115300 if( rc==SQLITE_ERROR ){
115304 if( rc!=SQLITE_OK ) goto fts3_init_out;
115315 rc = SQLITE_NOMEM;
115362 rc = SQLITE_ERROR;
115365 p->zReadExprlist = fts3ReadExprList(p, zUncompress, &rc);
115366 p->zWriteExprlist = fts3WriteExprList(p, zCompress, &rc);
115367 if( rc!=SQLITE_OK ) goto fts3_init_out;
115373 rc = fts3CreateTables(p);
115378 fts3DatabasePageSize(&rc, p);
115382 fts3DeclareVtab(&rc, p);
115390 if( rc!=SQLITE_OK ){
115400 return rc;
115552 int rc = sqlite3_reset(pCsr->pStmt);
115553 if( rc==SQLITE_OK ){
115558 rc = SQLITE_CORRUPT_VTAB;
115562 sqlite3_result_error_code(pContext, rc);
115564 return rc;
115594 int rc = SQLITE_OK; /* Return code */
115636 rc = SQLITE_CORRUPT_VTAB;
115644 rc = SQLITE_NOMEM;
115681 return rc;
115715 int rc; /* Return code */
115721 rc = fts3ScanInteriorNode(zTerm, nTerm, zNode, nNode, piLeaf, piLeaf2);
115722 assert( !piLeaf2 || !piLeaf || rc!=SQLITE_OK || (*piLeaf<=*piLeaf2) );
115724 if( rc==SQLITE_OK && iHeight>1 ){
115729 rc = sqlite3Fts3ReadBlock(p, *piLeaf, &zBlob, &nBlob, 0);
115730 if( rc==SQLITE_OK ){
115731 rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, 0);
115738 if( rc==SQLITE_OK ){
115739 rc = sqlite3Fts3ReadBlock(p, piLeaf?*piLeaf:*piLeaf2, &zBlob, &nBlob, 0);
115741 if( rc==SQLITE_OK ){
115742 rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, piLeaf2);
115747 return rc;
116437 int rc = fts3DoclistOrMerge(p->bDescIdx,
116440 if( rc!=SQLITE_OK ){
116442 return rc;
116504 int rc = fts3DoclistOrMerge(p->bDescIdx, aMerge, nMerge,
116507 if( rc!=SQLITE_OK ){
116509 return rc;
116566 int rc = SQLITE_OK; /* Error code */
116578 rc = sqlite3Fts3SegReaderPending(p, iIndex, zTerm, nTerm, isPrefix, &pSeg);
116579 if( rc==SQLITE_OK && pSeg ){
116580 rc = fts3SegReaderCursorAppend(pCsr, pSeg);
116585 if( rc==SQLITE_OK ){
116586 rc = sqlite3Fts3AllSegdirs(p, iIndex, iLevel, &pStmt);
116589 while( rc==SQLITE_OK && SQLITE_ROW==(rc = sqlite3_step(pStmt)) ){
116603 rc = fts3SelectLeaf(p, zTerm, nTerm, zRoot, nRoot, &iStartBlock, pi);
116604 if( rc!=SQLITE_OK ) goto finished;
116608 rc = sqlite3Fts3SegReaderNew(pCsr->nSegment+1,
116611 if( rc!=SQLITE_OK ) goto finished;
116612 rc = fts3SegReaderCursorAppend(pCsr, pSeg);
116618 if( rc==SQLITE_DONE ) rc = rc2;
116620 return rc;
116693 int rc = SQLITE_NOMEM; /* Return code */
116705 rc = sqlite3Fts3SegReaderCursor(
116714 rc = sqlite3Fts3SegReaderCursor(
116717 if( rc==SQLITE_OK ){
116718 rc = fts3SegReaderCursorAddZero(p, zTerm, nTerm, pSegcsr);
116725 rc = sqlite3Fts3SegReaderCursor(
116733 return rc;
116755 int rc; /* Return code */
116770 rc = sqlite3Fts3SegReaderStart(p, pSegcsr, &filter);
116771 while( SQLITE_OK==rc
116772 && SQLITE_ROW==(rc = sqlite3Fts3SegReaderStep(p, pSegcsr))
116774 rc = fts3TermSelectMerge(p, &tsc, pSegcsr->aDoclist, pSegcsr->nDoclist);
116777 if( rc==SQLITE_OK ){
116778 rc = fts3TermSelectFinishMerge(p, &tsc);
116780 if( rc==SQLITE_OK ){
116792 return rc;
116831 int rc;
116836 rc = sqlite3_reset(pCsr->pStmt);
116839 rc = SQLITE_OK;
116842 rc = fts3EvalNext((Fts3Cursor *)pCursor);
116845 return rc;
116871 int rc;
116905 rc = sqlite3Fts3ExprParse(p->pTokenizer, p->azColumn, p->nColumn,
116908 if( rc!=SQLITE_OK ){
116909 if( rc==SQLITE_ERROR ){
116913 return rc;
116916 rc = sqlite3Fts3ReadLock(p);
116917 if( rc!=SQLITE_OK ) return rc;
116919 rc = fts3EvalStart(pCsr);
116922 if( rc!=SQLITE_OK ) return rc;
116941 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0);
116943 if( rc!=SQLITE_OK ) return rc;
116946 rc = sqlite3_bind_value(pCsr->pStmt, 1, apVal[0]);
116947 if( rc!=SQLITE_OK ) return rc;
116982 int rc = SQLITE_OK; /* Return Code */
117000 rc = fts3CursorSeek(0, pCsr);
117001 if( rc==SQLITE_OK ){
117007 return rc;
117029 int rc = sqlite3Fts3PendingTermsFlush((Fts3Table *)pVtab);
117031 return rc;
117201 int rc; /* Return code */
117212 rc = sqlite3Fts3Optimize(p);
117214 switch( rc ){
117222 sqlite3_result_error_code(pContext, rc);
117292 int rc; /* Return Code */
117294 rc = sqlite3Fts3PendingTermsFlush(p);
117295 if( rc!=SQLITE_OK ){
117296 return rc;
117299 fts3DbExec(&rc, db,
117304 fts3DbExec(&rc, db,
117310 fts3DbExec(&rc, db,
117315 fts3DbExec(&rc, db,
117319 fts3DbExec(&rc, db,
117323 return rc;
117429 int rc = SQLITE_OK;
117440 rc = sqlite3Fts3InitTerm(db);
117441 if( rc!=SQLITE_OK ) return rc;
117444 rc = sqlite3Fts3InitAux(db);
117445 if( rc!=SQLITE_OK ) return rc;
117453 rc = SQLITE_NOMEM;
117459 if( rc==SQLITE_OK ){
117466 rc = SQLITE_NOMEM;
117471 if( rc==SQLITE_OK ){
117472 rc = sqlite3Fts3ExprInitTestInterface(db);
117480 if( SQLITE_OK==rc
117481 && SQLITE_OK==(rc = sqlite3Fts3InitHashTable(db, pHash, "fts3_tokenizer"))
117482 && SQLITE_OK==(rc = sqlite3_overload_function(db, "snippet", -1))
117483 && SQLITE_OK==(rc = sqlite3_overload_function(db, "offsets", 1))
117484 && SQLITE_OK==(rc = sqlite3_overload_function(db, "matchinfo", 1))
117485 && SQLITE_OK==(rc = sqlite3_overload_function(db, "matchinfo", 2))
117486 && SQLITE_OK==(rc = sqlite3_overload_function(db, "optimize", 1))
117488 rc = sqlite3_create_module_v2(
117491 if( rc==SQLITE_OK ){
117492 rc = sqlite3_create_module_v2(
117496 return rc;
117500 assert( rc!=SQLITE_OK );
117505 return rc;
117537 int rc = fts3TermSegReaderCursor(pCsr,
117540 if( rc!=SQLITE_OK ){
117541 *pRc = rc;
117629 int rc = SQLITE_OK;
117631 for(iToken=0; rc==SQLITE_OK && iToken<p->nToken; iToken++){
117638 rc = fts3TermSelect(pTab, pToken, p->iColumn, &nThis, &pThis);
117639 if( rc==SQLITE_OK ){
117646 return rc;
117661 int rc = SQLITE_OK; /* Return code */
117668 for(iToken=0; rc==SQLITE_OK && iToken<pPhrase->nToken; iToken++){
117675 rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
117676 if( rc!=SQLITE_OK ) return rc;
117767 int rc; /* Error code */
117779 rc = sqlite3Fts3MsrIncrStart(
117785 rc = fts3EvalPhraseLoad(pCsr, p);
117789 assert( rc!=SQLITE_OK || p->nToken<1 || p->aToken[0].pSegcsr==0 || p->bIncr );
117790 return rc;
117870 int rc = SQLITE_OK;
117877 rc = sqlite3Fts3MsrIncrNext(pTab, p->aToken[0].pSegcsr,
117880 if( rc==SQLITE_OK && !pDL->pList ){
117926 return rc;
118059 int rc;
118067 rc = sqlite3Fts3SelectDoctotal(p, &pStmt);
118068 if( rc!=SQLITE_OK ) return rc;
118085 rc = sqlite3_reset(pStmt);
118086 if( rc!=SQLITE_OK ) return rc;
118115 int rc = SQLITE_OK; /* Return code */
118135 rc = fts3EvalAverageDocsize(pCsr, &nDocSize);
118136 assert( rc!=SQLITE_OK || nDocSize>0 );
118161 for(ii=0; ii<nToken && rc==SQLITE_OK; ii++){
118181 rc = sqlite3Fts3DeferToken(pCsr, pToken, pTC->iCol);
118193 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
118194 assert( rc==SQLITE_OK || pList==0 );
118195 if( rc==SQLITE_OK ){
118208 return rc;
118225 int rc = SQLITE_OK;
118230 fts3EvalAllocateReaders(pCsr, pCsr->pExpr, &nToken, &nOr, &rc);
118233 if( rc==SQLITE_OK && nToken>1 && pTab->bHasStat ){
118243 rc = SQLITE_NOMEM;
118249 fts3EvalTokenCosts(pCsr, 0, pCsr->pExpr, &pTC, &ppOr, &rc);
118253 if( rc==SQLITE_OK ){
118254 rc = fts3EvalSelectDeferred(pCsr, 0, aTC, nToken);
118255 for(ii=0; rc==SQLITE_OK && ii<nOr; ii++){
118256 rc = fts3EvalSelectDeferred(pCsr, apOr[ii], aTC, nToken);
118264 fts3EvalStartReaders(pCsr, pCsr->pExpr, 1, &rc);
118265 return rc;
118689 int rc = *pRc;
118691 if( rc==SQLITE_OK ){
118700 rc = fts3CursorSeek(0, pCsr);
118701 if( rc==SQLITE_OK ){
118702 rc = sqlite3Fts3CacheDeferredDoclists(pCsr);
118705 bMiss = (0==fts3EvalTestExpr(pCsr, pCsr->pExpr, &rc));
118709 *pRc = rc;
118711 return (rc==SQLITE_OK && bMiss);
118719 int rc = SQLITE_OK; /* Return Code */
118730 fts3EvalNextRow(pCsr, pExpr, &rc);
118735 }while( pCsr->isEof==0 && fts3EvalTestDeferredAndNear(pCsr, &rc) );
118737 return rc;
118834 int rc = SQLITE_OK; /* Return code */
118864 fts3EvalRestart(pCsr, pRoot, &rc);
118866 while( pCsr->isEof==0 && rc==SQLITE_OK ){
118874 fts3EvalNextRow(pCsr, pRoot, &rc);
118881 && fts3EvalTestDeferredAndNear(pCsr, &rc)
118884 if( rc==SQLITE_OK && pCsr->isEof==0 ){
118899 ** do {...} while( pRoot->iDocid<iDocid && rc==SQLITE_OK );
118901 fts3EvalRestart(pCsr, pRoot, &rc);
118903 fts3EvalNextRow(pCsr, pRoot, &rc);
118905 }while( pRoot->iDocid!=iDocid && rc==SQLITE_OK );
118906 fts3EvalTestDeferredAndNear(pCsr, &rc);
118909 return rc;
118948 int rc = SQLITE_OK;
118958 rc = fts3EvalGatherStats(pCsr, pExpr);
118959 if( rc==SQLITE_OK ){
118968 return rc;
119130 int rc; /* value returned by declare_vtab() */
119148 rc = sqlite3_declare_vtab(db, FTS3_TERMS_SCHEMA);
119149 if( rc!=SQLITE_OK ) return rc;
119303 int rc;
119312 rc = sqlite3Fts3SegReaderStep(pFts3, &pCsr->csr);
119313 if( rc==SQLITE_ROW ){
119384 rc = SQLITE_OK;
119388 return rc;
119403 int rc;
119441 rc = sqlite3Fts3SegReaderCursor(pFts3, 0, FTS3_SEGCURSOR_ALL,
119444 if( rc==SQLITE_OK ){
119445 rc = sqlite3Fts3SegReaderStart(pFts3, &pCsr->csr, &pCsr->filter);
119448 if( rc==SQLITE_OK ) rc = fts3auxNextMethod(pCursor);
119449 return rc;
119530 int rc; /* Return code */
119532 rc = sqlite3_create_module(db, "fts4aux", &fts3aux_module, 0);
119533 return rc;
119689 int rc;
119694 rc = pModule->xOpen(pTokenizer, z, n, &pCursor);
119695 if( rc==SQLITE_OK ){
119701 rc = pModule->xNext(pCursor, &zToken, &nToken, &iStart, &iEnd, &iPosition);
119703 if( rc==SQLITE_OK ){
119707 rc = SQLITE_NOMEM;
119733 return rc;
119768 int rc;
119792 ** The second pass, in the block that begins "if( rc==SQLITE_DONE )" below,
119796 rc = pModule->xOpen(pTokenizer, zInput, nInput, &pCursor);
119797 if( rc==SQLITE_OK ){
119800 for(ii=0; rc==SQLITE_OK; ii++){
119803 rc = pModule->xNext(pCursor, &zByte, &nByte, &iBegin, &iEnd, &iPos);
119804 if( rc==SQLITE_OK ){
119830 if( rc==SQLITE_DONE ){
119850 rc = SQLITE_OK;
119854 return rc;
119900 int rc;
119973 rc = fts3ExprParse(pParse, &zInput[1], nInput-1, ppExpr, &nConsumed);
119974 if( rc==SQLITE_OK && !*ppExpr ){
119975 rc = SQLITE_DONE;
119978 return rc;
120028 rc = getNextToken(pParse, iCol, &z[iColLen], n-iColLen, ppExpr, pnConsumed);
120030 return rc;
120115 int rc = SQLITE_OK;
120118 while( rc==SQLITE_OK ){
120121 rc = getNextNode(pParse, zIn, nIn, &p, &nByte);
120122 if( rc==SQLITE_OK ){
120132 rc = SQLITE_NOMEM;
120153 rc = SQLITE_ERROR;
120164 rc = SQLITE_NOMEM;
120186 rc = SQLITE_ERROR;
120205 assert( rc!=SQLITE_OK || (nByte>0 && nByte<=nIn) );
120211 if( rc==SQLITE_DONE && pRet && isRequirePhrase ){
120212 rc = SQLITE_ERROR;
120215 if( rc==SQLITE_DONE ){
120216 rc = SQLITE_OK;
120219 rc = SQLITE_ERROR;
120233 if( rc!=SQLITE_OK ){
120239 return rc;
120275 int rc;
120289 rc = fts3ExprParse(&sParse, z, n, ppExpr, &nParsed);
120292 if( rc==SQLITE_OK && sParse.nNest ){
120293 rc = SQLITE_ERROR;
120298 return rc;
120332 int rc;
120337 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
120338 if( rc!=SQLITE_OK ){
120339 return rc;
120423 int rc;
120440 rc = queryTestTokenizer(db,
120442 if( rc==SQLITE_NOMEM ){
120450 rc = pModule->xCreate(0, 0, &pTokenizer);
120451 assert( rc==SQLITE_NOMEM || rc==SQLITE_OK );
120452 if( rc==SQLITE_NOMEM ){
120470 rc = sqlite3Fts3ExprParse(
120473 if( rc!=SQLITE_OK && rc!=SQLITE_NOMEM ){
120475 }else if( rc==SQLITE_NOMEM || !(zBuf = exprToString(pExpr, 0)) ){
120486 rc = pModule->xDestroy(pTokenizer);
121686 int rc;
121704 rc = SQLITE_ERROR;
121723 rc = m->xCreate(iArg, aArg, ppTok);
121724 assert( rc!=SQLITE_OK || *ppTok );
121725 if( rc!=SQLITE_OK ){
121734 return rc;
121863 int rc;
121867 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
121868 if( rc!=SQLITE_OK ){
121869 return rc;
121885 int rc;
121890 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
121891 if( rc!=SQLITE_OK ){
121892 return rc;
121930 int rc;
121940 rc = queryTokenizer(db, "simple", &p2);
121941 assert( rc==SQLITE_OK );
121943 rc = queryTokenizer(db, "nosuchtokenizer", &p2);
121944 assert( rc==SQLITE_ERROR );
121949 rc = registerTokenizer(db, "nosuchtokenizer", p1);
121950 assert( rc==SQLITE_OK );
121951 rc = queryTokenizer(db, "nosuchtokenizer", &p2);
121952 assert( rc==SQLITE_OK );
121982 int rc = SQLITE_OK;
121993 rc = SQLITE_NOMEM;
121997 if( SQLITE_OK==rc ){
121998 rc = sqlite3_create_function(db, zName, 1, any, p, scalarFunc, 0, 0);
122000 if( SQLITE_OK==rc ){
122001 rc = sqlite3_create_function(db, zName, 2, any, p, scalarFunc, 0, 0);
122004 if( SQLITE_OK==rc ){
122005 rc = sqlite3_create_function(db, zTest, 2, any, p, testFunc, 0, 0);
122007 if( SQLITE_OK==rc ){
122008 rc = sqlite3_create_function(db, zTest, 3, any, p, testFunc, 0, 0);
122010 if( SQLITE_OK==rc ){
122011 rc = sqlite3_create_function(db, zTest2, 0, any, pdb, intTestFunc, 0, 0);
122020 return rc;
122548 int rc = SQLITE_OK;
122565 rc = SQLITE_NOMEM;
122567 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, NULL);
122569 assert( rc==SQLITE_OK || pStmt==0 );
122576 for(i=0; rc==SQLITE_OK && i<nParam; i++){
122577 rc = sqlite3_bind_value(pStmt, i+1, apVal[i]);
122581 return rc;
122591 int rc; /* Return code */
122595 rc = fts3SqlStmt(pTab, eStmt, &pStmt, 0);
122596 if( rc==SQLITE_OK ){
122600 rc = sqlite3_step(pStmt);
122601 if( rc!=SQLITE_ROW || sqlite3_column_type(pStmt, 0)!=SQLITE_BLOB ){
122602 rc = sqlite3_reset(pStmt);
122603 if( rc==SQLITE_OK ) rc = SQLITE_CORRUPT_VTAB;
122606 rc = SQLITE_OK;
122611 return rc;
122644 int rc;
122646 rc = fts3SqlStmt(p, eStmt, &pStmt, apVal);
122647 if( rc==SQLITE_OK ){
122649 rc = sqlite3_reset(pStmt);
122651 *pRC = rc;
122673 int rc; /* Return code */
122676 rc = fts3SqlStmt(p, SQL_SELECT_CONTENT_BY_ROWID, &pStmt, 0);
122677 if( rc==SQLITE_OK ){
122680 rc = sqlite3_reset(pStmt);
122682 return rc;
122708 int rc;
122717 rc = fts3SqlStmt(p, SQL_SELECT_LEVEL_RANGE, &pStmt, 0);
122718 if( rc==SQLITE_OK ){
122724 rc = fts3SqlStmt(p, SQL_SELECT_LEVEL, &pStmt, 0);
122725 if( rc==SQLITE_OK ){
122730 return rc;
122798 int rc = SQLITE_OK;
122809 if( SQLITE_OK!=(rc = fts3PendingListAppendVarint(&p, iDelta)) ){
122817 if( SQLITE_OK!=(rc = fts3PendingListAppendVarint(&p, 1))
122818 || SQLITE_OK!=(rc = fts3PendingListAppendVarint(&p, iCol))
122827 rc = fts3PendingListAppendVarint(&p, 2+iPos-p->iLastPos);
122828 if( rc==SQLITE_OK ){
122834 *pRc = rc;
122861 int rc = SQLITE_OK;
122867 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
122874 rc = SQLITE_NOMEM;
122877 if( rc==SQLITE_OK ){
122880 return rc;
122896 int rc;
122921 rc = pModule->xOpen(pTokenizer, zText, -1, &pCsr);
122922 if( rc!=SQLITE_OK ){
122923 return rc;
122928 while( SQLITE_OK==rc
122929 && SQLITE_OK==(rc = xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos))
122938 rc = SQLITE_ERROR;
122943 rc = fts3PendingTermsAddOne(
122949 for(i=1; rc==SQLITE_OK && i<p->nIndex; i++){
122952 rc = fts3PendingTermsAddOne(
122960 return (rc==SQLITE_DONE ? SQLITE_OK : rc);
122976 int rc = sqlite3Fts3PendingTermsFlush(p);
122977 if( rc!=SQLITE_OK ) return rc;
123012 int rc = fts3PendingTermsAdd(p, zText, i-2, &aSz[i-2]);
123013 if( rc!=SQLITE_OK ){
123014 return rc;
123039 int rc; /* Return code */
123050 rc = fts3SqlStmt(p, SQL_CONTENT_INSERT, &pContentInsert, &apVal[1]);
123051 if( rc!=SQLITE_OK ){
123052 return rc;
123072 rc = sqlite3_bind_value(pContentInsert, 1, apVal[3+p->nColumn]);
123073 if( rc!=SQLITE_OK ) return rc;
123080 rc = sqlite3_reset(pContentInsert);
123083 return rc;
123093 int rc = SQLITE_OK; /* Return code */
123099 fts3SqlExec(&rc, p, SQL_DELETE_ALL_CONTENT, 0);
123100 fts3SqlExec(&rc, p, SQL_DELETE_ALL_SEGMENTS, 0);
123101 fts3SqlExec(&rc, p, SQL_DELETE_ALL_SEGDIR, 0);
123103 fts3SqlExec(&rc, p, SQL_DELETE_ALL_DOCSIZE, 0);
123106 fts3SqlExec(&rc, p, SQL_DELETE_ALL_STAT, 0);
123108 return rc;
123122 int rc;
123126 rc = fts3SqlStmt(p, SQL_SELECT_CONTENT_BY_ROWID, &pSelect, &pRowid);
123127 if( rc==SQLITE_OK ){
123132 rc = fts3PendingTermsAdd(p, zText, -1, &aSz[i-1]);
123133 if( rc!=SQLITE_OK ){
123135 *pRC = rc;
123141 rc = sqlite3_reset(pSelect);
123145 *pRC = rc;
123175 int rc; /* Return Code */
123180 rc = fts3SqlStmt(p, SQL_NEXT_SEGMENT_INDEX, &pNextIdx, 0);
123181 if( rc==SQLITE_OK ){
123186 rc = sqlite3_reset(pNextIdx);
123189 if( rc==SQLITE_OK ){
123196 rc = fts3SegmentMerge(p, iIndex, iLevel);
123203 return rc;
123240 int rc; /* Return code */
123246 rc = sqlite3_blob_reopen(p->pSegments, iBlockid);
123252 rc = sqlite3_blob_open(
123257 if( rc==SQLITE_OK ){
123263 rc = SQLITE_NOMEM;
123269 rc = sqlite3_blob_read(p->pSegments, aByte, nByte, 0);
123271 if( rc!=SQLITE_OK ){
123280 return rc;
123294 int rc; /* Return code */
123297 rc = sqlite3_blob_read(
123304 if( rc==SQLITE_OK ){
123313 return rc;
123317 int rc = SQLITE_OK;
123321 while( pReader->pBlob && rc==SQLITE_OK
123324 rc = fts3SegReaderIncrRead(pReader);
123326 return rc;
123339 int rc; /* Return code of various sub-routines */
123382 rc = sqlite3Fts3ReadBlock(
123386 if( rc!=SQLITE_OK ) return rc;
123397 rc = fts3SegReaderRequire(pReader, pNext, FTS3_VARINT_MAX*2);
123398 if( rc!=SQLITE_OK ) return rc;
123420 rc = fts3SegReaderRequire(pReader, pNext, nSuffix+FTS3_VARINT_MAX);
123421 if( rc!=SQLITE_OK ) return rc;
123447 int rc = SQLITE_OK;
123459 rc = fts3SegReaderRequire(pReader, pReader->aDoclist, FTS3_VARINT_MAX);
123460 if( rc==SQLITE_OK ){
123465 return rc;
123484 int rc = SQLITE_OK;
123526 rc = fts3SegReaderIncrRead(pReader);
123527 if( rc!=SQLITE_OK ) return rc;
123549 rc = fts3SegReaderRequire(pReader, p, FTS3_VARINT_MAX);
123550 if( rc==SQLITE_OK ){
123574 int rc = SQLITE_OK;
123580 for(ii=0; rc==SQLITE_OK && ii<pMsr->nSegment; ii++){
123588 rc = sqlite3Fts3ReadBlock(p, jj, 0, &nBlob, 0);
123589 if( rc!=SQLITE_OK ) break;
123597 return rc;
123627 int rc = SQLITE_OK; /* Return code */
123656 if( rc==SQLITE_OK ){
123661 return rc;
123713 int rc = SQLITE_OK; /* Return Code */
123732 rc = SQLITE_NOMEM;
123765 rc = SQLITE_NOMEM;
123778 return rc;
123794 int rc;
123798 rc = memcmp(pLhs->zTerm, pRhs->zTerm, pLhs->nTerm);
123800 rc = memcmp(pLhs->zTerm, pRhs->zTerm, pRhs->nTerm);
123802 if( rc==0 ){
123803 rc = rc2;
123806 rc = (pLhs->aNode==0) - (pRhs->aNode==0);
123808 if( rc==0 ){
123809 rc = pRhs->iIdx - pLhs->iIdx;
123811 assert( rc!=0 );
123812 return rc;
123827 int rc = (pLhs->pOffsetList==0)-(pRhs->pOffsetList==0);
123828 if( rc==0 ){
123830 rc = pRhs->iIdx - pLhs->iIdx;
123832 rc = (pLhs->iDocid > pRhs->iDocid) ? 1 : -1;
123836 return rc;
123839 int rc = (pLhs->pOffsetList==0)-(pRhs->pOffsetList==0);
123840 if( rc==0 ){
123842 rc = pRhs->iIdx - pLhs->iIdx;
123844 rc = (pLhs->iDocid < pRhs->iDocid) ? 1 : -1;
123848 return rc;
123924 int rc = fts3SqlStmt(p, SQL_INSERT_SEGMENTS, &pStmt, 0);
123925 if( rc==SQLITE_OK ){
123929 rc = sqlite3_reset(pStmt);
123931 return rc;
123948 int rc = fts3SqlStmt(p, SQL_INSERT_SEGDIR, &pStmt, 0);
123949 if( rc==SQLITE_OK ){
123957 rc = sqlite3_reset(pStmt);
123959 return rc;
123994 int rc;
124075 rc = fts3NodeAddTerm(p, &pParent, isCopyTerm, zTerm, nTerm);
124087 rc = fts3NodeAddTerm(p, &pNew, isCopyTerm, zTerm, nTerm);
124091 return rc;
124133 int rc = SQLITE_OK;
124145 for(pIter=pTree->pLeftmost; pIter && rc==SQLITE_OK; pIter=pIter->pRight){
124149 rc = fts3WriteSegment(p, iNextFree, &pIter->aData[nStart], nWrite);
124153 if( rc==SQLITE_OK ){
124155 rc = fts3NodeWrite(
124161 return rc;
124208 int rc;
124223 rc = fts3SqlStmt(p, SQL_NEXT_SEGMENTS_ID, &pStmt, 0);
124224 if( rc!=SQLITE_OK ) return rc;
124229 rc = sqlite3_reset(pStmt);
124230 if( rc!=SQLITE_OK ) return rc;
124245 int rc;
124248 rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, nData);
124249 if( rc!=SQLITE_OK ) return rc;
124264 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
124265 if( rc!=SQLITE_OK ) return rc;
124336 int rc; /* Return code */
124344 rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, pWriter->nData);
124345 if( rc==SQLITE_OK ){
124346 rc = fts3NodeWrite(p, pWriter->pTree, 1,
124349 if( rc==SQLITE_OK ){
124350 rc = fts3WriteSegdir(
124355 rc = fts3WriteSegdir(
124358 return rc;
124386 int rc;
124387 rc = fts3SqlStmt(p, SQL_IS_EMPTY, &pStmt, &pRowid);
124388 if( rc==SQLITE_OK ){
124392 rc = sqlite3_reset(pStmt);
124394 return rc;
124407 int rc;
124416 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR_MAX_LEVEL, &pStmt, 0);
124417 if( rc!=SQLITE_OK ) return rc;
124447 int rc; /* Return Code */
124451 rc = fts3SqlStmt(p, SQL_DELETE_SEGMENTS_RANGE, &pDelete, 0);
124452 for(i=0; rc==SQLITE_OK && i<nReader; i++){
124458 rc = sqlite3_reset(pDelete);
124461 if( rc!=SQLITE_OK ){
124462 return rc;
124467 rc = fts3SqlStmt(p, SQL_DELETE_SEGDIR_RANGE, &pDelete, 0);
124468 if( rc==SQLITE_OK ){
124473 rc = fts3SqlStmt(p, SQL_DELETE_SEGDIR_LEVEL, &pDelete, 0);
124474 if( rc==SQLITE_OK ){
124479 if( rc==SQLITE_OK ){
124481 rc = sqlite3_reset(pDelete);
124484 return rc;
124580 int rc;
124586 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
124588 while( rc==SQLITE_OK
124593 rc = fts3SegReaderNextDocid(p, apSegment[j], 0, 0);
124596 if( rc!=SQLITE_OK ) return rc;
124605 rc = fts3MsrBufferData(pMsr, pList, nList+1);
124606 if( rc!=SQLITE_OK ) return rc;
124640 int rc = fts3SegReaderNext(p, pSeg, 0);
124641 if( rc!=SQLITE_OK ) return rc;
124666 int rc;
124676 rc = fts3SegReaderStart(p, pCsr, zTerm, nTerm);
124677 if( rc!=SQLITE_OK ) return rc;
124690 rc = fts3SegReaderFirstDocid(p, pCsr->apSegment[i]);
124691 if( rc!=SQLITE_OK ) return rc;
124737 int rc = SQLITE_OK;
124762 rc = fts3SegReaderNext(p, apSegment[i], 0);
124763 if( rc!=SQLITE_OK ) return rc;
124769 assert( rc==SQLITE_OK );
124807 rc = fts3MsrBufferData(pCsr, apSegment[0]->aDoclist, pCsr->nDoclist);
124812 if( rc==SQLITE_OK ) rc = SQLITE_ROW;
124882 rc = SQLITE_ROW;
124886 }while( rc==SQLITE_OK );
124888 return rc;
124921 int rc; /* Return code */
124936 rc = sqlite3Fts3SegReaderCursor(p, iIndex, iLevel, 0, 0, 1, 0, &csr);
124937 if( rc!=SQLITE_OK || csr.nSegment==0 ) goto finished;
124945 rc = SQLITE_DONE;
124948 rc = fts3SegmentMaxLevel(p, iIndex, &iNewLevel);
124953 rc = fts3AllocateSegdirIdx(p, iIndex, 0, &iIdx);
124959 rc = fts3AllocateSegdirIdx(p, iIndex, iLevel+1, &iIdx);
124962 if( rc!=SQLITE_OK ) goto finished;
124971 rc = sqlite3Fts3SegReaderStart(p, &csr, &filter);
124972 while( SQLITE_OK==rc ){
124973 rc = sqlite3Fts3SegReaderStep(p, &csr);
124974 if( rc!=SQLITE_ROW ) break;
124975 rc = fts3SegWriterAdd(p, &pWriter, 1,
124978 if( rc!=SQLITE_OK ) goto finished;
124982 rc = fts3DeleteSegdir(p, iIndex, iLevel, csr.apSegment, csr.nSegment);
124983 if( rc!=SQLITE_OK ) goto finished;
124985 rc = fts3SegWriterFlush(p, pWriter, iNewLevel, iIdx);
124990 return rc;
124998 int rc = SQLITE_OK;
125000 for(i=0; rc==SQLITE_OK && i<p->nIndex; i++){
125001 rc = fts3SegmentMerge(p, i, FTS3_SEGCURSOR_PENDING);
125002 if( rc==SQLITE_DONE ) rc = SQLITE_OK;
125005 return rc;
125056 int rc; /* Result code from subfunctions */
125065 rc = fts3SqlStmt(p, SQL_REPLACE_DOCSIZE, &pStmt, 0);
125066 if( rc ){
125068 *pRC = rc;
125104 int rc; /* Result code from subfunctions */
125115 rc = fts3SqlStmt(p, SQL_SELECT_DOCTOTAL, &pStmt, 0);
125116 if( rc ){
125118 *pRC = rc;
125144 rc = fts3SqlStmt(p, SQL_REPLACE_DOCTOTAL, &pStmt, 0);
125145 if( rc ){
125147 *pRC = rc;
125159 int rc = SQLITE_OK;
125160 for(i=0; rc==SQLITE_OK && i<p->nIndex; i++){
125161 rc = fts3SegmentMerge(p, i, FTS3_SEGCURSOR_ALL);
125162 if( rc==SQLITE_DONE ){
125164 rc = SQLITE_OK;
125170 return (rc==SQLITE_OK && bReturnDone && bSeenDone) ? SQLITE_DONE : rc;
125182 int rc; /* Return Code */
125189 rc = fts3DoOptimize(p, 0);
125193 rc = SQLITE_OK;
125196 rc = SQLITE_OK;
125199 rc = SQLITE_ERROR;
125202 return rc;
125241 int rc = SQLITE_OK; /* Return code */
125254 for(i=0; i<p->nColumn && rc==SQLITE_OK; i++){
125258 rc = pModule->xOpen(pT, zText, -1, &pTC);
125259 while( rc==SQLITE_OK ){
125266 rc = pModule->xNext(pTC, &zToken, &nToken, &iDum1, &iDum2, &iPos);
125267 for(pDef=pCsr->pDeferred; pDef && rc==SQLITE_OK; pDef=pDef->pNext){
125273 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
125278 if( rc==SQLITE_DONE ) rc = SQLITE_OK;
125281 for(pDef=pCsr->pDeferred; pDef && rc==SQLITE_OK; pDef=pDef->pNext){
125283 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
125288 return rc;
125355 int rc = fts3IsEmpty(p, pRowid, &isEmpty);
125356 if( rc==SQLITE_OK ){
125361 rc = fts3DeleteAll(p);
125365 rc = fts3PendingTermsDocid(p, iRemove);
125366 fts3DeleteTerms(&rc, p, pRowid, aSzDel);
125367 fts3SqlExec(&rc, p, SQL_DELETE_CONTENT, &pRowid);
125370 fts3SqlExec(&rc, p, SQL_DELETE_DOCSIZE, &pRowid);
125375 return rc;
125389 int rc = SQLITE_OK; /* Return Code */
125407 rc = fts3SpecialInsert(p, apVal[p->nColumn+2]);
125414 rc = SQLITE_NOMEM;
125458 rc = fts3DeleteByRowid(p, pNewRowid, &nChng, aSzDel);
125460 rc = fts3InsertData(p, apVal, pRowid);
125465 if( rc!=SQLITE_OK ){
125472 rc = fts3DeleteByRowid(p, apVal[0], &nChng, aSzDel);
125478 if( nArg>1 && rc==SQLITE_OK ){
125480 rc = fts3InsertData(p, apVal, pRowid);
125481 if( rc==SQLITE_CONSTRAINT ) rc = SQLITE_CORRUPT_VTAB;
125483 if( rc==SQLITE_OK && (!isRemove || *pRowid!=iRemove) ){
125484 rc = fts3PendingTermsDocid(p, *pRowid);
125486 if( rc==SQLITE_OK ){
125487 rc = fts3InsertTerms(p, apVal, aSzIns);
125490 fts3InsertDocsize(&rc, p, aSzIns);
125496 fts3UpdateDocTotals(&rc, p, aSzIns, aSzDel, nChng);
125502 return rc;
125511 int rc;
125512 rc = sqlite3_exec(p->db, "SAVEPOINT fts3", 0, 0, 0);
125513 if( rc==SQLITE_OK ){
125514 rc = fts3DoOptimize(p, 1);
125515 if( rc==SQLITE_OK || rc==SQLITE_DONE ){
125517 if( rc2!=SQLITE_OK ) rc = rc2;
125524 return rc;
125673 int rc; /* Return code */
125678 rc = fts3ExprIterate2(pExpr->pLeft, piPhrase, x, pCtx);
125679 if( rc==SQLITE_OK && eType!=FTSQUERY_NOT ){
125680 rc = fts3ExprIterate2(pExpr->pRight, piPhrase, x, pCtx);
125683 rc = x(pExpr, *piPhrase, pCtx);
125686 return rc;
125714 int rc = SQLITE_OK;
125723 return rc;
125741 int rc; /* Return Code */
125744 rc = fts3ExprIterate(pCsr->pExpr, fts3ExprLoadDoclistsCb, (void *)&sCtx);
125747 return rc;
125935 int rc; /* Return Code */
125947 rc = fts3ExprLoadDoclists(pCsr, &nList, 0);
125948 if( rc!=SQLITE_OK ){
125949 return rc;
126090 int rc; /* Return Code */
126098 rc = pMod->xOpen(pTab->pTokenizer, zDoc, nDoc, &pC);
126099 if( rc!=SQLITE_OK ){
126100 return rc;
126103 while( rc==SQLITE_OK && iCurrent<(nSnippet+nDesired) ){
126105 rc = pMod->xNext(pC, &ZDUMMY, &DUMMY1, &DUMMY2, &DUMMY3, &iCurrent);
126108 if( rc!=SQLITE_OK && rc!=SQLITE_DONE ){ return rc; }
126110 nShift = (rc==SQLITE_DONE)+iCurrent-nSnippet;
126137 int rc; /* Return code */
126162 rc = pMod->xOpen(pTab->pTokenizer, zDoc, nDoc, &pC);
126163 if( rc!=SQLITE_OK ){
126164 return rc;
126168 while( rc==SQLITE_OK ){
126173 rc = pMod->xNext(pC, &ZDUMMY, &DUMMY1, &iBegin, &iFin, &iCurrent);
126174 if( rc!=SQLITE_OK ){
126175 if( rc==SQLITE_DONE ){
126180 rc = fts3StringAppend(pOut, &zDoc[iEnd], -1);
126188 rc = fts3SnippetShift(pTab, nSnippet, &zDoc[iBegin], n, &iPos, &hlmask);
126195 if( rc==SQLITE_OK && (iPos>0 || iFragment>0) ){
126196 rc = fts3StringAppend(pOut, zEllipsis, -1);
126198 if( rc!=SQLITE_OK || iCurrent<iPos ) continue;
126203 rc = fts3StringAppend(pOut, zEllipsis, -1);
126211 if( iCurrent>iPos ) rc = fts3StringAppend(pOut, &zDoc[iEnd], iBegin-iEnd);
126212 if( rc==SQLITE_OK && isHighlight ) rc = fts3StringAppend(pOut, zOpen, -1);
126213 if( rc==SQLITE_OK ) rc = fts3StringAppend(pOut, &zDoc[iBegin], iFin-iBegin);
126214 if( rc==SQLITE_OK && isHighlight ) rc = fts3StringAppend(pOut, zClose, -1);
126220 return rc;
126372 int rc = sqlite3Fts3SelectDoctotal(pTab, ppStmt);
126373 if( rc!=SQLITE_OK ) return rc;
126425 int rc = 0;
126430 rc = 1;
126436 return rc;
126538 int rc = SQLITE_OK;
126543 for(i=0; rc==SQLITE_OK && zArg[i]; i++){
126557 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, 0);
126567 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, &a);
126568 if( rc==SQLITE_OK ){
126583 rc = sqlite3Fts3SelectDocsize(pTab, pCsr->iPrevId, &pSelectDocsize);
126584 if( rc==SQLITE_OK ){
126598 rc = fts3ExprLoadDoclists(pCsr, 0, 0);
126599 if( rc==SQLITE_OK ){
126600 rc = fts3MatchinfoLcs(pCsr, pInfo);
126608 rc = fts3ExprLoadDoclists(pCsr, 0, 0);
126609 if( rc!=SQLITE_OK ) break;
126612 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &pInfo->nDoc, 0);
126613 if( rc!=SQLITE_OK ) break;
126615 rc = fts3ExprIterate(pExpr, fts3ExprGlobalHitsCb,(void*)pInfo);
126616 if( rc!=SQLITE_OK ) break;
126627 return rc;
126641 int rc = SQLITE_OK;
126693 rc = fts3MatchinfoValues(pCsr, bGlobal, &sInfo, zArg);
126697 return rc;
126713 int rc = SQLITE_OK;
126763 rc = fts3BestSnippet(nFToken, pCsr, iRead, mCovered, &mSeen, &sF, &iS);
126764 if( rc!=SQLITE_OK ){
126785 for(i=0; i<nSnippet && rc==SQLITE_OK; i++){
126786 rc = fts3SnippetText(pCsr, &aSnippet[i],
126793 if( rc!=SQLITE_OK ){
126794 sqlite3_result_error_code(pCtx, rc);
126858 int rc; /* Return Code */
126873 rc = fts3ExprLoadDoclists(pCsr, 0, &nToken);
126874 if( rc!=SQLITE_OK ) goto offsets_out;
126879 rc = SQLITE_NOMEM;
126916 rc = SQLITE_NOMEM;
126921 rc = pMod->xOpen(pTab->pTokenizer, zDoc, nDoc, &pC);
126922 if( rc!=SQLITE_OK ) goto offsets_out;
126925 rc = pMod->xNext(pC, &ZDUMMY, &NDUMMY, &iStart, &iEnd, &iCurrent);
126926 while( rc==SQLITE_OK ){
126949 while( rc==SQLITE_OK && iCurrent<iMinPos ){
126950 rc = pMod->xNext(pC, &ZDUMMY, &NDUMMY, &iStart, &iEnd, &iCurrent);
126952 if( rc==SQLITE_OK ){
126957 rc = fts3StringAppend(&res, aBuffer, -1);
126958 }else if( rc==SQLITE_DONE ){
126959 rc = SQLITE_CORRUPT_VTAB;
126963 if( rc==SQLITE_DONE ){
126964 rc = SQLITE_OK;
126968 if( rc!=SQLITE_OK ) goto offsets_out;
126973 assert( rc!=SQLITE_DONE );
126975 if( rc!=SQLITE_OK ){
126976 sqlite3_result_error_code(pCtx, rc);
126993 int rc;
127017 rc = fts3GetMatchinfo(pCsr, zFormat);
127020 if( rc!=SQLITE_OK ){
127021 sqlite3_result_error_code(pContext, rc);
127499 int rc;
127518 rc = sqlite3_step(pRtree->pReadNode);
127519 if( rc==SQLITE_ROW ){
127537 rc = sqlite3_reset(pRtree->pReadNode);
127538 if( rc==SQLITE_OK ) rc = rc2;
127549 rc = SQLITE_CORRUPT_VTAB;
127557 if( pNode && rc==SQLITE_OK ){
127559 rc = SQLITE_CORRUPT_VTAB;
127563 if( rc==SQLITE_OK ){
127567 rc = SQLITE_CORRUPT_VTAB;
127575 return rc;
127641 int rc = SQLITE_OK;
127652 rc = sqlite3_reset(p);
127653 if( pNode->iNode==0 && rc==SQLITE_OK ){
127658 return rc;
127667 int rc = SQLITE_OK;
127676 rc = nodeRelease(pRtree, pNode->pParent);
127678 if( rc==SQLITE_OK ){
127679 rc = nodeWrite(pRtree, pNode);
127685 return rc;
127806 int rc;
127816 rc = SQLITE_NOMEM;
127818 rc = sqlite3_exec(pRtree->db, zCreate, 0, 0, 0);
127821 if( rc==SQLITE_OK ){
127825 return rc;
127832 int rc = SQLITE_NOMEM;
127839 rc = SQLITE_OK;
127843 return rc;
127870 int rc;
127873 rc = nodeRelease(pRtree, pCsr->pNode);
127875 return rc;
127925 int rc = SQLITE_OK;
127952 rc = testRtreeGeom(pRtree, p, &cell, &bRes);
127960 return rc;
127995 int rc;
127997 rc = testRtreeGeom(pRtree, p, &cell, &res);
127998 if( rc!=SQLITE_OK ){
127999 return rc;
128027 int rc;
128038 rc = testRtreeEntry(pRtree, pCursor, &isEof);
128040 rc = testRtreeCell(pRtree, pCursor, &isEof);
128042 if( rc!=SQLITE_OK || isEof || iHeight==0 ){
128047 rc = nodeAcquire(pRtree, iRowid, pCursor->pNode, &pChild);
128048 if( rc!=SQLITE_OK ){
128057 rc = descendToCell(pRtree, pCursor, iHeight-1, &isEof);
128058 if( rc!=SQLITE_OK ){
128073 return rc;
128116 int rc = SQLITE_OK;
128136 rc = descendToCell(pRtree, pCsr, iHeight, &isEof);
128137 if( rc!=SQLITE_OK || !isEof ){
128138 return rc;
128142 rc = nodeParentIndex(pRtree, pNode, &pCsr->iCell);
128143 if( rc!=SQLITE_OK ){
128144 return rc;
128152 return rc;
128200 int rc;
128205 rc = nodeAcquire(pRtree, iNode, 0, ppLeaf);
128208 rc = sqlite3_reset(pRtree->pReadRowid);
128210 return rc;
128272 int rc = SQLITE_OK;
128283 rc = findLeafNode(pRtree, iRowid, &pLeaf);
128286 assert( rc==SQLITE_OK );
128287 rc = nodeRowidIndex(pRtree, pLeaf, iRowid, &pCsr->iCell);
128297 rc = SQLITE_NOMEM;
128310 rc = deserializeGeometry(argv[ii], p);
128311 if( rc!=SQLITE_OK ){
128321 if( rc==SQLITE_OK ){
128323 rc = nodeAcquire(pRtree, 1, 0, &pRoot);
128325 if( rc==SQLITE_OK ){
128329 for(pCsr->iCell=0; rc==SQLITE_OK && pCsr->iCell<nCell; pCsr->iCell++){
128331 rc = descendToCell(pRtree, pCsr, pRtree->iDepth, &isEof);
128336 if( rc==SQLITE_OK && isEof ){
128341 assert( rc!=SQLITE_OK || !pCsr->pNode || pCsr->iCell<NCELL(pCsr->pNode) );
128346 return rc;
128384 int rc = SQLITE_OK;
128443 return rc;
128590 int rc;
128593 rc = nodeAcquire(pRtree, 1, 0, &pNode);
128595 for(ii=0; rc==SQLITE_OK && ii<(pRtree->iDepth-iHeight); ii++){
128614 rc = SQLITE_NOMEM;
128663 rc = nodeAcquire(pRtree, iBest, pNode, &pChild);
128669 return rc;
129200 int rc = SQLITE_OK;
129216 rc = SQLITE_NOMEM;
129241 rc = SQLITE_NOMEM;
129248 rc = AssignCells(pRtree, aCell, nCell, pLeft, pRight, &leftbbox, &rightbbox);
129249 if( rc!=SQLITE_OK ){
129258 if( SQLITE_OK!=(rc = nodeWrite(pRtree, pRight))
129259 || (0==pLeft->iNode && SQLITE_OK!=(rc = nodeWrite(pRtree, pLeft)))
129268 rc = rtreeInsertCell(pRtree, pLeft->pParent, &leftbbox, iHeight+1);
129269 if( rc!=SQLITE_OK ){
129275 rc = nodeParentIndex(pRtree, pLeft, &iCell);
129276 if( rc==SQLITE_OK ){
129278 rc = AdjustTree(pRtree, pParent, &leftbbox);
129280 if( rc!=SQLITE_OK ){
129284 if( (rc = rtreeInsertCell(pRtree, pRight->pParent, &rightbbox, iHeight+1)) ){
129290 rc = updateMapping(pRtree, iRowid, pRight, iHeight);
129294 if( rc!=SQLITE_OK ){
129301 rc = updateMapping(pRtree, iRowid, pLeft, iHeight);
129302 if( rc!=SQLITE_OK ){
129307 rc = updateMapping(pRtree, pCell->iRowid, pLeft, iHeight);
129310 if( rc==SQLITE_OK ){
129311 rc = nodeRelease(pRtree, pRight);
129314 if( rc==SQLITE_OK ){
129315 rc = nodeRelease(pRtree, pLeft);
129323 return rc;
129338 int rc = SQLITE_OK;
129340 while( rc==SQLITE_OK && pChild->iNode!=1 && pChild->pParent==0 ){
129343 rc = sqlite3_step(pRtree->pReadParent);
129344 if( rc==SQLITE_ROW ){
129359 rc = sqlite3_reset(pRtree->pReadParent);
129360 if( rc==SQLITE_OK ) rc = rc2;
129361 if( rc==SQLITE_OK && !pChild->pParent ) rc = SQLITE_CORRUPT_VTAB;
129364 return rc;
129370 int rc;
129378 rc = nodeParentIndex(pRtree, pNode, &iCell);
129379 if( rc==SQLITE_OK ){
129382 rc = deleteCell(pRtree, pParent, iCell, iHeight+1);
129385 if( rc==SQLITE_OK ){
129386 rc = rc2;
129388 if( rc!=SQLITE_OK ){
129389 return rc;
129395 if( SQLITE_OK!=(rc = sqlite3_reset(pRtree->pDeleteNode)) ){
129396 return rc;
129402 if( SQLITE_OK!=(rc = sqlite3_reset(pRtree->pDeleteParent)) ){
129403 return rc;
129420 int rc = SQLITE_OK;
129432 rc = nodeParentIndex(pRtree, pNode, &ii);
129433 if( rc==SQLITE_OK ){
129435 rc = fixBoundingBox(pRtree, pParent);
129438 return rc;
129447 int rc;
129449 if( SQLITE_OK!=(rc = fixLeafParent(pRtree, pNode)) ){
129450 return rc;
129467 rc = removeNode(pRtree, pNode, iHeight);
129469 rc = fixBoundingBox(pRtree, pNode);
129473 return rc;
129490 int rc = SQLITE_OK;
129540 for(ii=0; rc==SQLITE_OK && ii<(nCell-(RTREE_MINCELLS(pRtree)+1)); ii++){
129545 rc = rowidWrite(pRtree, p->iRowid, pNode->iNode);
129547 rc = parentWrite(pRtree, p->iRowid, pNode->iNode);
129551 if( rc==SQLITE_OK ){
129552 rc = fixBoundingBox(pRtree, pNode);
129554 for(; rc==SQLITE_OK && ii<nCell; ii++){
129560 rc = ChooseLeaf(pRtree, p, iHeight, &pInsert);
129561 if( rc==SQLITE_OK ){
129563 rc = rtreeInsertCell(pRtree, pInsert, p, iHeight);
129565 if( rc==SQLITE_OK ){
129566 rc = rc2;
129572 return rc;
129585 int rc = SQLITE_OK;
129597 rc = SplitNode(pRtree, pNode, pCell, iHeight);
129600 rc = Reinsert(pRtree, pNode, pCell, iHeight);
129603 rc = SplitNode(pRtree, pNode, pCell, iHeight);
129606 rc = AdjustTree(pRtree, pNode, pCell);
129607 if( rc==SQLITE_OK ){
129609 rc = rowidWrite(pRtree, pCell->iRowid, pNode->iNode);
129611 rc = parentWrite(pRtree, pCell->iRowid, pNode->iNode);
129615 return rc;
129620 int rc = SQLITE_OK;
129623 for(ii=0; rc==SQLITE_OK && ii<nCell; ii++){
129631 rc = ChooseLeaf(pRtree, &cell, (int)pNode->iNode, &pInsert);
129632 if( rc==SQLITE_OK ){
129634 rc = rtreeInsertCell(pRtree, pInsert, &cell, (int)pNode->iNode);
129636 if( rc==SQLITE_OK ){
129637 rc = rc2;
129641 return rc;
129648 int rc;
129652 rc = sqlite3_reset(pRtree->pWriteRowid);
129654 return rc;
129661 int rc; /* Return code */
129668 rc = nodeAcquire(pRtree, 1, 0, &pRoot);
129673 if( rc==SQLITE_OK ){
129674 rc = findLeafNode(pRtree, iDelete, &pLeaf);
129678 if( rc==SQLITE_OK ){
129680 rc = nodeRowidIndex(pRtree, pLeaf, iDelete, &iCell);
129681 if( rc==SQLITE_OK ){
129682 rc = deleteCell(pRtree, pLeaf, iCell, 0);
129685 if( rc==SQLITE_OK ){
129686 rc = rc2;
129691 if( rc==SQLITE_OK ){
129694 rc = sqlite3_reset(pRtree->pDeleteRowid);
129705 if( rc==SQLITE_OK && pRtree->iDepth>0 && NCELL(pRoot)==1 ){
129709 rc = nodeAcquire(pRtree, iChild, pRoot, &pChild);
129710 if( rc==SQLITE_OK ){
129711 rc = removeNode(pRtree, pChild, pRtree->iDepth-1);
129714 if( rc==SQLITE_OK ) rc = rc2;
129715 if( rc==SQLITE_OK ){
129724 if( rc==SQLITE_OK ){
129725 rc = reinsertNodeContent(pRtree, pLeaf);
129732 if( rc==SQLITE_OK ){
129733 rc = nodeRelease(pRtree, pRoot);
129738 return rc;
129751 int rc = SQLITE_OK;
129779 rc = SQLITE_CONSTRAINT;
129788 rc = SQLITE_CONSTRAINT;
129804 rc = sqlite3_reset(pRtree->pReadRowid);
129807 rc = rtreeDeleteRowid(pRtree, cell.iRowid);
129809 rc = SQLITE_CONSTRAINT;
129823 rc = rtreeDeleteRowid(pRtree, sqlite3_value_int64(azData[0]));
129830 if( rc==SQLITE_OK && nData>1 ){
129836 rc = newRowid(pRtree, &cell.iRowid);
129840 if( rc==SQLITE_OK ){
129841 rc = ChooseLeaf(pRtree, &cell, 0, &pLeaf);
129843 if( rc==SQLITE_OK ){
129846 rc = rtreeInsertCell(pRtree, pLeaf, &cell, 0);
129848 if( rc==SQLITE_OK ){
129849 rc = rc2;
129856 return rc;
129864 int rc = SQLITE_NOMEM;
129874 rc = sqlite3_exec(pRtree->db, zSql, 0, 0, 0);
129877 return rc;
129913 int rc = SQLITE_OK;
129948 rc = sqlite3_exec(db, zCreate, 0, 0, 0);
129950 if( rc!=SQLITE_OK ){
129951 return rc;
129965 for(i=0; i<N_STATEMENT && rc==SQLITE_OK; i++){
129968 rc = sqlite3_prepare_v2(db, zSql, -1, appStmt[i], 0);
129970 rc = SQLITE_NOMEM;
129975 return rc;
129986 int rc = SQLITE_NOMEM;
129989 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
129990 if( rc==SQLITE_OK ){
129994 rc = sqlite3_finalize(pStmt);
129997 return rc;
130020 int rc;
130025 rc = getIntFromStmt(db, zSql, &iPageSize);
130026 if( rc==SQLITE_OK ){
130037 rc = getIntFromStmt(db, zSql, &pRtree->iNodeSize);
130041 return rc;
130061 int rc = SQLITE_OK;
130101 rc = getNodeSize(db, pRtree, isCreate);
130107 if( rc==SQLITE_OK ){
130108 if( (rc = rtreeSqlInit(pRtree, db, argv[1], argv[2], isCreate)) ){
130125 rc = SQLITE_NOMEM;
130126 }else if( SQLITE_OK!=(rc = sqlite3_declare_vtab(db, zSql)) ){
130133 if( rc==SQLITE_OK ){
130138 return rc;
130216 int rc;
130218 rc = sqlite3_create_function(db, "rtreenode", 2, utf8, 0, rtreenode, 0, 0);
130219 if( rc==SQLITE_OK ){
130220 rc = sqlite3_create_function(db, "rtreedepth", 1, utf8, 0,rtreedepth, 0, 0);
130222 if( rc==SQLITE_OK ){
130224 rc = sqlite3_create_module_v2(db, "rtree", &rtreeModule, c, 0);
130226 if( rc==SQLITE_OK ){
130228 rc = sqlite3_create_module_v2(db, "rtree_i32", &rtreeModule, c, 0);
130231 return rc;
130732 int rc; /* Return code from sqlite3_create_collation_x() */
130749 rc = sqlite3_create_collation_v2(db, zName, SQLITE_UTF16, (void *)pUCollator,
130752 if( rc!=SQLITE_OK ){
130787 int rc = SQLITE_OK;
130790 for(i=0; rc==SQLITE_OK && i<(int)(sizeof(scalars)/sizeof(scalars[0])); i++){
130792 rc = sqlite3_create_function(
130797 return rc;