Lines Matching refs:rc

12503   int rc;              /* Return code from execution */  member
12768 int rc; /* Result code stored here */ member
14839 int rc; /* Value to return */ member
15138 int rc; in sqlite3_status() local
15142 rc = sqlite3_status64(op, &iCur, &iHwtr, resetFlag); in sqlite3_status()
15143 if( rc==0 ){ in sqlite3_status()
15147 return rc; in sqlite3_status()
15160 int rc = SQLITE_OK; /* Return code */ in sqlite3_db_status() local
15317 rc = SQLITE_ERROR; in sqlite3_db_status()
15321 return rc; in sqlite3_db_status()
15760 int rc; in osLocaltime() local
15773 rc = pX==0; in osLocaltime()
15779 rc = localtime_r(t, pTm)==0; in osLocaltime()
15781 rc = localtime_s(pTm, t); in osLocaltime()
15784 return rc; in osLocaltime()
15878 int rc = 1; in parseModifier() local
15897 p->iJD += localtimeOffset(p, pCtx, &rc); in parseModifier()
15913 rc = 0; in parseModifier()
15919 c1 = localtimeOffset(p, pCtx, &rc); in parseModifier()
15920 if( rc==SQLITE_OK ){ in parseModifier()
15923 p->iJD += c1 - localtimeOffset(p, pCtx, &rc); in parseModifier()
15949 rc = 0; in parseModifier()
15970 rc = 0; in parseModifier()
15975 rc = 0; in parseModifier()
15977 rc = 0; in parseModifier()
15996 rc = 1; in parseModifier()
16019 rc = 0; in parseModifier()
16028 rc = 0; in parseModifier()
16061 rc = 1; in parseModifier()
16070 return rc; in parseModifier()
16528 int rc = SQLITE_OK; in sqlite3OsClose() local
16530 rc = pId->pMethods->xClose(pId); in sqlite3OsClose()
16533 return rc; in sqlite3OsClose()
16654 int rc; in sqlite3OsOpen() local
16660 rc = pVfs->xOpen(pVfs, zPath, pFile, flags & 0x87f7f, pFlagsOut); in sqlite3OsOpen()
16661 assert( rc==SQLITE_OK || pFile->pMethods==0 ); in sqlite3OsOpen()
16662 return rc; in sqlite3OsOpen()
16709 int rc; in sqlite3OsCurrentTimeInt64() local
16717 rc = pVfs->xCurrentTimeInt64(pVfs, pTimeOut); in sqlite3OsCurrentTimeInt64()
16720 rc = pVfs->xCurrentTime(pVfs, &r); in sqlite3OsCurrentTimeInt64()
16723 return rc; in sqlite3OsCurrentTimeInt64()
16733 int rc = SQLITE_NOMEM; in sqlite3OsOpenMalloc() local
16737 rc = sqlite3OsOpen(pVfs, zFile, pFile, flags, pOutFlags); in sqlite3OsOpenMalloc()
16738 if( rc!=SQLITE_OK ){ in sqlite3OsOpenMalloc()
16744 return rc; in sqlite3OsOpenMalloc()
16747 int rc = SQLITE_OK; in sqlite3OsCloseFree() local
16749 rc = sqlite3OsClose(pFile); in sqlite3OsCloseFree()
16751 return rc; in sqlite3OsCloseFree()
16783 int rc = sqlite3_initialize(); in sqlite3_vfs_find() local
16784 if( rc ) return 0; in sqlite3_vfs_find()
16826 int rc = sqlite3_initialize(); in sqlite3_vfs_register()
16827 if( rc ) return rc; in sqlite3_vfs_register()
17708 int rc = 1; in sqlite3MemdebugHasType() local
17714 rc = 0; in sqlite3MemdebugHasType()
17717 return rc; in sqlite3MemdebugHasType()
17730 int rc = 1; in sqlite3MemdebugNoType() local
17736 rc = 0; in sqlite3MemdebugNoType()
17739 return rc; in sqlite3MemdebugNoType()
19138 int rc = SQLITE_OK; in sqlite3MutexInit() local
19158 rc = sqlite3GlobalConfig.mutex.xMutexInit(); in sqlite3MutexInit()
19164 return rc; in sqlite3MutexInit()
19172 int rc = SQLITE_OK; in sqlite3MutexEnd() local
19174 rc = sqlite3GlobalConfig.mutex.xMutexEnd(); in sqlite3MutexEnd()
19181 return rc; in sqlite3MutexEnd()
19227 int rc = SQLITE_OK; in sqlite3_mutex_try() local
19231 return rc; in sqlite3_mutex_try()
19744 int rc; in pthreadMutexTry() local
19762 rc = SQLITE_OK; in pthreadMutexTry()
19767 rc = SQLITE_OK; in pthreadMutexTry()
19769 rc = SQLITE_BUSY; in pthreadMutexTry()
19780 rc = SQLITE_OK; in pthreadMutexTry()
19782 rc = SQLITE_BUSY; in pthreadMutexTry()
19787 if( rc==SQLITE_OK && p->trace ){ in pthreadMutexTry()
19791 return rc; in pthreadMutexTry()
20424 int rc = SQLITE_BUSY;
20450 rc = SQLITE_OK;
20458 tid, p, p->trace, p->owner, p->nRef, sqlite3ErrName(rc)));
20461 return rc;
20654 int rc = sqlite3_initialize();
20655 if( rc ) return -1;
20679 int rc;
20715 rc = sqlite3GlobalConfig.m.xInit(sqlite3GlobalConfig.m.pAppData);
20716 if( rc!=SQLITE_OK ) memset(&mem0, 0, sizeof(mem0));
20717 return rc;
21329 SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){
21335 if( db==0 ) return rc & 0xff;
21336 if( db->mallocFailed || rc==SQLITE_IOERR_NOMEM ){
21339 return rc & db->errMask;
22685 int rc;
22699 rc = 1;
22701 rc = pthread_create(&p->tid, 0, xTask, pIn);
22703 if( rc ){
22713 int rc;
22719 rc = SQLITE_OK;
22721 rc = pthread_join(p->tid, ppOut) ? SQLITE_ERROR : SQLITE_OK;
22724 return rc;
22804 DWORD rc;
22811 rc = WAIT_OBJECT_0;
22815 rc = sqlite3Win32Wait((HANDLE)p->tid);
22816 assert( rc!=WAIT_IO_COMPLETION );
22820 if( rc==WAIT_OBJECT_0 ) *ppOut = p->pResult;
22822 return (rc==WAIT_OBJECT_0) ? SQLITE_OK : SQLITE_ERROR;
23124 int rc;
23125 rc = sqlite3VdbeMemMakeWriteable(pMem);
23126 if( rc!=SQLITE_OK ){
23127 assert( rc==SQLITE_NOMEM );
23240 int rc = SQLITE_OK;
23256 rc = sqlite3VdbeMemMakeWriteable(pMem);
23257 if( rc==SQLITE_OK ){
23266 return rc;
23486 int rc; /* The value return */
23516 rc = (y!=z);
23518 rc = isnan(x);
23520 testcase( rc );
23521 return rc;
23615 pParse->rc = SQLITE_ERROR;
25927 int rc = SQLITE_NOTFOUND;
25934 rc = SQLITE_OK;
25949 rc = SQLITE_OK;
25956 return rc;
26174 int rc;
26181 rc = SQLITE_OK;
26184 do{ rc = osFtruncate(h,sz); }while( rc<0 && errno==EINTR );
26185 return rc;
26697 int rc; /* System call return code */
26709 rc = osFstat(fd, &statbuf);
26710 if( rc!=0 ){
26730 do{ rc = osWrite(fd, "S", 1); }while( rc<0 && errno==EINTR );
26731 if( rc!=1 ){
26735 rc = osFstat(fd, &statbuf);
26736 if( rc!=0 ){
26798 int rc;
26804 rc = osFstat(pFile->h, &buf);
26805 if( rc!=0 ){
26835 int rc = SQLITE_OK;
26859 rc = SQLITE_IOERR_CHECKRESERVEDLOCK;
26868 OSTRACE(("TEST WR-LOCK %d %d %d (unix)\n", pFile->h, rc, reserved));
26871 return rc;
26894 int rc;
26908 rc = osFcntl(pFile->h, F_SETLK, &lock);
26909 if( rc<0 ) return rc;
26913 rc = 0;
26916 rc = osFcntl(pFile->h, F_SETLK, pLock);
26918 return rc;
26984 int rc = SQLITE_OK;
27026 rc = SQLITE_BUSY;
27059 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
27060 if( rc!=SQLITE_BUSY ){
27074 assert( rc==SQLITE_OK );
27081 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
27088 if( unixFileLock(pFile, &lock) && rc==SQLITE_OK ){
27091 rc = SQLITE_IOERR_UNLOCK;
27094 if( rc ){
27095 if( rc!=SQLITE_BUSY ){
27107 rc = SQLITE_BUSY;
27127 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
27128 if( rc!=SQLITE_BUSY ){
27141 if( rc==SQLITE_OK
27152 if( rc==SQLITE_OK ){
27163 rc==SQLITE_OK ? "ok" : "failed"));
27164 return rc;
27197 int rc = SQLITE_OK;
27251 rc = SQLITE_IOERR_UNLOCK;
27252 if( IS_LOCK_ERROR(rc) ){
27263 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_RDLOCK);
27264 if( IS_LOCK_ERROR(rc) ){
27275 rc = SQLITE_IOERR_UNLOCK;
27276 if( IS_LOCK_ERROR(rc) ){
27295 rc = SQLITE_IOERR_RDLOCK;
27308 rc = SQLITE_IOERR_UNLOCK;
27326 rc = SQLITE_IOERR_UNLOCK;
27346 if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock;
27347 return rc;
27415 int rc = SQLITE_OK;
27434 rc = closeUnixFile(id);
27436 return rc;
27522 int rc = SQLITE_OK;
27540 OSTRACE(("TEST WR-LOCK %d %d %d (dotlock)\n", pFile->h, rc, reserved));
27542 return rc;
27575 int rc = SQLITE_OK;
27593 rc = osMkdir(zLockFile, 0777);
27594 if( rc<0 ){
27598 rc = SQLITE_BUSY;
27600 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
27601 if( IS_LOCK_ERROR(rc) ){
27605 return rc;
27610 return rc;
27625 int rc;
27647 rc = osRmdir(zLockFile);
27648 if( rc<0 && errno==ENOTDIR ) rc = osUnlink(zLockFile);
27649 if( rc<0 ){
27651 rc = 0;
27653 rc = SQLITE_IOERR_UNLOCK;
27655 if( IS_LOCK_ERROR(rc) ){
27658 return rc;
27668 int rc = SQLITE_OK;
27673 rc = closeUnixFile(id);
27675 return rc;
27701 int rc;
27702 do{ rc = flock(fd,op); }while( rc<0 && errno==EINTR );
27703 return rc;
27717 int rc = SQLITE_OK;
27743 rc = lrc;
27753 rc = lrc;
27757 OSTRACE(("TEST WR-LOCK %d %d %d (flock)\n", pFile->h, rc, reserved));
27760 if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){
27761 rc = SQLITE_OK;
27766 return rc;
27799 int rc = SQLITE_OK;
27816 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_LOCK);
27817 if( IS_LOCK_ERROR(rc) ){
27825 rc==SQLITE_OK ? "ok" : "failed"));
27827 if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){
27828 rc = SQLITE_BUSY;
27831 return rc;
27877 int rc = SQLITE_OK;
27880 rc = closeUnixFile(id);
27882 return rc;
27909 int rc = SQLITE_OK;
27929 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_CHECKRESERVEDLOCK);
27940 OSTRACE(("TEST WR-LOCK %d %d %d (sem)\n", pFile->h, rc, reserved));
27943 return rc;
27978 int rc = SQLITE_OK;
27984 rc = SQLITE_OK;
27990 rc = SQLITE_BUSY;
27998 return rc;
28031 int rc, tErrno = errno;
28032 rc = sqliteErrorFromPosixError(tErrno, SQLITE_IOERR_UNLOCK);
28033 if( IS_LOCK_ERROR(rc) ){
28036 return rc;
28125 int rc;
28130 rc = SQLITE_BUSY;
28132 rc = sqliteErrorFromPosixError(tErrno,
28135 if( IS_LOCK_ERROR(rc) ){
28138 return rc;
28151 int rc = SQLITE_OK;
28185 rc=lrc;
28190 OSTRACE(("TEST WR-LOCK %d %d %d (afp)\n", pFile->h, rc, reserved));
28193 return rc;
28221 int rc = SQLITE_OK;
28261 rc = SQLITE_BUSY;
28290 rc = failed;
28320 rc = lrc1;
28323 rc = lrc2;
28326 rc = lrc1;
28335 rc = SQLITE_BUSY;
28367 rc = ((failed & SQLITE_IOERR) == SQLITE_IOERR) ? failed2 :
28372 rc = failed;
28376 rc = failed;
28380 if( rc==SQLITE_OK ){
28391 rc==SQLITE_OK ? "ok" : "failed"));
28392 return rc;
28403 int rc = SQLITE_OK;
28446 rc = afpSetLock(context->dbPath, pFile, SHARED_FIRST, SHARED_SIZE, 0);
28447 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1) ){
28450 rc = afpSetLock(context->dbPath, pFile, sharedLockByte, 1, 1);
28455 if( rc==SQLITE_OK && pFile->eFileLock>=PENDING_LOCK ){
28456 rc = afpSetLock(context->dbPath, pFile, PENDING_BYTE, 1, 0);
28458 if( rc==SQLITE_OK && pFile->eFileLock>=RESERVED_LOCK && context->reserved ){
28459 rc = afpSetLock(context->dbPath, pFile, RESERVED_BYTE, 1, 0);
28460 if( !rc ){
28464 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1)){
28468 if( rc==SQLITE_OK && eFileLock==NO_LOCK ){
28481 rc = afpSetLock(context->dbPath, pFile, sharedLockByte, 1, 0);
28483 if( !rc ){
28488 if( rc==SQLITE_OK ){
28498 if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock;
28499 return rc;
28506 int rc = SQLITE_OK;
28521 rc = closeUnixFile(id);
28524 return rc;
28704 int rc = 0; /* Value returned by system call */
28712 do{ rc = (int)osPwrite(fd, pBuf, nBuf, iOff); }while( rc<0 && errno==EINTR );
28714 do{ rc = (int)osPwrite64(fd, pBuf, nBuf, iOff);}while( rc<0 && errno==EINTR);
28724 rc = osWrite(fd, pBuf, nBuf);
28725 }while( rc<0 && errno==EINTR );
28729 OSTRACE(("WRITE %-3d %5d %7lld %llu\n", fd, rc, iOff, TIMER_ELAPSED));
28731 if( rc<0 && piErrno ) *piErrno = errno;
28732 return rc;
28782 int rc;
28785 rc = seekAndRead(pFile, 24, oldCntr, 4);
28787 if( rc!=4 || memcmp(oldCntr, &((char*)pBuf)[24-offset], 4)!=0 ){
28888 int rc;
28918 rc = SQLITE_OK;
28921 rc = osFcntl(fd, F_FULLFSYNC, 0);
28923 rc = 1;
28933 if( rc ) rc = fsync(fd);
28939 rc = fsync(fd);
28941 rc = fdatasync(fd);
28943 if( rc==-1 && errno==ENOTSUP ){
28944 rc = fsync(fd);
28949 if( OS_VXWORKS && rc!= -1 ){
28950 rc = 0;
28952 return rc;
29012 int rc;
29030 rc = full_fsync(pFile->h, isFullsync, isDataOnly);
29031 SimulateIOError( rc=1 );
29032 if( rc ){
29045 rc = osOpenDirectory(pFile->zPath, &dirfd);
29046 if( rc==SQLITE_OK && dirfd>=0 ){
29049 }else if( rc==SQLITE_CANTOPEN ){
29050 rc = SQLITE_OK;
29054 return rc;
29062 int rc;
29075 rc = robust_ftruncate(pFile->h, nByte);
29076 if( rc ){
29111 int rc;
29114 rc = osFstat(((unixFile*)id)->h, &buf);
29115 SimulateIOError( rc=1 );
29116 if( rc!=0 ){
29199 int rc;
29207 rc = unixMapfile(pFile, nByte);
29208 return rc;
29257 int rc;
29259 rc = fcntlSizeHint(pFile, *(i64 *)pArg);
29261 return rc;
29290 int rc = SQLITE_OK;
29299 rc = unixMapfile(pFile, -1);
29302 return rc;
29438 int rc = 0;
29441 rc = p->deviceCharacteristics;
29444 rc |= SQLITE_IOCAP_POWERSAFE_OVERWRITE;
29446 return rc;
29560 int rc = SQLITE_OK; /* Result code form fcntl() */
29582 rc = osFcntl(pShmNode->h, lkType, &f);
29583 rc = (rc!=(-1)) ? SQLITE_OK : SQLITE_BUSY;
29592 if( rc==SQLITE_OK ){
29622 return rc;
29711 int rc; /* Result code */
29739 rc = SQLITE_IOERR_FSTAT;
29750 rc = SQLITE_NOMEM;
29768 rc = SQLITE_NOMEM;
29780 rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zShmFilename);
29793 rc = SQLITE_OK;
29796 rc = unixLogError(SQLITE_IOERR_SHMOPEN, "ftruncate", zShmFilename);
29799 if( rc==SQLITE_OK ){
29800 rc = unixShmSystemLock(pDbFd, F_RDLCK, UNIX_SHM_DMS, 1);
29802 if( rc ) goto shm_open_err;
29833 return rc;
29865 int rc = SQLITE_OK;
29871 rc = unixOpenSharedMemory(pDbFd);
29872 if( rc!=SQLITE_OK ) return rc;
29899 rc = SQLITE_IOERR_SHMSIZE;
29927 rc = unixLogError(SQLITE_IOERR_SHMSIZE, "write", zFile);
29940 rc = SQLITE_IOERR_NOMEM;
29954 rc = unixLogError(SQLITE_IOERR_SHMMAP, "mmap", pShmNode->zFilename);
29960 rc = SQLITE_NOMEM;
29979 if( pShmNode->isReadonly && rc==SQLITE_OK ) rc = SQLITE_READONLY;
29981 return rc;
30002 int rc = SQLITE_OK; /* Result code */
30032 rc = unixShmSystemLock(pDbFd, F_UNLCK, ofst+UNIX_SHM_BASE, n);
30034 rc = SQLITE_OK;
30038 if( rc==SQLITE_OK ){
30051 rc = SQLITE_BUSY;
30058 if( rc==SQLITE_OK ){
30060 rc = unixShmSystemLock(pDbFd, F_RDLCK, ofst+UNIX_SHM_BASE, n);
30062 rc = SQLITE_OK;
30067 if( rc==SQLITE_OK ){
30076 rc = SQLITE_BUSY;
30084 if( rc==SQLITE_OK ){
30085 rc = unixShmSystemLock(pDbFd, F_WRLCK, ofst+UNIX_SHM_BASE, n);
30086 if( rc==SQLITE_OK ){
30095 return rc;
30292 int rc;
30299 rc = osFstat(pFd->h, &statbuf);
30300 if( rc!=SQLITE_OK ){
30342 int rc = unixMapfile(pFd, -1);
30343 if( rc!=SQLITE_OK ) return rc;
30703 int rc = SQLITE_OK;
30741 rc = SQLITE_NOMEM;
30763 rc = findInodeInfo(pNew, &pNew->pInode);
30764 if( rc!=SQLITE_OK ){
30797 rc = SQLITE_NOMEM;
30806 rc = findInodeInfo(pNew, &pNew->pInode);
30807 if( rc!=SQLITE_OK ){
30827 rc = SQLITE_NOMEM;
30840 rc = findInodeInfo(pNew, &pNew->pInode);
30841 if( (rc==SQLITE_OK) && (pNew->pInode->pSem==NULL) ){
30850 rc = SQLITE_NOMEM;
30860 if( rc!=SQLITE_OK ){
30867 if( rc!=SQLITE_OK ){
30874 return rc;
31045 int rc = SQLITE_OK; /* Return Code */
31085 rc = SQLITE_IOERR_FSTAT;
31090 return rc;
31127 int rc = SQLITE_OK; /* Function Return Code */
31217 rc = unixGetTempname(MAX_PATHNAME+2, zTmpname);
31218 if( rc!=SQLITE_OK ){
31219 return rc;
31242 rc = findCreateFileMode(zName, flags, &openMode, &uid, &gid);
31243 if( rc!=SQLITE_OK ){
31246 return rc;
31260 rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zName);
31341 rc = fillInUnixFile(pVfs, fd, pFile, zPath, ctrlFlags);
31342 if( rc==SQLITE_OK ){
31343 rc = proxyTransformUnixFile((unixFile*)pFile, ":auto:");
31344 if( rc!=SQLITE_OK ){
31350 return rc;
31358 rc = fillInUnixFile(pVfs, fd, pFile, zPath, ctrlFlags);
31361 if( rc!=SQLITE_OK ){
31364 return rc;
31377 int rc = SQLITE_OK;
31386 rc = SQLITE_IOERR_DELETE_NOENT;
31388 rc = unixLogError(SQLITE_IOERR_DELETE, "unlink", zPath);
31390 return rc;
31395 rc = osOpenDirectory(zPath, &fd);
31396 if( rc==SQLITE_OK ){
31403 rc = unixLogError(SQLITE_IOERR_DIR_FSYNC, "fsync", zPath);
31406 }else if( rc==SQLITE_CANTOPEN ){
31407 rc = SQLITE_OK;
31411 return rc;
31653 int rc = SQLITE_OK;
31667 rc = SQLITE_ERROR;
31677 return rc;
31687 int rc;
31689 rc = unixCurrentTimeInt64(0, &i);
31691 return rc;
31978 int rc = SQLITE_OK;
32029 rc = SQLITE_NOMEM;
32041 rc = fillInUnixFile(&dummyVfs, fd, (sqlite3_file*)pNew, path, 0);
32042 if( rc==SQLITE_OK ){
32050 return rc;
32118 int rc = -1;
32148 rc = 0;
32155 if( rc ){
32162 return rc;
32171 int rc = SQLITE_OK;
32177 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, lockType);
32179 if( rc==SQLITE_BUSY ){
32226 rc = SQLITE_OK;
32228 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, SHARED_LOCK);
32230 if( !rc ){
32231 rc = conchFile->pMethod->xLock((sqlite3_file*)conchFile, lockType);
32235 } while( rc==SQLITE_BUSY && nTries<3 );
32237 return rc;
32258 int rc = SQLITE_OK;
32269 rc = proxyGetHostID(myHostID, &pError);
32270 if( (rc&0xff)==SQLITE_IOERR ){
32274 rc = proxyConchLock(pFile, myHostID, SHARED_LOCK);
32275 if( rc!=SQLITE_OK ){
32283 rc = SQLITE_IOERR_READ;
32330 rc = SQLITE_BUSY;
32350 rc = SQLITE_BUSY;
32352 rc = proxyConchLock(pFile, myHostID, EXCLUSIVE_LOCK);
32355 rc = proxyConchLock(pFile, myHostID, EXCLUSIVE_LOCK);
32357 if( rc==SQLITE_OK ){
32371 rc = unixWrite((sqlite3_file *)conchFile, writeBuffer, writeSize, 0);
32376 if( rc==SQLITE_OK && createConch ){
32387 rc = osFchmod(conchFile->h, cmode);
32388 }while( rc==(-1) && errno==EINTR );
32389 if( rc!=0 ){
32408 if( rc==SQLITE_OK && pFile->openFlags ){
32419 rc=SQLITE_CANTOPEN_BKPT; /* SQLITE_BUSY? proxyTakeConch called
32423 if( rc==SQLITE_OK && !pCtx->lockProxy ){
32425 rc = proxyCreateUnixFile(path, &pCtx->lockProxy, 1);
32426 if( rc!=SQLITE_OK && rc!=SQLITE_NOMEM && tryOldLockPath ){
32435 if( rc==SQLITE_OK ){
32442 rc = SQLITE_NOMEM;
32446 if( rc==SQLITE_OK ){
32458 rc==SQLITE_OK?"ok":"failed"));
32459 return rc;
32469 int rc = SQLITE_OK; /* Subroutine return code */
32479 rc = conchFile->pMethod->xUnlock((sqlite3_file*)conchFile, NO_LOCK);
32483 (rc==SQLITE_OK ? "ok" : "failed")));
32484 return rc;
32538 int rc = SQLITE_OK;
32553 rc=lockProxy->pMethod->xClose((sqlite3_file *)lockProxy);
32554 if( rc ) return rc;
32561 return rc;
32606 int rc = SQLITE_OK;
32627 rc = proxyCreateConchPathname(dbPath, &pCtx->conchFilePath);
32628 if( rc==SQLITE_OK ){
32629 rc = proxyCreateUnixFile(pCtx->conchFilePath, &pCtx->conchFile, 0);
32630 if( rc==SQLITE_CANTOPEN && ((pFile->openFlags&O_RDWR) == 0) ){
32648 rc = SQLITE_OK;
32652 if( rc==SQLITE_OK && lockPath ){
32656 if( rc==SQLITE_OK ){
32659 rc = SQLITE_NOMEM;
32662 if( rc==SQLITE_OK ){
32680 (rc==SQLITE_OK ? "ok" : "failed")));
32681 return rc;
32708 int rc = SQLITE_OK;
32716 rc = SQLITE_ERROR /*SQLITE_PROTOCOL? SQLITE_MISUSE?*/;
32719 rc = SQLITE_OK;
32730 rc = SQLITE_OK;
32732 rc = switchLockProxyPath(pFile, proxyPath);
32736 rc = proxyTransformUnixFile(pFile, proxyPath);
32739 return rc;
32764 int rc = proxyTakeConch(pFile);
32765 if( rc==SQLITE_OK ){
32774 return rc;
32803 int rc = proxyTakeConch(pFile);
32804 if( rc==SQLITE_OK ){
32808 rc = proxy->pMethod->xLock((sqlite3_file*)proxy, eFileLock);
32814 return rc;
32827 int rc = proxyTakeConch(pFile);
32828 if( rc==SQLITE_OK ){
32832 rc = proxy->pMethod->xUnlock((sqlite3_file*)proxy, eFileLock);
32838 return rc;
32850 int rc = SQLITE_OK;
32853 rc = lockProxy->pMethod->xUnlock((sqlite3_file*)lockProxy, NO_LOCK);
32854 if( rc ) return rc;
32855 rc = lockProxy->pMethod->xClose((sqlite3_file*)lockProxy);
32856 if( rc ) return rc;
32862 rc = proxyReleaseConch(pFile);
32863 if( rc ) return rc;
32865 rc = conchFile->pMethod->xClose((sqlite3_file*)conchFile);
32866 if( rc ) return rc;
34319 int rc = SQLITE_NOTFOUND;
34326 rc = SQLITE_OK;
34341 rc = SQLITE_OK;
34348 return rc;
34399 int rc = SQLITE_OK;
34416 rc = SQLITE_NOMEM;
34420 rc = SQLITE_ERROR;
34426 rc = SQLITE_NOTFOUND;
34429 return rc;
34439 int rc;
34462 rc = winMemInit(winMemGetDataPtr());
34463 assert( rc!=SQLITE_OK || winMemGetHeap()!=NULL );
34464 assert( rc!=SQLITE_OK || winMemGetOwned() );
34465 assert( rc!=SQLITE_OK || sqlite3_memory_used()==0 );
34470 rc = SQLITE_BUSY;
34474 return rc;
34539 DWORD rc;
34540 while( (rc = osWaitForSingleObjectEx(hObject, INFINITE,
34542 return rc;
34966 int rc = sqlite3_initialize();
34967 if( rc ) return rc;
35664 int rc, cnt = 0;
35680 rc = osCloseHandle(pFile->h);
35682 }while( rc==0 && ++cnt < MX_CLOSE_ATTEMPT && (sqlite3_win32_sleep(100), 1) );
35698 if( rc ){
35703 osGetCurrentProcessId(), pFile, pFile->h, rc ? "ok" : "failed"));
35704 return rc ? SQLITE_OK
35800 int rc = 0; /* True if error has occurred, else false */
35833 rc = winSeekFile(pFile, offset);
35834 if( rc==0 ){
35876 rc = 1;
35880 if( rc ){
35905 int rc = SQLITE_OK; /* Return code for this function */
35924 rc = winLogError(SQLITE_IOERR_TRUNCATE, pFile->lastErrno,
35929 rc = winLogError(SQLITE_IOERR_TRUNCATE, pFile->lastErrno,
35944 osGetCurrentProcessId(), pFile, pFile->h, sqlite3ErrName(rc)));
35945 return rc;
35965 BOOL rc;
36026 rc = osFlushFileBuffers(pFile->h);
36027 SimulateIOError( rc=FALSE );
36028 if( rc ){
36047 int rc = SQLITE_OK;
36062 rc = winLogError(SQLITE_IOERR_FSTAT, pFile->lastErrno,
36077 rc = winLogError(SQLITE_IOERR_FSTAT, pFile->lastErrno,
36083 pFile->h, pSize, *pSize, sqlite3ErrName(rc)));
36084 return rc;
36206 int rc = SQLITE_OK; /* Return code from subroutines */
36255 rc = SQLITE_IOERR_LOCK;
36257 pFile->h, cnt, sqlite3ErrName(rc)));
36258 return rc;
36325 rc = SQLITE_OK;
36328 rc = SQLITE_BUSY;
36334 pFile->h, pFile->locktype, sqlite3ErrName(rc)));
36335 return rc;
36382 int rc = SQLITE_OK;
36393 rc = winLogError(SQLITE_IOERR_UNLOCK, osGetLastError(),
36408 pFile->h, pFile->locktype, sqlite3ErrName(rc)));
36409 return rc;
36458 int rc = winFileSize(id, &oldSz);
36459 if( rc==SQLITE_OK ){
36463 rc = winTruncate(id, newSz);
36467 OSTRACE(("FCNTL file=%p, rc=%s\n", pFile->h, sqlite3ErrName(rc)));
36468 return rc;
36516 int rc = winGetTempname(pFile->pVfs, &zTFile);
36517 if( rc==SQLITE_OK ){
36520 OSTRACE(("FCNTL file=%p, rc=%s\n", pFile->h, sqlite3ErrName(rc)));
36521 return rc;
36526 int rc = SQLITE_OK;
36535 rc = winMapfile(pFile, -1);
36538 OSTRACE(("FCNTL file=%p, rc=%s\n", pFile->h, sqlite3ErrName(rc)));
36539 return rc;
36699 int rc = 0; /* Result code form Lock/UnlockFileEx() */
36709 rc = winUnlockFile(&pFile->hFile.h, ofst, 0, nByte, 0);
36714 rc = winLockFile(&pFile->hFile.h, dwFlags, ofst, 0, nByte, 0);
36717 if( rc!= 0 ){
36718 rc = SQLITE_OK;
36721 rc = SQLITE_BUSY;
36726 "winLockFile", pFile->lastErrno, sqlite3ErrName(rc)));
36728 return rc;
36793 int rc; /* Result code */
36835 rc = SQLITE_IOERR_NOMEM;
36839 rc = winOpen(pDbFd->pVfs,
36844 if( SQLITE_OK!=rc ){
36852 rc = winTruncate((sqlite3_file *)&pShmNode->hFile, 0);
36853 if( rc!=SQLITE_OK ){
36854 rc = winLogError(SQLITE_IOERR_SHMOPEN, osGetLastError(),
36858 if( rc==SQLITE_OK ){
36860 rc = winShmSystemLock(pShmNode, _SHM_RDLCK, WIN_SHM_DMS, 1);
36862 if( rc ) goto shm_open_err;
36894 return rc;
36952 int rc = SQLITE_OK; /* Result code */
36978 rc = winShmSystemLock(pShmNode, _SHM_UNLCK, ofst+WIN_SHM_BASE, n);
36980 rc = SQLITE_OK;
36984 if( rc==SQLITE_OK ){
36997 rc = SQLITE_BUSY;
37004 if( rc==SQLITE_OK ){
37006 rc = winShmSystemLock(pShmNode, _SHM_RDLCK, ofst+WIN_SHM_BASE, n);
37008 rc = SQLITE_OK;
37013 if( rc==SQLITE_OK ){
37022 rc = SQLITE_BUSY;
37030 if( rc==SQLITE_OK ){
37031 rc = winShmSystemLock(pShmNode, _SHM_WRLCK, ofst+WIN_SHM_BASE, n);
37032 if( rc==SQLITE_OK ){
37041 sqlite3ErrName(rc)));
37042 return rc;
37089 int rc = SQLITE_OK;
37092 rc = winOpenSharedMemory(pDbFd);
37093 if( rc!=SQLITE_OK ) return rc;
37112 rc = winFileSize((sqlite3_file *)&pShmNode->hFile, &sz);
37113 if( rc!=SQLITE_OK ){
37114 rc = winLogError(SQLITE_IOERR_SHMSIZE, osGetLastError(),
37127 rc = winTruncate((sqlite3_file *)&pShmNode->hFile, nByte);
37128 if( rc!=SQLITE_OK ){
37129 rc = winLogError(SQLITE_IOERR_SHMSIZE, osGetLastError(),
37140 rc = SQLITE_IOERR_NOMEM;
37183 rc = winLogError(SQLITE_IOERR_SHMMAP, pShmNode->lastErrno,
37205 return rc;
37271 int rc;
37280 rc = winFileSize((sqlite3_file*)pFd, &nMap);
37281 if( rc ){
37318 rc = winLogError(SQLITE_IOERR_MMAP, pFd->lastErrno,
37322 osGetCurrentProcessId(), pFd, sqlite3ErrName(rc)));
37336 rc = winLogError(SQLITE_IOERR_MMAP, pFd->lastErrno,
37340 osGetCurrentProcessId(), pFd, sqlite3ErrName(rc)));
37378 int rc = winMapfile(pFd, -1);
37379 if( rc!=SQLITE_OK ){
37381 osGetCurrentProcessId(), pFd, sqlite3ErrName(rc)));
37382 return rc;
37778 int rc = 0;
37785 while( !(rc = osGetFileAttributesExW((LPCWSTR)zConverted,
37788 if( !rc ){
37829 int rc = SQLITE_OK; /* Function Return Code */
37893 rc = winGetTempname(pVfs, &zTmpname);
37894 if( rc!=SQLITE_OK ){
37895 OSTRACE(("OPEN name=%s, rc=%s", zUtf8Name, sqlite3ErrName(rc)));
37896 return rc;
38042 && (rc = winceCreateLock(zName, pFile))!=SQLITE_OK
38047 OSTRACE(("OPEN-CE-LOCK name=%s, rc=%s\n", zName, sqlite3ErrName(rc)));
38048 return rc;
38079 return rc;
38100 int rc;
38127 rc = SQLITE_IOERR_DELETE_NOENT; /* Already gone? */
38129 rc = SQLITE_ERROR;
38140 rc = SQLITE_IOERR_DELETE_NOENT; /* Already gone? */
38142 rc = SQLITE_ERROR;
38147 rc = SQLITE_ERROR; /* Files only. */
38151 rc = SQLITE_OK; /* Deleted OK. */
38155 rc = SQLITE_ERROR; /* No more retries. */
38168 rc = SQLITE_IOERR_DELETE_NOENT; /* Already gone? */
38170 rc = SQLITE_ERROR;
38175 rc = SQLITE_ERROR; /* Files only. */
38179 rc = SQLITE_OK; /* Deleted OK. */
38183 rc = SQLITE_ERROR; /* No more retries. */
38189 if( rc && rc!=SQLITE_IOERR_DELETE_NOENT ){
38190 rc = winLogError(SQLITE_IOERR_DELETE, lastErrno, "winDelete", zFilename);
38195 OSTRACE(("DELETE name=%s, rc=%s\n", zFilename, sqlite3ErrName(rc)));
38196 return rc;
38209 int rc = 0;
38227 while( !(rc = osGetFileAttributesExW((LPCWSTR)zConverted,
38230 if( rc ){
38261 rc = attr!=INVALID_FILE_ATTRIBUTES;
38264 rc = attr!=INVALID_FILE_ATTRIBUTES &&
38270 *pResOut = rc;
38710 int rc;
38712 rc = winCurrentTimeInt64(pVfs, &i);
38713 if( !rc ){
38716 return rc;
39052 int rc;
39060 rc = sqlite3BitvecSet(p, i);
39062 if( aiValues[j] ) rc |= sqlite3BitvecSet(p, aiValues[j]);
39065 return rc;
39180 int rc = -1;
39234 rc = sqlite3BitvecTest(0,0) + sqlite3BitvecTest(pBitvec, sz+1)
39239 rc = i;
39249 return rc;
39547 int rc;
39555 rc = pCache->xStress(pCache->pStress, pPg);
39556 if( rc!=SQLITE_OK && rc!=SQLITE_BUSY ){
39557 return rc;
42687 int rc = sqlite3OsRead(fd, ac, sizeof(ac), offset);
42688 if( rc==SQLITE_OK ){
42691 return rc;
42720 int rc = SQLITE_OK;
42727 rc = pPager->noLock ? SQLITE_OK : sqlite3OsUnlock(pPager->fd, eLock);
42733 return rc;
42747 int rc = SQLITE_OK;
42751 rc = pPager->noLock ? SQLITE_OK : sqlite3OsLock(pPager->fd, eLock);
42752 if( rc==SQLITE_OK && (pPager->eLock!=UNKNOWN_LOCK||eLock==EXCLUSIVE_LOCK) ){
42757 return rc;
42870 int rc; /* Return code */
42878 if( SQLITE_OK!=(rc = sqlite3OsFileSize(pJrnl, &szJ))
42880 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-16, &len))
42883 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-12, &cksum))
42884 || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, aMagic, 8, szJ-8))
42886 || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, zMaster, len, szJ-16-len))
42888 return rc;
42957 int rc = SQLITE_OK; /* Return code */
42964 rc = sqlite3OsTruncate(pPager->jfd, 0);
42967 rc = sqlite3OsWrite(pPager->jfd, zeroHdr, sizeof(zeroHdr), 0);
42969 if( rc==SQLITE_OK && !pPager->noSync ){
42970 rc = sqlite3OsSync(pPager->jfd, SQLITE_SYNC_DATAONLY|pPager->syncFlags);
42979 if( rc==SQLITE_OK && iLimit>0 ){
42981 rc = sqlite3OsFileSize(pPager->jfd, &sz);
42982 if( rc==SQLITE_OK && sz>iLimit ){
42983 rc = sqlite3OsTruncate(pPager->jfd, iLimit);
42987 return rc;
43006 int rc = SQLITE_OK; /* Return code */
43096 for(nWrite=0; rc==SQLITE_OK&&nWrite<JOURNAL_HDR_SZ(pPager); nWrite+=nHeader){
43098 rc = sqlite3OsWrite(pPager->jfd, zHeader, nHeader, pPager->journalOff);
43103 return rc;
43130 int rc; /* Return code */
43152 rc = sqlite3OsRead(pPager->jfd, aMagic, sizeof(aMagic), iHdrOff);
43153 if( rc ){
43154 return rc;
43165 if( SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+8, pNRec))
43166 || SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+12, &pPager->cksumInit))
43167 || SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+16, pDbSize))
43169 return rc;
43177 if( SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+20, &iSectorSize))
43178 || SQLITE_OK!=(rc = read32bits(pPager->jfd, iHdrOff+24, &iPageSize))
43180 return rc;
43212 rc = sqlite3PagerSetPagesize(pPager, &iPageSize, -1);
43213 testcase( rc!=SQLITE_OK );
43225 return rc;
43249 int rc; /* Return code */
43284 if( (0 != (rc = write32bits(pPager->jfd, iHdrOff, PAGER_MJ_PGNO(pPager))))
43285 || (0 != (rc = sqlite3OsWrite(pPager->jfd, zMaster, nMaster, iHdrOff+4)))
43286 || (0 != (rc = write32bits(pPager->jfd, iHdrOff+4+nMaster, nMaster)))
43287 || (0 != (rc = write32bits(pPager->jfd, iHdrOff+4+nMaster+4, cksum)))
43288 || (0 != (rc = sqlite3OsWrite(pPager->jfd, aJournalMagic, 8, iHdrOff+4+nMaster+8)))
43290 return rc;
43304 if( SQLITE_OK==(rc = sqlite3OsFileSize(pPager->jfd, &jrnlSize))
43307 rc = sqlite3OsTruncate(pPager->jfd, pPager->journalOff);
43309 return rc;
43355 int rc = SQLITE_OK; /* Result code */
43360 rc |= sqlite3BitvecSet(p->pInSavepoint, pgno);
43361 testcase( rc==SQLITE_NOMEM );
43362 assert( rc==SQLITE_OK || rc==SQLITE_NOMEM );
43365 return rc;
43401 int rc; /* Error code returned by pagerUnlockDb() */
43426 rc = pagerUnlockDb(pPager, NO_LOCK);
43427 if( rc!=SQLITE_OK && pPager->eState==PAGER_ERROR ){
43478 static int pager_error(Pager *pPager, int rc){
43479 int rc2 = rc & 0xff;
43480 assert( rc==SQLITE_OK || !MEMDB );
43487 pPager->errCode = rc;
43490 return rc;
43549 int rc = SQLITE_OK; /* Error code from journal finalization operation */
43582 rc = SQLITE_OK;
43584 rc = sqlite3OsTruncate(pPager->jfd, 0);
43585 if( rc==SQLITE_OK && pPager->fullSync ){
43591 rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags);
43598 rc = zeroJournalHdr(pPager, hasMaster);
43613 rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0);
43642 }else if( rc==SQLITE_OK && bCommit && pPager->dbFileSize>pPager->dbSize ){
43650 rc = pager_truncate(pPager, pPager->dbSize);
43653 if( rc==SQLITE_OK && bCommit && isOpen(pPager->fd) ){
43654 rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_COMMIT_PHASETWO, 0);
43655 if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK;
43667 return (rc==SQLITE_OK?rc2:rc);
43790 int rc;
43822 rc = read32bits(jfd, *pOffset, &pgno);
43823 if( rc!=SQLITE_OK ) return rc;
43824 rc = sqlite3OsRead(jfd, (u8*)aData, pPager->pageSize, (*pOffset)+4);
43825 if( rc!=SQLITE_OK ) return rc;
43841 rc = read32bits(jfd, (*pOffset)-4, &cksum);
43842 if( rc ) return rc;
43851 if( pDone && (rc = sqlite3BitvecSet(pDone, pgno))!=SQLITE_OK ){
43852 return rc;
43920 rc = sqlite3OsWrite(pPager->fd, (u8 *)aData, pPager->pageSize, ofst);
43925 CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM);
43927 CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM, aData);
43949 rc = sqlite3PagerAcquire(pPager, pgno, &pPg, 1);
43952 if( rc!=SQLITE_OK ) return rc;
43999 CODEC1(pPager, pData, pPg->pgno, 3, rc=SQLITE_NOMEM);
44002 return rc;
44050 int rc; /* Return code */
44065 rc = SQLITE_NOMEM;
44068 rc = sqlite3OsOpen(pVfs, zMaster, pMaster, flags, 0);
44070 if( rc!=SQLITE_OK ) goto delmaster_out;
44077 rc = sqlite3OsFileSize(pMaster, &nMasterJournal);
44078 if( rc!=SQLITE_OK ) goto delmaster_out;
44082 rc = SQLITE_NOMEM;
44086 rc = sqlite3OsRead(pMaster, zMasterJournal, (int)nMasterJournal, 0);
44087 if( rc!=SQLITE_OK ) goto delmaster_out;
44093 rc = sqlite3OsAccess(pVfs, zJournal, SQLITE_ACCESS_EXISTS, &exists);
44094 if( rc!=SQLITE_OK ){
44104 rc = sqlite3OsOpen(pVfs, zJournal, pJournal, flags, 0);
44105 if( rc!=SQLITE_OK ){
44109 rc = readMasterJournal(pJournal, zMasterPtr, nMasterPtr);
44111 if( rc!=SQLITE_OK ){
44125 rc = sqlite3OsDelete(pVfs, zMaster, 0);
44134 return rc;
44159 int rc = SQLITE_OK;
44170 rc = sqlite3OsFileSize(pPager->fd, &currentSize);
44172 if( rc==SQLITE_OK && currentSize!=newSize ){
44174 rc = sqlite3OsTruncate(pPager->fd, newSize);
44180 rc = sqlite3OsWrite(pPager->fd, pTmp, szPage, newSize-szPage);
44182 if( rc==SQLITE_OK ){
44187 return rc;
44307 int rc; /* Result code of a subroutine */
44317 rc = sqlite3OsFileSize(pPager->jfd, &szJ);
44318 if( rc!=SQLITE_OK ){
44334 rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1);
44335 if( rc==SQLITE_OK && zMaster[0] ){
44336 rc = sqlite3OsAccess(pVfs, zMaster, SQLITE_ACCESS_EXISTS, &res);
44339 if( rc!=SQLITE_OK || !res ){
44355 rc = readJournalHdr(pPager, isHot, szJ, &nRec, &mxPg);
44356 if( rc!=SQLITE_OK ){
44357 if( rc==SQLITE_DONE ){
44358 rc = SQLITE_OK;
44396 rc = pager_truncate(pPager, mxPg);
44397 if( rc!=SQLITE_OK ){
44411 rc = pager_playback_one_page(pPager,&pPager->journalOff,0,1,0);
44412 if( rc==SQLITE_OK ){
44415 if( rc==SQLITE_DONE ){
44418 }else if( rc==SQLITE_IOERR_SHORT_READ ){
44424 rc = SQLITE_OK;
44463 if( rc==SQLITE_OK ){
44465 rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1);
44466 testcase( rc!=SQLITE_OK );
44468 if( rc==SQLITE_OK
44471 rc = sqlite3PagerSync(pPager, 0);
44473 if( rc==SQLITE_OK ){
44474 rc = pager_end_transaction(pPager, zMaster[0]!='\0', 0);
44475 testcase( rc!=SQLITE_OK );
44477 if( rc==SQLITE_OK && zMaster[0] && res ){
44481 rc = pager_delmaster(pPager, zMaster);
44482 testcase( rc!=SQLITE_OK );
44494 return rc;
44512 int rc = SQLITE_OK; /* Return code */
44521 rc = sqlite3WalReadFrame(pPager->pWal, iFrame, pgsz, pPg->pData);
44526 rc = sqlite3OsRead(pPager->fd, pPg->pData, pgsz, iOffset);
44527 if( rc==SQLITE_IOERR_SHORT_READ ){
44528 rc = SQLITE_OK;
44533 if( rc ){
44552 CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM);
44560 return rc;
44599 int rc = SQLITE_OK;
44610 rc = sqlite3WalFindFrame(pPager->pWal, pPg->pgno, &iFrame);
44611 if( rc==SQLITE_OK ){
44612 rc = readDbPage(pPg, iFrame);
44614 if( rc==SQLITE_OK ){
44631 return rc;
44638 int rc; /* Return Code */
44649 rc = sqlite3WalUndo(pPager->pWal, pagerUndoCallback, (void *)pPager);
44651 while( pList && rc==SQLITE_OK ){
44653 rc = pagerUndoCallback((void *)pPager, pList->pgno);
44657 return rc;
44675 int rc; /* Return code */
44709 rc = sqlite3WalFrames(pPager->pWal,
44712 if( rc==SQLITE_OK && pPager->pBackup ){
44725 return rc;
44737 int rc; /* Return code */
44750 rc = sqlite3WalBeginReadTransaction(pPager->pWal, &changed);
44751 if( rc!=SQLITE_OK || changed ){
44756 return rc;
44792 int rc = sqlite3OsFileSize(pPager->fd, &n);
44793 if( rc!=SQLITE_OK ){
44794 return rc;
44832 int rc = SQLITE_OK;
44840 rc = pagerPagecount(pPager, &nPage);
44841 if( rc ) return rc;
44843 rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0);
44844 if( rc==SQLITE_IOERR_DELETE_NOENT ) rc = SQLITE_OK;
44847 rc = sqlite3OsAccess(
44851 if( rc==SQLITE_OK ){
44854 rc = sqlite3PagerOpenWal(pPager, 0);
44860 return rc;
44903 int rc = SQLITE_OK; /* Return code */
44945 while( rc==SQLITE_OK && pPager->journalOff<iHdrOff ){
44946 rc = pager_playback_one_page(pPager, &pPager->journalOff, pDone, 1, 1);
44948 assert( rc!=SQLITE_DONE );
44958 while( rc==SQLITE_OK && pPager->journalOff<szJ ){
44962 rc = readJournalHdr(pPager, 0, szJ, &nJRec, &dummy);
44963 assert( rc!=SQLITE_DONE );
44975 for(ii=0; rc==SQLITE_OK && ii<nJRec && pPager->journalOff<szJ; ii++){
44976 rc = pager_playback_one_page(pPager, &pPager->journalOff, pDone, 1, 1);
44978 assert( rc!=SQLITE_DONE );
44980 assert( rc!=SQLITE_OK || pPager->journalOff>=szJ );
44991 rc = sqlite3WalSavepointUndo(pPager->pWal, pSavepoint->aWalData);
44993 for(ii=pSavepoint->iSubRec; rc==SQLITE_OK && ii<pPager->nSubRec; ii++){
44995 rc = pager_playback_one_page(pPager, &offset, pDone, 0, 1);
44997 assert( rc!=SQLITE_DONE );
45001 if( rc==SQLITE_OK ){
45005 return rc;
45154 int rc; /* Return code */
45162 rc = sqlite3OsOpen(pPager->pVfs, 0, pFile, vfsFlags, 0);
45163 assert( rc!=SQLITE_OK || isOpen(pFile) );
45164 return rc;
45235 int rc = SQLITE_OK;
45257 rc = sqlite3OsFileSize(pPager->fd, &nByte);
45259 if( rc==SQLITE_OK ){
45261 if( !pNew ) rc = SQLITE_NOMEM;
45264 if( rc==SQLITE_OK ){
45266 rc = sqlite3PcacheSetPageSize(pPager->pPCache, pageSize);
45268 if( rc==SQLITE_OK ){
45279 if( rc==SQLITE_OK ){
45286 return rc;
45356 int rc = SQLITE_OK;
45368 rc = sqlite3OsRead(pPager->fd, pDest, N, 0);
45369 if( rc==SQLITE_IOERR_SHORT_READ ){
45370 rc = SQLITE_OK;
45373 return rc;
45405 int rc; /* Return code */
45418 rc = pagerLockDb(pPager, locktype);
45419 }while( rc==SQLITE_BUSY && pPager->xBusyHandler(pPager->pBusyHandlerArg) );
45420 return rc;
45500 int rc = SQLITE_OK;
45502 rc = sqlite3OsSync(pPager->jfd, SQLITE_SYNC_NORMAL);
45504 if( rc==SQLITE_OK ){
45505 rc = sqlite3OsFileSize(pPager->jfd, &pPager->journalHdr);
45507 return rc;
45704 int rc; /* Return code */
45712 rc = sqlite3PagerExclusiveLock(pPager);
45713 if( rc!=SQLITE_OK ) return rc;
45752 rc = sqlite3OsRead(pPager->jfd, aMagic, 8, iNextHdrOffset);
45753 if( rc==SQLITE_OK && 0==memcmp(aMagic, aJournalMagic, 8) ){
45755 rc = sqlite3OsWrite(pPager->jfd, &zerobyte, 1, iNextHdrOffset);
45757 if( rc!=SQLITE_OK && rc!=SQLITE_IOERR_SHORT_READ ){
45758 return rc;
45775 rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags);
45776 if( rc!=SQLITE_OK ) return rc;
45779 rc = sqlite3OsWrite(
45782 if( rc!=SQLITE_OK ) return rc;
45787 rc = sqlite3OsSync(pPager->jfd, pPager->syncFlags|
45790 if( rc!=SQLITE_OK ) return rc;
45796 rc = writeJournalHdr(pPager);
45797 if( rc!=SQLITE_OK ) return rc;
45847 int rc = SQLITE_OK; /* Return code */
45859 assert( pPager->tempFile && rc==SQLITE_OK );
45860 rc = pagerOpentemp(pPager, pPager->fd, pPager->vfsFlags);
45866 assert( rc!=SQLITE_OK || isOpen(pPager->fd) );
45867 if( rc==SQLITE_OK
45876 while( rc==SQLITE_OK && pList ){
45898 rc = sqlite3OsWrite(pPager->fd, pData, pPager->pageSize, offset);
45926 return rc;
45938 int rc = SQLITE_OK;
45943 rc = pagerOpentemp(pPager, pPager->sjfd, SQLITE_OPEN_SUBJOURNAL);
45946 return rc;
45963 int rc = SQLITE_OK;
45975 rc = openSubJournal(pPager);
45979 if( rc==SQLITE_OK ){
45986 rc = write32bits(pPager->sjfd, offset, pPg->pgno);
45987 if( rc==SQLITE_OK ){
45988 rc = sqlite3OsWrite(pPager->sjfd, pData2, pPager->pageSize, offset+4);
45992 if( rc==SQLITE_OK ){
45995 rc = addToSavepointBitvecs(pPager, pPg->pgno);
45997 return rc;
46021 int rc = SQLITE_OK;
46057 rc = subjournalPage(pPg);
46059 if( rc==SQLITE_OK ){
46060 rc = pagerWalFrames(pPager, pPg, 0, 0);
46068 rc = syncJournal(pPager, 1);
46099 rc==SQLITE_OK && pPg->pgno>pPager->dbSize && subjRequiresPage(pPg)
46101 rc = subjournalPage(pPg);
46105 if( rc==SQLITE_OK ){
46107 rc = pager_write_pagelist(pPager, pPg);
46112 if( rc==SQLITE_OK ){
46117 return pager_error(pPager, rc);
46162 int rc = SQLITE_OK; /* Return code */
46216 rc = sqlite3OsFullPathname(pVfs, zFilename, nPathname, zPathname);
46225 if( rc==SQLITE_OK && nPathname+8>pVfs->mxPathname ){
46232 rc = SQLITE_CANTOPEN_BKPT;
46234 if( rc!=SQLITE_OK ){
46236 return rc;
46300 rc = sqlite3OsOpen(pVfs, pPager->zFilename, pPager->fd, vfsFlags, &fout);
46312 if( rc==SQLITE_OK ){
46367 if( rc==SQLITE_OK ){
46369 rc = sqlite3PagerSetPagesize(pPager, &szPageDflt, -1);
46370 testcase( rc!=SQLITE_OK );
46374 if( rc==SQLITE_OK ){
46377 rc = sqlite3PcacheOpen(szPageDflt, nExtra, !memDb,
46383 if( rc!=SQLITE_OK ){
46387 return rc;
46454 int rc;
46459 rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_HAS_MOVED, &bHasMoved);
46460 if( rc==SQLITE_NOTFOUND ){
46464 rc = SQLITE_OK;
46465 }else if( rc==SQLITE_OK && bHasMoved ){
46466 rc = SQLITE_READONLY_DBMOVED;
46468 return rc;
46505 int rc = SQLITE_OK; /* Return code */
46519 rc = sqlite3OsAccess(pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS, &exists);
46521 if( rc==SQLITE_OK && exists ){
46532 rc = sqlite3OsCheckReservedLock(pPager->fd, &locked);
46533 if( rc==SQLITE_OK && !locked ){
46536 rc = pagerPagecount(pPager, &nPage);
46537 if( rc==SQLITE_OK ){
46562 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &f);
46564 if( rc==SQLITE_OK ){
46566 rc = sqlite3OsRead(pPager->jfd, (void *)&first, 1, 0);
46567 if( rc==SQLITE_IOERR_SHORT_READ ){
46568 rc = SQLITE_OK;
46574 }else if( rc==SQLITE_CANTOPEN ){
46585 rc = SQLITE_OK;
46592 return rc;
46623 int rc = SQLITE_OK; /* Return code */
46640 rc = pager_wait_on_lock(pPager, SHARED_LOCK);
46641 if( rc!=SQLITE_OK ){
46650 rc = hasHotJournal(pPager, &bHotJournal);
46652 if( rc!=SQLITE_OK ){
46657 rc = SQLITE_READONLY_ROLLBACK;
46676 rc = pagerLockDb(pPager, EXCLUSIVE_LOCK);
46677 if( rc!=SQLITE_OK ){
46697 rc = sqlite3OsAccess(
46699 if( rc==SQLITE_OK && bExists ){
46703 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, f, &fout);
46704 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) );
46705 if( rc==SQLITE_OK && fout&SQLITE_OPEN_READONLY ){
46706 rc = SQLITE_CANTOPEN_BKPT;
46721 assert( rc==SQLITE_OK );
46722 rc = pagerSyncHotJournal(pPager);
46723 if( rc==SQLITE_OK ){
46724 rc = pager_playback(pPager, 1);
46731 if( rc!=SQLITE_OK ){
46748 pager_error(pPager, rc);
46778 rc = pagerPagecount(pPager, &nPage);
46779 if( rc ) goto failed;
46783 rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24);
46784 if( rc!=SQLITE_OK && rc!=SQLITE_IOERR_SHORT_READ ){
46809 rc = pagerOpenWalIfPresent(pPager);
46811 assert( pPager->pWal==0 || rc==SQLITE_OK );
46816 assert( rc==SQLITE_OK );
46817 rc = pagerBeginReadTransaction(pPager);
46820 if( pPager->eState==PAGER_OPEN && rc==SQLITE_OK ){
46821 rc = pagerPagecount(pPager, &pPager->dbSize);
46825 if( rc!=SQLITE_OK ){
46832 return rc;
46905 int rc = SQLITE_OK;
46933 rc = pPager->errCode;
46936 rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame);
46937 if( rc!=SQLITE_OK ) goto pager_acquire_err;
46943 rc = sqlite3OsFetch(pPager->fd,
46947 if( rc==SQLITE_OK && pData ){
46952 rc = pagerAcquireMapPage(pPager, pgno, pData, &pPg);
46957 assert( rc==SQLITE_OK );
46962 if( rc!=SQLITE_OK ){
46971 rc = sqlite3PcacheFetchStress(pPager->pPCache, pgno, &pBase);
46972 if( rc!=SQLITE_OK ) goto pager_acquire_err;
46975 if( pPg==0 ) rc = SQLITE_NOMEM;
46979 if( rc!=SQLITE_OK ){
47006 rc = SQLITE_CORRUPT_BKPT;
47012 rc = SQLITE_FULL;
47024 TESTONLY( rc = ) sqlite3BitvecSet(pPager->pInJournal, pgno);
47025 testcase( rc==SQLITE_NOMEM );
47027 TESTONLY( rc = ) addToSavepointBitvecs(pPager, pgno);
47028 testcase( rc==SQLITE_NOMEM );
47035 rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame);
47036 if( rc!=SQLITE_OK ) goto pager_acquire_err;
47040 rc = readDbPage(pPg, iFrame);
47041 if( rc!=SQLITE_OK ){
47051 assert( rc!=SQLITE_OK );
47058 return rc;
47128 int rc = SQLITE_OK; /* Return code */
47160 rc = databaseIsUnmoved(pPager);
47161 if( rc==SQLITE_OK ){
47163 rc = sqlite3JournalOpen(
47167 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0);
47171 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) );
47178 if( rc==SQLITE_OK ){
47184 rc = writeJournalHdr(pPager);
47188 if( rc!=SQLITE_OK ){
47196 return rc;
47217 int rc = SQLITE_OK;
47231 rc = pagerLockDb(pPager, EXCLUSIVE_LOCK);
47232 if( rc!=SQLITE_OK ){
47233 return rc;
47243 rc = sqlite3WalBeginWriteTransaction(pPager->pWal);
47250 rc = pagerLockDb(pPager, RESERVED_LOCK);
47251 if( rc==SQLITE_OK && exFlag ){
47252 rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK);
47256 if( rc==SQLITE_OK ){
47273 assert( rc==SQLITE_OK || pPager->eState==PAGER_READER );
47274 assert( rc!=SQLITE_OK || pPager->eState==PAGER_WRITER_LOCKED );
47279 return rc;
47291 int rc = SQLITE_OK;
47318 rc = pager_open_journal(pPager);
47319 if( rc!=SQLITE_OK ) return rc;
47362 rc = write32bits(pPager->jfd, iOff, pPg->pgno);
47363 if( rc!=SQLITE_OK ) return rc;
47364 rc = sqlite3OsWrite(pPager->jfd, pData2, pPager->pageSize, iOff+4);
47365 if( rc!=SQLITE_OK ) return rc;
47366 rc = write32bits(pPager->jfd, iOff+pPager->pageSize+4, cksum);
47367 if( rc!=SQLITE_OK ) return rc;
47379 rc = sqlite3BitvecSet(pPager->pInJournal, pPg->pgno);
47380 testcase( rc==SQLITE_NOMEM );
47381 assert( rc==SQLITE_OK || rc==SQLITE_NOMEM );
47382 rc |= addToSavepointBitvecs(pPager, pPg->pgno);
47383 if( rc!=SQLITE_OK ){
47384 assert( rc==SQLITE_NOMEM );
47385 return rc;
47403 rc = subjournalPage(pPg);
47412 return rc;
47427 int rc = SQLITE_OK; /* Return code */
47462 for(ii=0; ii<nPage && rc==SQLITE_OK; ii++){
47467 rc = sqlite3PagerGet(pPager, pg, &pPage);
47468 if( rc==SQLITE_OK ){
47469 rc = pager_write(pPage);
47490 if( rc==SQLITE_OK && needSync ){
47503 return rc;
47590 int rc = SQLITE_OK;
47621 rc = sqlite3PagerGet(pPager, 1, &pPgHdr);
47622 assert( pPgHdr==0 || rc==SQLITE_OK );
47629 if( !DIRECT_MODE && ALWAYS(rc==SQLITE_OK) ){
47630 rc = sqlite3PagerWrite(pPgHdr);
47633 if( rc==SQLITE_OK ){
47641 CODEC2(pPager, pPgHdr->pData, 1, 6, rc=SQLITE_NOMEM, zBuf);
47642 if( rc==SQLITE_OK ){
47643 rc = sqlite3OsWrite(pPager->fd, zBuf, pPager->pageSize, 0);
47646 if( rc==SQLITE_OK ){
47662 return rc;
47673 int rc = SQLITE_OK;
47677 rc = sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC, pArg);
47678 if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK;
47680 if( rc==SQLITE_OK && !pPager->noSync ){
47682 rc = sqlite3OsSync(pPager->fd, pPager->syncFlags);
47684 return rc;
47699 int rc = SQLITE_OK;
47706 rc = pager_wait_on_lock(pPager, EXCLUSIVE_LOCK);
47708 return rc;
47742 int rc = SQLITE_OK; /* Return code */
47773 rc = sqlite3PagerGet(pPager, 1, &pPageOne);
47777 assert( rc==SQLITE_OK );
47779 rc = pagerWalFrames(pPager, pList, pPager->dbSize, 1);
47782 if( rc==SQLITE_OK ){
47826 rc = pager_incr_changecounter(pPager, 1);
47828 rc = sqlite3JournalCreate(pPager->jfd);
47829 if( rc==SQLITE_OK ){
47830 rc = pager_incr_changecounter(pPager, 0);
47834 rc = pager_incr_changecounter(pPager, 0);
47836 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
47842 rc = writeMasterJournal(pPager, zMaster);
47843 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
47856 rc = syncJournal(pPager, 0);
47857 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
47859 rc = pager_write_pagelist(pPager,sqlite3PcacheDirtyList(pPager->pPCache));
47860 if( rc!=SQLITE_OK ){
47861 assert( rc!=SQLITE_IOERR_BLOCKED );
47875 rc = pager_truncate(pPager, nNew);
47876 if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
47881 rc = sqlite3PagerSync(pPager, zMaster);
47888 if( rc==SQLITE_OK && !pagerUseWal(pPager) ){
47891 return rc;
47911 int rc = SQLITE_OK; /* Return code */
47946 rc = pager_end_transaction(pPager, pPager->setMaster, 1);
47947 return pager_error(pPager, rc);
47977 int rc = SQLITE_OK; /* Return code */
47990 rc = sqlite3PagerSavepoint(pPager, SAVEPOINT_ROLLBACK, -1);
47992 if( rc==SQLITE_OK ) rc = rc2;
47995 rc = pager_end_transaction(pPager, 0, 0);
48003 return rc;
48006 rc = pager_playback(pPager, 0);
48009 assert( pPager->eState==PAGER_READER || rc!=SQLITE_OK );
48010 assert( rc==SQLITE_OK || rc==SQLITE_FULL || rc==SQLITE_CORRUPT
48011 || rc==SQLITE_NOMEM || (rc&0xFF)==SQLITE_IOERR
48012 || rc==SQLITE_CANTOPEN
48018 return pager_error(pPager, rc);
48118 int rc = SQLITE_OK; /* Return code */
48163 return rc;
48197 int rc = pPager->errCode; /* Return code */
48202 if( rc==SQLITE_OK && iSavepoint<pPager->nSavepoint ){
48222 rc = sqlite3OsTruncate(pPager->sjfd, 0);
48223 assert( rc==SQLITE_OK );
48235 rc = pagerPlaybackSavepoint(pPager, pSavepoint);
48236 assert(rc!=SQLITE_DONE);
48240 return rc;
48360 int rc; /* Return code */
48373 rc = sqlite3PagerWrite(pPg);
48374 if( rc ) return rc;
48397 && SQLITE_OK!=(rc = subjournalPage(pPg))
48399 return rc;
48469 rc = sqlite3PagerGet(pPager, needSyncPgno, &pPgHdr);
48470 if( rc!=SQLITE_OK ){
48475 return rc;
48623 int rc = SQLITE_OK;
48627 rc = sqlite3PagerSharedLock(pPager);
48630 assert( rc==SQLITE_OK );
48631 rc = pagerLockDb(pPager, RESERVED_LOCK);
48633 if( rc==SQLITE_OK ){
48636 if( rc==SQLITE_OK && state==PAGER_READER ){
48713 int rc = SQLITE_OK;
48715 rc = sqlite3WalCheckpoint(pPager->pWal, eMode,
48722 return rc;
48743 int rc; /* Return code */
48746 rc = pagerLockDb(pPager, EXCLUSIVE_LOCK);
48747 if( rc!=SQLITE_OK ){
48753 return rc;
48763 int rc = SQLITE_OK;
48774 rc = pagerExclusiveLock(pPager);
48780 if( rc==SQLITE_OK ){
48781 rc = sqlite3WalOpen(pPager->pVfs,
48788 return rc;
48811 int rc = SQLITE_OK; /* Return code */
48825 rc = pagerOpenWal(pPager);
48826 if( rc==SQLITE_OK ){
48834 return rc;
48847 int rc = SQLITE_OK;
48857 rc = pagerLockDb(pPager, SHARED_LOCK);
48858 if( rc==SQLITE_OK ){
48859 rc = sqlite3OsAccess(
48863 if( rc==SQLITE_OK && logexists ){
48864 rc = pagerOpenWal(pPager);
48871 if( rc==SQLITE_OK && pPager->pWal ){
48872 rc = pagerExclusiveLock(pPager);
48873 if( rc==SQLITE_OK ){
48874 rc = sqlite3WalClose(pPager->pWal, pPager->ckptSyncFlags,
48880 return rc;
49421 int rc = SQLITE_OK;
49442 if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM;
49444 rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ,
49447 if( rc==SQLITE_READONLY ){
49449 rc = SQLITE_OK;
49455 assert( iPage==0 || *ppPage || rc!=SQLITE_OK );
49456 return rc;
49678 int rc;
49680 rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, 1,
49683 walLockName(lockIdx), rc ? "failed" : "ok"));
49684 VVA_ONLY( pWal->lockError = (u8)(rc!=SQLITE_OK && rc!=SQLITE_BUSY); )
49685 return rc;
49694 int rc;
49697 rc = sqlite3OsShmLock(pWal->pDbFd, lockIdx, n,
49700 walLockName(lockIdx), n, rc ? "failed" : "ok"));
49701 VVA_ONLY( pWal->lockError = (u8)(rc!=SQLITE_OK && rc!=SQLITE_BUSY); )
49702 return rc;
49747 int rc; /* Return code */
49750 rc = walIndexPage(pWal, iHash, &aPgno);
49751 assert( rc==SQLITE_OK || iHash>0 );
49753 if( rc==SQLITE_OK ){
49769 return rc;
49875 int rc; /* Return code */
49880 rc = walHashGet(pWal, walFramePage(iFrame), &aHash, &aPgno, &iZero);
49885 if( rc==SQLITE_OK ){
49949 return rc;
49964 int rc; /* Return Code */
49982 rc = walLockExclusive(pWal, iLock, nLock, 0);
49983 if( rc ){
49984 return rc;
49990 rc = sqlite3OsFileSize(pWal->pWalFd, &nSize);
49991 if( rc!=SQLITE_OK ){
50008 rc = sqlite3OsRead(pWal->pWalFd, aBuf, WAL_HDRSIZE, 0);
50009 if( rc!=SQLITE_OK ){
50046 rc = SQLITE_CANTOPEN_BKPT;
50054 rc = SQLITE_NOMEM;
50067 rc = sqlite3OsRead(pWal->pWalFd, aFrame, szFrame, iOffset);
50068 if( rc!=SQLITE_OK ) break;
50071 rc = walIndexAppend(pWal, iFrame, pgno);
50072 if( rc!=SQLITE_OK ) break;
50090 if( rc==SQLITE_OK ){
50121 WALTRACE(("WAL%p: recovery %s\n", pWal, rc ? "failed" : "ok"));
50123 return rc;
50164 int rc; /* Return Code */
50202 rc = sqlite3OsOpen(pVfs, zWalName, pRet->pWalFd, flags, &flags);
50203 if( rc==SQLITE_OK && flags&SQLITE_OPEN_READONLY ){
50207 if( rc!=SQLITE_OK ){
50220 return rc;
50432 int rc = SQLITE_OK; /* Return Code */
50459 rc = SQLITE_NOMEM;
50462 for(i=0; rc==SQLITE_OK && i<nSegment; i++){
50467 rc = walHashGet(pWal, i, &aHash, &aPgno, &iZero);
50468 if( rc==SQLITE_OK ){
50494 if( rc!=SQLITE_OK ){
50498 return rc;
50514 int rc;
50516 rc = walLockExclusive(pWal, lockIdx, n, 0);
50517 }while( xBusy && rc==SQLITE_BUSY && xBusy(pBusyArg) );
50518 return rc;
50600 int rc = SQLITE_OK; /* Return code */
50617 rc = walIteratorInit(pWal, &pIter);
50618 if( rc!=SQLITE_OK ){
50619 return rc;
50646 rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(i), 1);
50647 if( rc==SQLITE_OK ){
50650 }else if( rc==SQLITE_BUSY ){
50660 && (rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(0),1))==SQLITE_OK
50667 rc = sqlite3OsSync(pWal->pWalFd, sync_flags);
50673 if( rc==SQLITE_OK ){
50675 rc = sqlite3OsFileSize(pWal->pDbFd, &nSize);
50676 if( rc==SQLITE_OK && nSize<nReq ){
50683 while( rc==SQLITE_OK && 0==walIteratorNext(pIter, &iDbpage, &iFrame) ){
50691 rc = sqlite3OsRead(pWal->pWalFd, zBuf, szPage, iOffset);
50692 if( rc!=SQLITE_OK ) break;
50695 rc = sqlite3OsWrite(pWal->pDbFd, zBuf, szPage, iOffset);
50696 if( rc!=SQLITE_OK ) break;
50700 if( rc==SQLITE_OK ){
50704 rc = sqlite3OsTruncate(pWal->pDbFd, szDb);
50705 if( rc==SQLITE_OK && sync_flags ){
50706 rc = sqlite3OsSync(pWal->pDbFd, sync_flags);
50709 if( rc==SQLITE_OK ){
50718 if( rc==SQLITE_BUSY ){
50721 rc = SQLITE_OK;
50730 if( rc==SQLITE_OK && eMode!=SQLITE_CHECKPOINT_PASSIVE ){
50733 rc = SQLITE_BUSY;
50738 rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_READ_LOCK(1), WAL_NREADER-1);
50739 if( rc==SQLITE_OK ){
50755 rc = sqlite3OsTruncate(pWal->pWalFd, 0);
50764 return rc;
50794 int rc = SQLITE_OK;
50806 rc = sqlite3OsLock(pWal->pDbFd, SQLITE_LOCK_EXCLUSIVE);
50807 if( rc==SQLITE_OK ){
50811 rc = sqlite3WalCheckpoint(
50814 if( rc==SQLITE_OK ){
50847 return rc;
50926 int rc; /* Return code */
50934 rc = walIndexPage(pWal, 0, &page0);
50935 if( rc!=SQLITE_OK ){
50936 return rc;
50953 if( SQLITE_OK==(rc = walLockShared(pWal, WAL_WRITE_LOCK)) ){
50955 rc = SQLITE_READONLY_RECOVERY;
50957 }else if( SQLITE_OK==(rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1, 1)) ){
50959 if( SQLITE_OK==(rc = walIndexPage(pWal, 0, &page0)) ){
50966 rc = walIndexRecover(pWal);
50980 rc = SQLITE_CANTOPEN_BKPT;
50983 return rc;
51047 int rc = SQLITE_OK; /* Return code */
51079 rc = walIndexReadHdr(pWal, pChanged);
51080 if( rc==SQLITE_BUSY ){
51097 rc = WAL_RETRY;
51098 }else if( SQLITE_OK==(rc = walLockShared(pWal, WAL_RECOVER_LOCK)) ){
51100 rc = WAL_RETRY;
51101 }else if( rc==SQLITE_BUSY ){
51102 rc = SQLITE_BUSY_RECOVERY;
51105 if( rc!=SQLITE_OK ){
51106 return rc;
51115 rc = walLockShared(pWal, WAL_READ_LOCK(0));
51117 if( rc==SQLITE_OK ){
51137 }else if( rc!=SQLITE_BUSY ){
51138 return rc;
51163 rc = walLockExclusive(pWal, WAL_READ_LOCK(i), 1, 0);
51164 if( rc==SQLITE_OK ){
51169 }else if( rc!=SQLITE_BUSY ){
51170 return rc;
51175 assert( rc==SQLITE_BUSY || (pWal->readOnly & WAL_SHM_RDONLY)!=0 );
51176 return rc==SQLITE_BUSY ? WAL_RETRY : SQLITE_READONLY_CANTLOCK;
51179 rc = walLockShared(pWal, WAL_READ_LOCK(mxI));
51180 if( rc ){
51181 return rc==SQLITE_BUSY ? WAL_RETRY : rc;
51214 return rc;
51232 int rc; /* Return code */
51236 rc = walTryBeginRead(pWal, pChanged, 0, ++cnt);
51237 }while( rc==WAL_RETRY );
51238 testcase( (rc&0xff)==SQLITE_BUSY );
51239 testcase( (rc&0xff)==SQLITE_IOERR );
51240 testcase( rc==SQLITE_PROTOCOL );
51241 testcase( rc==SQLITE_OK );
51242 return rc;
51319 int rc; /* Error code */
51321 rc = walHashGet(pWal, iHash, &aHash, &aPgno, &iZero);
51322 if( rc!=SQLITE_OK ){
51323 return rc;
51406 int rc;
51419 rc = walLockExclusive(pWal, WAL_WRITE_LOCK, 1, 0);
51420 if( rc ){
51421 return rc;
51432 rc = SQLITE_BUSY_SNAPSHOT;
51435 return rc;
51464 int rc = SQLITE_OK;
51475 ALWAYS(rc==SQLITE_OK) && iFrame<=iMax;
51490 rc = xUndo(pUndoCtx, walFramePgno(pWal, iFrame));
51494 return rc;
51518 int rc = SQLITE_OK;
51539 return rc;
51555 int rc = SQLITE_OK;
51564 rc = walLockExclusive(pWal, WAL_READ_LOCK(1), WAL_NREADER-1, 0);
51565 if( rc==SQLITE_OK ){
51577 }else if( rc!=SQLITE_BUSY ){
51578 return rc;
51586 rc = walTryBeginRead(pWal, &notUsed, 1, ++cnt);
51587 }while( rc==WAL_RETRY );
51588 assert( (rc&0xff)!=SQLITE_BUSY ); /* BUSY not possible when useWal==1 */
51589 testcase( (rc&0xff)==SQLITE_IOERR );
51590 testcase( rc==SQLITE_PROTOCOL );
51591 testcase( rc==SQLITE_OK );
51593 return rc;
51623 int rc;
51626 rc = sqlite3OsWrite(p->pFd, pContent, iFirstAmt, iOffset);
51627 if( rc ) return rc;
51632 rc = sqlite3OsSync(p->pFd, p->syncFlags & SQLITE_SYNC_MASK);
51633 if( iAmt==0 || rc ) return rc;
51635 rc = sqlite3OsWrite(p->pFd, pContent, iAmt, iOffset);
51636 return rc;
51648 int rc; /* Result code from subfunctions */
51657 rc = walWriteToLog(p, aFrame, sizeof(aFrame), iOffset);
51658 if( rc ) return rc;
51660 rc = walWriteToLog(p, pData, p->szPage, iOffset+sizeof(aFrame));
51661 return rc;
51676 int rc; /* Used to catch return codes */
51702 if( SQLITE_OK!=(rc = walRestartLog(pWal)) ){
51703 return rc;
51731 rc = sqlite3OsWrite(pWal->pWalFd, aWalHdr, sizeof(aWalHdr), 0);
51732 WALTRACE(("WAL%p: wal-header write %s\n", pWal, rc ? "failed" : "ok"));
51733 if( rc!=SQLITE_OK ){
51734 return rc;
51745 rc = sqlite3OsSync(pWal->pWalFd, sync_flags & SQLITE_SYNC_MASK);
51746 if( rc ) return rc;
51766 rc = walWriteOneFrame(&w, p, nDbSize, iOffset);
51767 if( rc ) return rc;
51791 rc = walWriteOneFrame(&w, pLast, nTruncate, iOffset);
51792 if( rc ) return rc;
51797 rc = sqlite3OsSync(w.pFd, sync_flags & SQLITE_SYNC_MASK);
51820 for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){
51822 rc = walIndexAppend(pWal, iFrame, p->pgno);
51824 while( rc==SQLITE_OK && nExtra>0 ){
51827 rc = walIndexAppend(pWal, iFrame, pLast->pgno);
51830 if( rc==SQLITE_OK ){
51847 WALTRACE(("WAL%p: frame write %s\n", pWal, rc ? "failed" : "ok"));
51848 return rc;
51872 int rc; /* Return code */
51889 rc = walLockExclusive(pWal, WAL_CKPT_LOCK, 1, 0);
51890 if( rc ){
51897 testcase( rc==SQLITE_BUSY );
51899 return rc;
51913 rc = walBusyLock(pWal, xBusy, pBusyArg, WAL_WRITE_LOCK, 1);
51914 if( rc==SQLITE_OK ){
51916 }else if( rc==SQLITE_BUSY ){
51919 rc = SQLITE_OK;
51924 if( rc==SQLITE_OK ){
51925 rc = walIndexReadHdr(pWal, &isChanged);
51932 if( rc==SQLITE_OK ){
51934 rc = SQLITE_CORRUPT_BKPT;
51936 rc = walCheckpoint(pWal, eMode2, xBusy2, pBusyArg, sync_flags, zBuf);
51940 if( rc==SQLITE_OK || rc==SQLITE_BUSY ){
51960 WALTRACE(("WAL%p: checkpoint %s\n", pWal, rc ? "failed" : "ok"));
51961 return (rc==SQLITE_OK && eMode!=eMode2 ? SQLITE_BUSY : rc);
52003 int rc;
52022 rc = pWal->exclusiveMode==0;
52025 rc = 0;
52032 rc = 1;
52034 rc = pWal->exclusiveMode==0;
52036 return rc;
53596 int rc = SQLITE_OK;
53601 rc = SQLITE_NOMEM;
53604 if( rc==SQLITE_OK && pgno<=sqlite3BitvecSize(pBt->pHasContent) ){
53605 rc = sqlite3BitvecSet(pBt->pHasContent, pgno);
53607 return rc;
53652 int rc;
53663 rc = sqlite3BtreeKeySize(pCur, &pCur->nKey);
53664 assert( rc==SQLITE_OK ); /* KeySize() cannot fail */
53675 rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey);
53676 if( rc==SQLITE_OK ){
53682 rc = SQLITE_NOMEM;
53687 if( rc==SQLITE_OK ){
53693 return rc;
53734 int rc = saveCursorPosition(p);
53735 if( SQLITE_OK!=rc ){
53736 return rc;
53770 int rc; /* Status code */
53789 rc = sqlite3BtreeMovetoUnpacked(pCur, pIdxKey, nKey, bias, pRes);
53793 return rc;
53804 int rc;
53812 rc = btreeMoveto(pCur, pCur->pKey, pCur->nKey, 0, &skipNext);
53813 if( rc==SQLITE_OK ){
53822 return rc;
53860 int rc;
53864 rc = restoreCursorPosition(pCur);
53865 if( rc ){
53867 return rc;
53917 int rc; /* Return code from subfunctions */
53931 rc = sqlite3PagerGet(pBt->pPager, iPtrmap, &pDbPage);
53932 if( rc!=SQLITE_OK ){
53933 *pRC = rc;
53946 *pRC= rc = sqlite3PagerWrite(pDbPage);
53947 if( rc==SQLITE_OK ){
53969 int rc;
53974 rc = sqlite3PagerGet(pBt->pPager, iPtrmap, &pDbPage);
53975 if( rc!=0 ){
53976 return rc;
53996 #define ptrmapPut(w,x,y,z,rc)
53998 #define ptrmapPutOvflPtr(x, y, rc)
54377 int rc = SQLITE_OK; /* Integer return code */
54408 u8 *pSpace = pageFindSlot(pPage, nByte, &rc, &bDefrag);
54409 if( rc ) return rc;
54425 rc = defragmentPage(pPage);
54426 if( rc ) return rc;
54801 int rc;
54806 rc = sqlite3PagerAcquire(pBt->pPager, pgno, (DbPage**)&pDbPage, flags);
54807 if( rc ) return rc;
54854 int rc;
54859 rc = SQLITE_CORRUPT_BKPT;
54861 rc = btreeGetPage(pBt, pgno, ppPage, bReadonly);
54862 if( rc==SQLITE_OK && (*ppPage)->isInit==0 ){
54863 rc = btreeInitPage(*ppPage);
54864 if( rc!=SQLITE_OK ){
54871 assert( pgno!=0 || rc==SQLITE_CORRUPT );
54872 return rc;
54960 int rc = SQLITE_OK; /* Result code from this function */
55026 rc = sqlite3OsFullPathname(pVfs, zFilename,
55028 if( rc ){
55031 return rc;
55089 rc = SQLITE_NOMEM;
55092 rc = sqlite3PagerOpen(pVfs, &pBt->pPager, zFilename,
55094 if( rc==SQLITE_OK ){
55096 rc = sqlite3PagerReadFileheader(pBt->pPager,sizeof(zDbHeader),zDbHeader);
55098 if( rc!=SQLITE_OK ){
55143 rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve);
55144 if( rc ) goto btree_open_out;
55158 rc = SQLITE_NOMEM;
55205 if( rc!=SQLITE_OK ){
55225 return rc;
55435 int rc;
55439 rc = sqlite3PagerNosync(pBt->pPager);
55441 return rc;
55465 int rc = SQLITE_OK;
55487 rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize, nReserve);
55491 return rc;
55582 int rc = SQLITE_OK;
55587 rc = SQLITE_READONLY;
55593 return rc;
55605 int rc;
55607 rc = (
55613 return rc;
55628 int rc; /* Result code from subfunctions */
55636 rc = sqlite3PagerSharedLock(pBt->pPager);
55637 if( rc!=SQLITE_OK ) return rc;
55638 rc = btreeGetPage(pBt, 1, &pPage1, 0);
55639 if( rc!=SQLITE_OK ) return rc;
55653 rc = SQLITE_NOTADB;
55686 rc = sqlite3PagerOpenWal(pBt->pPager, &isOpen);
55687 if( rc!=SQLITE_OK ){
55693 rc = SQLITE_NOTADB;
55738 rc = sqlite3PagerSetPagesize(pBt->pPager, &pBt->pageSize,
55740 return rc;
55743 rc = SQLITE_CORRUPT_BKPT;
55790 return rc;
55845 int rc;
55854 rc = sqlite3PagerWrite(pP1->pDbPage);
55855 if( rc ) return rc;
55887 int rc;
55890 rc = newDatabase(p->pBt);
55892 return rc;
55933 int rc = SQLITE_OK;
55949 rc = SQLITE_READONLY;
55973 rc = SQLITE_LOCKED_SHAREDCACHE;
55981 rc = querySharedCacheTableLock(p, MASTER_ROOT, READ_LOCK);
55982 if( SQLITE_OK!=rc ) goto trans_begun;
55994 while( pBt->pPage1==0 && SQLITE_OK==(rc = lockBtree(pBt)) );
55996 if( rc==SQLITE_OK && wrflag ){
55998 rc = SQLITE_READONLY;
56000 rc = sqlite3PagerBegin(pBt->pPager,wrflag>1,sqlite3TempInMemory(p->db));
56001 if( rc==SQLITE_OK ){
56002 rc = newDatabase(pBt);
56007 if( rc!=SQLITE_OK ){
56010 }while( (rc&0xFF)==SQLITE_BUSY && pBt->inTransaction==TRANS_NONE &&
56013 if( rc==SQLITE_OK ){
56045 rc = sqlite3PagerWrite(pPage1->pDbPage);
56046 if( rc==SQLITE_OK ){
56055 if( rc==SQLITE_OK && wrflag ){
56060 rc = sqlite3PagerOpenSavepoint(pBt->pPager, p->db->nSavepoint);
56065 return rc;
56078 int rc; /* Return code */
56084 rc = btreeInitPage(pPage);
56085 if( rc!=SQLITE_OK ){
56093 ptrmapPutOvflPtr(pPage, pCell, &rc);
56097 ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc);
56103 ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc);
56108 return rc;
56196 int rc;
56206 rc = sqlite3PagerMovepage(pPager, pDbPage->pDbPage, iFreePage, isCommit);
56207 if( rc!=SQLITE_OK ){
56208 return rc;
56221 rc = setChildPtrmaps(pDbPage);
56222 if( rc!=SQLITE_OK ){
56223 return rc;
56228 ptrmapPut(pBt, nextOvfl, PTRMAP_OVERFLOW2, iFreePage, &rc);
56229 if( rc!=SQLITE_OK ){
56230 return rc;
56240 rc = btreeGetPage(pBt, iPtrPage, &pPtrPage, 0);
56241 if( rc!=SQLITE_OK ){
56242 return rc;
56244 rc = sqlite3PagerWrite(pPtrPage->pDbPage);
56245 if( rc!=SQLITE_OK ){
56247 return rc;
56249 rc = modifyPagePointer(pPtrPage, iDbPage, iFreePage, eType);
56251 if( rc==SQLITE_OK ){
56252 ptrmapPut(pBt, iFreePage, eType, iPtrPage, &rc);
56255 return rc;
56280 int rc;
56294 rc = ptrmapGet(pBt, iLastPg, &eType, &iPtrPage);
56295 if( rc!=SQLITE_OK ){
56296 return rc;
56311 rc = allocateBtreePage(pBt, &pFreePg, &iFreePg, iLastPg, BTALLOC_EXACT);
56312 if( rc!=SQLITE_OK ){
56313 return rc;
56324 rc = btreeGetPage(pBt, iLastPg, &pLastPg, 0);
56325 if( rc!=SQLITE_OK ){
56326 return rc;
56342 rc = allocateBtreePage(pBt, &pFreePg, &iFreePg, iNear, eMode);
56343 if( rc!=SQLITE_OK ){
56345 return rc;
56351 rc = relocatePage(pBt, pLastPg, eType, iPtrPage, iFreePg, bCommit);
56353 if( rc!=SQLITE_OK ){
56354 return rc;
56401 int rc;
56407 rc = SQLITE_DONE;
56414 rc = SQLITE_CORRUPT_BKPT;
56416 rc = saveAllCursors(pBt, 0, 0);
56417 if( rc==SQLITE_OK ){
56419 rc = incrVacuumStep(pBt, nFin, nOrig, 0);
56421 if( rc==SQLITE_OK ){
56422 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
56426 rc = SQLITE_DONE;
56430 return rc;
56443 int rc = SQLITE_OK;
56469 rc = saveAllCursors(pBt, 0, 0);
56471 for(iFree=nOrig; iFree>nFin && rc==SQLITE_OK; iFree--){
56472 rc = incrVacuumStep(pBt, nFin, iFree, 1);
56474 if( (rc==SQLITE_DONE || rc==SQLITE_OK) && nFree>0 ){
56475 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
56482 if( rc!=SQLITE_OK ){
56488 return rc;
56522 int rc = SQLITE_OK;
56528 rc = autoVacuumCommit(pBt);
56529 if( rc!=SQLITE_OK ){
56531 return rc;
56538 rc = sqlite3PagerCommitPhaseOne(pBt->pPager, zMaster, 0);
56541 return rc;
56620 int rc;
56624 rc = sqlite3PagerCommitPhaseTwo(pBt->pPager);
56625 if( rc!=SQLITE_OK && bCleanup==0 ){
56627 return rc;
56643 int rc;
56645 rc = sqlite3BtreeCommitPhaseOne(p, 0);
56646 if( rc==SQLITE_OK ){
56647 rc = sqlite3BtreeCommitPhaseTwo(p, 0);
56650 return rc;
56681 int rc = SQLITE_OK;
56690 rc = saveCursorPosition(p);
56691 if( rc!=SQLITE_OK ){
56692 (void)sqlite3BtreeTripAllCursors(pBtree, rc, 0);
56708 return rc;
56723 int rc;
56731 rc = tripCode = saveAllCursors(pBt, 0, 0);
56732 if( rc ) writeOnly = 0;
56734 rc = SQLITE_OK;
56738 assert( rc==SQLITE_OK || (writeOnly==0 && rc2==SQLITE_OK) );
56739 if( rc2!=SQLITE_OK ) rc = rc2;
56749 rc = rc2;
56770 return rc;
56792 int rc;
56805 rc = sqlite3PagerOpenSavepoint(pBt->pPager, iStatement);
56807 return rc;
56823 int rc = SQLITE_OK;
56829 rc = sqlite3PagerSavepoint(pBt->pPager, op, iSavepoint);
56830 if( rc==SQLITE_OK ){
56834 rc = newDatabase(pBt);
56844 return rc;
56939 int rc;
56941 rc = btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur);
56943 return rc;
57130 int rc = SQLITE_OK;
57152 rc = ptrmapGet(pBt, iGuess, &eType, &pgno);
57153 if( rc==SQLITE_OK && eType==PTRMAP_OVERFLOW2 && pgno==ovfl ){
57155 rc = SQLITE_DONE;
57161 assert( next==0 || rc==SQLITE_DONE );
57162 if( rc==SQLITE_OK ){
57163 rc = btreeGetPage(pBt, ovfl, &pPage, (ppPage==0) ? PAGER_GET_READONLY : 0);
57164 assert( rc==SQLITE_OK || pPage==0 );
57165 if( rc==SQLITE_OK ){
57176 return (rc==SQLITE_DONE ? SQLITE_OK : rc);
57199 int rc = sqlite3PagerWrite(pDbPage);
57200 if( rc!=SQLITE_OK ){
57201 return rc;
57249 int rc = SQLITE_OK;
57282 rc = copyPayload(&aPayload[offset], pBuf, a, (eOp & 0x01), pPage->pDbPage);
57291 if( rc==SQLITE_OK && amt>0 ){
57312 rc = SQLITE_NOMEM;
57318 if( rc==SQLITE_OK ){
57336 for( ; rc==SQLITE_OK && amt>0 && nextPage; iIdx++){
57360 rc = getOverflowPage(pBt, nextPage, 0, &nextPage);
57402 rc = sqlite3OsRead(fd, aWrite, a+4, (i64)pBt->pageSize*(nextPage-1));
57410 rc = sqlite3PagerAcquire(pBt->pPager, nextPage, &pDbPage,
57413 if( rc==SQLITE_OK ){
57416 rc = copyPayload(&aPayload[offset+4], pBuf, a, (eOp&0x01), pDbPage);
57427 if( rc==SQLITE_OK && amt>0 ){
57430 return rc;
57463 int rc;
57472 rc = restoreCursorPosition(pCur);
57473 if( rc==SQLITE_OK ){
57477 rc = accessPayload(pCur, offset, amt, pBuf, 0);
57479 return rc;
57553 int rc;
57565 rc = getAndInitPage(pBt, newPgno, &pNewPage,
57567 if( rc ) return rc;
57651 int rc = SQLITE_OK;
57671 rc = getAndInitPage(pCur->pBtree->pBt, pCur->pgnoRoot, &pCur->apPage[0],
57673 if( rc!=SQLITE_OK ){
57675 return rc;
57708 rc = moveToChild(pCur, subpage);
57712 return rc;
57724 int rc = SQLITE_OK;
57729 while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){
57732 rc = moveToChild(pCur, pgno);
57734 return rc;
57749 int rc = SQLITE_OK;
57757 rc = moveToChild(pCur, pgno);
57758 if( rc ) return rc;
57771 int rc;
57775 rc = moveToRoot(pCur);
57776 if( rc==SQLITE_OK ){
57783 rc = moveToLeftmost(pCur);
57786 return rc;
57794 int rc;
57814 rc = moveToRoot(pCur);
57815 if( rc==SQLITE_OK ){
57822 rc = moveToRightmost(pCur);
57823 if( rc==SQLITE_OK ){
57831 return rc;
57869 int rc;
57903 rc = moveToRoot(pCur);
57904 if( rc ){
57905 return rc;
57961 rc = SQLITE_OK;
58006 rc = SQLITE_NOMEM;
58010 rc = accessPayload(pCur, 0, nCell, (unsigned char*)pCellKey, 2);
58011 if( rc ){
58029 rc = SQLITE_OK;
58031 if( pIdxKey->errCode ) rc = SQLITE_CORRUPT;
58045 rc = SQLITE_OK;
58055 rc = moveToChild(pCur, chldPg);
58056 if( rc ) break;
58061 return rc;
58102 int rc;
58111 rc = restoreCursorPosition(pCur);
58112 if( rc!=SQLITE_OK ){
58113 return rc;
58143 rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8]));
58144 if( rc ) return rc;
58212 int rc;
58222 rc = restoreCursorPosition(pCur);
58223 if( rc!=SQLITE_OK ){
58224 return rc;
58245 rc = moveToChild(pCur, get4byte(findCell(pPage, idx)));
58246 if( rc ) return rc;
58247 rc = moveToRightmost(pCur);
58263 rc = sqlite3BtreePrevious(pCur, pRes);
58265 rc = SQLITE_OK;
58268 return rc;
58319 int rc;
58352 rc = ptrmapGet(pBt, nearby, &eType, 0);
58353 if( rc ) return rc;
58366 rc = sqlite3PagerWrite(pPage1->pDbPage);
58367 if( rc ) return rc;
58390 rc = SQLITE_CORRUPT_BKPT;
58392 rc = btreeGetPage(pBt, iTrunk, &pTrunk, 0);
58394 if( rc ){
58408 rc = sqlite3PagerWrite(pTrunk->pDbPage);
58409 if( rc ){
58419 rc = SQLITE_CORRUPT_BKPT;
58431 rc = sqlite3PagerWrite(pTrunk->pDbPage);
58432 if( rc ){
58439 rc = sqlite3PagerWrite(pPrevTrunk->pDbPage);
58440 if( rc!=SQLITE_OK ){
58453 rc = SQLITE_CORRUPT_BKPT;
58457 rc = btreeGetPage(pBt, iNewTrunk, &pNewTrunk, 0);
58458 if( rc!=SQLITE_OK ){
58461 rc = sqlite3PagerWrite(pNewTrunk->pDbPage);
58462 if( rc!=SQLITE_OK ){
58474 rc = sqlite3PagerWrite(pPrevTrunk->pDbPage);
58475 if( rc ){
58518 rc = SQLITE_CORRUPT_BKPT;
58530 rc = sqlite3PagerWrite(pTrunk->pDbPage);
58531 if( rc ) goto end_allocate_page;
58537 rc = btreeGetPage(pBt, *pPgno, ppPage, noContent);
58538 if( rc==SQLITE_OK ){
58539 rc = sqlite3PagerWrite((*ppPage)->pDbPage);
58540 if( rc!=SQLITE_OK ){
58571 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
58572 if( rc ) return rc;
58585 rc = btreeGetPage(pBt, pBt->nPage, &pPg, bNoContent);
58586 if( rc==SQLITE_OK ){
58587 rc = sqlite3PagerWrite(pPg->pDbPage);
58590 if( rc ) return rc;
58599 rc = btreeGetPage(pBt, *pPgno, ppPage, bNoContent);
58600 if( rc ) return rc;
58601 rc = sqlite3PagerWrite((*ppPage)->pDbPage);
58602 if( rc!=SQLITE_OK ){
58613 if( rc==SQLITE_OK ){
58623 assert( rc!=SQLITE_OK || sqlite3PagerIswriteable((*ppPage)->pDbPage) );
58624 return rc;
58644 int rc; /* Return Code */
58659 rc = sqlite3PagerWrite(pPage1->pDbPage);
58660 if( rc ) goto freepage_out;
58668 if( (!pPage && ((rc = btreeGetPage(pBt, iPage, &pPage, 0))!=0) )
58669 || ((rc = sqlite3PagerWrite(pPage->pDbPage))!=0)
58680 ptrmapPut(pBt, iPage, PTRMAP_FREEPAGE, 0, &rc);
58681 if( rc ) goto freepage_out;
58695 rc = btreeGetPage(pBt, iTrunk, &pTrunk, 0);
58696 if( rc!=SQLITE_OK ){
58703 rc = SQLITE_CORRUPT_BKPT;
58726 rc = sqlite3PagerWrite(pTrunk->pDbPage);
58727 if( rc==SQLITE_OK ){
58733 rc = btreeSetHasContent(pBt, iPage);
58746 if( pPage==0 && SQLITE_OK!=(rc = btreeGetPage(pBt, iPage, &pPage, 0)) ){
58749 rc = sqlite3PagerWrite(pPage->pDbPage);
58750 if( rc!=SQLITE_OK ){
58764 return rc;
58785 int rc;
58813 rc = getOverflowPage(pBt, ovflPgno, &pOvfl, &iNext);
58814 if( rc ) return rc;
58830 rc = SQLITE_CORRUPT_BKPT;
58832 rc = freePage2(pBt, pOvfl, ovflPgno);
58838 if( rc ) return rc;
58866 int nSrc, n, rc;
58964 rc = allocateBtreePage(pBt, &pOvfl, &pgnoOvfl, pgnoOvfl, 0);
58976 if( pBt->autoVacuum && rc==SQLITE_OK ){
58978 ptrmapPut(pBt, pgnoOvfl, eType, pgnoPtrmap, &rc);
58979 if( rc ){
58984 if( rc ){
58986 return rc;
59051 int rc; /* The return code */
59070 rc = freeSpace(pPage, pc, sz);
59071 if( rc ){
59072 *pRC = rc;
59144 int rc = sqlite3PagerWrite(pPage->pDbPage);
59145 if( rc!=SQLITE_OK ){
59146 *pRC = rc;
59154 rc = allocateSpace(pPage, sz, &idx);
59155 if( rc ){ *pRC = rc; return; }
59275 int rc;
59277 if( bFreelist==0 || (pSlot = pageFindSlot(pPg, sz, &rc, 0))==0 ){
59491 int rc; /* Return Code */
59505 rc = allocateBtreePage(pBt, &pNew, &pgnoNew, 0, 0);
59507 if( rc==SQLITE_OK ){
59530 ptrmapPut(pBt, pgnoNew, PTRMAP_BTREE, pParent->pgno, &rc);
59532 ptrmapPutOvflPtr(pNew, pCell, &rc);
59557 0, pPage->pgno, &rc);
59566 return rc;
59636 int rc;
59655 rc = btreeInitPage(pTo);
59656 if( rc!=SQLITE_OK ){
59657 *pRC = rc;
59727 int rc = SQLITE_OK; /* The return code */
59806 rc = getAndInitPage(pBt, pgno, &apOld[i], 0);
59807 if( rc ){
59841 rc = SQLITE_CORRUPT_BKPT;
59849 dropCell(pParent, i+nxDiv-pParent->nOverflow, szNew[i], &rc);
59870 rc = SQLITE_NOMEM;
59979 if( k>NB+1 ){ rc = SQLITE_CORRUPT_BKPT; goto balance_cleanup; }
60038 rc = SQLITE_CORRUPT_BKPT;
60047 rc = sqlite3PagerWrite(pNew->pDbPage);
60049 if( rc ) goto balance_cleanup;
60052 rc = allocateBtreePage(pBt, &pNew, &pgno, (bBulk ? 1 : pgno), 0);
60053 if( rc ) goto balance_cleanup;
60061 ptrmapPut(pBt, pNew->pgno, PTRMAP_BTREE, pParent->pgno, &rc);
60062 if( rc!=SQLITE_OK ){
60093 rc = SQLITE_CORRUPT_BKPT;
60186 ptrmapPut(pBt, get4byte(pCell), PTRMAP_BTREE, pNew->pgno, &rc);
60189 ptrmapPutOvflPtr(pNew, pCell, &rc);
60242 insertCell(pParent, nxDiv+i, pCell, sz, pTemp, pNew->pgno, &rc);
60243 if( rc!=SQLITE_OK ) goto balance_cleanup;
60328 rc = defragmentPage(apNew[0]);
60329 testcase( rc!=SQLITE_OK );
60332 || rc!=SQLITE_OK
60334 copyNodeContent(apNew[0], pParent, &rc);
60335 freePage(apNew[0], &rc);
60342 ptrmapPut(pBt, key, PTRMAP_BTREE, apNew[i]->pgno, &rc);
60353 freePage(apOld[i], &rc);
60357 if( ISAUTOVACUUM && rc==SQLITE_OK && apNew[0]->isInit ){
60379 return rc;
60406 int rc; /* Return value from subprocedures */
60418 rc = sqlite3PagerWrite(pRoot->pDbPage);
60419 if( rc==SQLITE_OK ){
60420 rc = allocateBtreePage(pBt,&pChild,&pgnoChild,pRoot->pgno,0);
60421 copyNodeContent(pRoot, pChild, &rc);
60423 ptrmapPut(pBt, pgnoChild, PTRMAP_BTREE, pRoot->pgno, &rc);
60426 if( rc ){
60429 return rc;
60463 int rc = SQLITE_OK;
60483 rc = balance_deeper(pPage, &pCur->apPage[1]);
60484 if( rc==SQLITE_OK ){
60499 rc = sqlite3PagerWrite(pParent->pDbPage);
60500 if( rc==SQLITE_OK ){
60522 rc = balance_quick(pParent, pPage, aBalanceQuickSpace);
60544 rc = balance_nonroot(pParent, iIdx, pSpace, iPage==1,
60568 }while( rc==SQLITE_OK );
60573 return rc;
60607 int rc;
60646 rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur);
60647 if( rc ) return rc;
60664 rc = btreeMoveto(pCur, pKey, nKey, appendBias, &loc);
60665 if( rc ) return rc;
60679 rc = fillInCell(pPage, newCell, pKey, nKey, pData, nData, nZero, &szNew);
60680 if( rc ) goto end_insert;
60687 rc = sqlite3PagerWrite(pPage->pDbPage);
60688 if( rc ){
60695 rc = clearCell(pPage, oldCell, &szOld);
60696 dropCell(pPage, idx, szOld, &rc);
60697 if( rc ) goto end_insert;
60704 insertCell(pPage, idx, newCell, szNew, 0, 0, &rc);
60705 assert( rc!=SQLITE_OK || pPage->nCell>0 || pPage->nOverflow>0 );
60728 if( rc==SQLITE_OK && pPage->nOverflow ){
60730 rc = balance(pCur);
60742 return rc;
60752 int rc; /* Return code */
60786 rc = sqlite3BtreePrevious(pCur, &notUsed);
60787 if( rc ) return rc;
60795 rc = saveAllCursors(pBt, pCur->pgnoRoot, pCur);
60796 if( rc ) return rc;
60804 rc = sqlite3PagerWrite(pPage->pDbPage);
60805 if( rc ) return rc;
60806 rc = clearCell(pPage, pCell, &szCell);
60807 dropCell(pPage, iCellIdx, szCell, &rc);
60808 if( rc ) return rc;
60826 rc = sqlite3PagerWrite(pLeaf->pDbPage);
60827 insertCell(pPage, iCellIdx, pCell-4, nCell+4, pTmp, n, &rc);
60828 dropCell(pLeaf, pLeaf->nCell-1, nCell, &rc);
60829 if( rc ) return rc;
60847 rc = balance(pCur);
60848 if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){
60852 rc = balance(pCur);
60855 if( rc==SQLITE_OK ){
60858 return rc;
60876 int rc;
60884 rc = allocateBtreePage(pBt, &pRoot, &pgnoRoot, 1, 0);
60885 if( rc ){
60886 return rc;
60920 rc = allocateBtreePage(pBt, &pPageMove, &pgnoMove, pgnoRoot, BTALLOC_EXACT);
60921 if( rc!=SQLITE_OK ){
60922 return rc;
60938 rc = saveAllCursors(pBt, 0, 0);
60940 if( rc!=SQLITE_OK ){
60941 return rc;
60945 rc = btreeGetPage(pBt, pgnoRoot, &pRoot, 0);
60946 if( rc!=SQLITE_OK ){
60947 return rc;
60949 rc = ptrmapGet(pBt, pgnoRoot, &eType, &iPtrPage);
60951 rc = SQLITE_CORRUPT_BKPT;
60953 if( rc!=SQLITE_OK ){
60955 return rc;
60959 rc = relocatePage(pBt, pRoot, eType, iPtrPage, pgnoMove, 0);
60963 if( rc!=SQLITE_OK ){
60964 return rc;
60966 rc = btreeGetPage(pBt, pgnoRoot, &pRoot, 0);
60967 if( rc!=SQLITE_OK ){
60968 return rc;
60970 rc = sqlite3PagerWrite(pRoot->pDbPage);
60971 if( rc!=SQLITE_OK ){
60973 return rc;
60980 ptrmapPut(pBt, pgnoRoot, PTRMAP_ROOTPAGE, 0, &rc);
60981 if( rc ){
60983 return rc;
60991 rc = sqlite3BtreeUpdateMeta(p, 4, pgnoRoot);
60992 if( NEVER(rc) ){
60994 return rc;
60998 rc = allocateBtreePage(pBt, &pRoot, &pgnoRoot, 1, 0);
60999 if( rc ) return rc;
61015 int rc;
61017 rc = btreeCreateTable(p, piTable, flags);
61019 return rc;
61033 int rc;
61043 rc = getAndInitPage(pBt, pgno, &pPage, 0);
61044 if( rc ) return rc;
61046 rc = SQLITE_CORRUPT_BKPT;
61054 rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange);
61055 if( rc ) goto cleardatabasepage_out;
61057 rc = clearCell(pPage, pCell, &szCell);
61058 if( rc ) goto cleardatabasepage_out;
61061 rc = clearDatabasePage(pBt, get4byte(&pPage->aData[hdr+8]), 1, pnChange);
61062 if( rc ) goto cleardatabasepage_out;
61068 freePage(pPage, &rc);
61069 }else if( (rc = sqlite3PagerWrite(pPage->pDbPage))==0 ){
61076 return rc;
61093 int rc;
61098 rc = saveAllCursors(pBt, (Pgno)iTable, 0);
61100 if( SQLITE_OK==rc ){
61105 rc = clearDatabasePage(pBt, (Pgno)iTable, 0, pnChange);
61108 return rc;
61141 int rc;
61161 rc = btreeGetPage(pBt, (Pgno)iTable, &pPage, 0);
61162 if( rc ) return rc;
61163 rc = sqlite3BtreeClearTable(p, iTable, 0);
61164 if( rc ){
61166 return rc;
61173 freePage(pPage, &rc);
61184 freePage(pPage, &rc);
61186 if( rc!=SQLITE_OK ){
61187 return rc;
61196 rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0);
61197 if( rc!=SQLITE_OK ){
61198 return rc;
61200 rc = relocatePage(pBt, pMove, PTRMAP_ROOTPAGE, 0, iTable, 0);
61202 if( rc!=SQLITE_OK ){
61203 return rc;
61206 rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0);
61207 freePage(pMove, &rc);
61209 if( rc!=SQLITE_OK ){
61210 return rc;
61227 rc = sqlite3BtreeUpdateMeta(p, 4, maxRootPgno);
61229 freePage(pPage, &rc);
61241 return rc;
61244 int rc;
61246 rc = btreeDropTable(p, iTable, piMoved);
61248 return rc;
61305 int rc;
61311 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
61312 if( rc==SQLITE_OK ){
61323 return rc;
61337 int rc; /* Return code */
61343 rc = moveToRoot(pCur);
61348 while( rc==SQLITE_OK ){
61390 rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8]));
61392 rc = moveToChild(pCur, get4byte(findCell(pPage, iIdx)));
61397 return rc;
61493 int rc;
61497 rc = ptrmapGet(pCheck->pBt, iChild, &ePtrmapType, &iPtrmapParent);
61498 if( rc!=SQLITE_OK ){
61499 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ) pCheck->mallocFailed = 1;
61659 int i, rc, depth, d2, pgno, cnt;
61681 if( (rc = btreeGetPage(pBt, (Pgno)iPage, &pPage, 0))!=0 ){
61683 "unable to get the page. error code=%d", rc);
61691 if( (rc = btreeInitPage(pPage))!=0 ){
61692 assert( rc==SQLITE_CORRUPT ); /* The only possible error from InitPage */
61694 "btreeInitPage() returns error code %d", rc);
62067 int rc = SQLITE_OK;
62072 rc = SQLITE_LOCKED;
62074 rc = sqlite3PagerCheckpoint(pBt->pPager, eMode, pnLog, pnCkpt);
62078 return rc;
62134 int rc;
62137 rc = querySharedCacheTableLock(p, MASTER_ROOT, READ_LOCK);
62138 assert( rc==SQLITE_OK || rc==SQLITE_LOCKED_SHAREDCACHE );
62140 return rc;
62151 int rc = SQLITE_OK;
62159 rc = querySharedCacheTableLock(p, iTab, lockType);
62160 if( rc==SQLITE_OK ){
62161 rc = setSharedCacheTableLock(p, iTab, lockType);
62165 return rc;
62181 int rc;
62186 rc = restoreCursorPosition(pCsr);
62187 if( rc!=SQLITE_OK ){
62188 return rc;
62203 VVA_ONLY(rc =) saveAllCursors(pCsr->pBt, pCsr->pgnoRoot, pCsr);
62204 assert( rc==SQLITE_OK );
62240 int rc; /* Return code */
62250 rc = sqlite3BtreeBeginTrans(pBtree, 0);
62251 if( rc==SQLITE_OK ){
62254 rc = sqlite3BtreeBeginTrans(pBtree, 2);
62255 if( rc==SQLITE_OK ){
62256 rc = sqlite3PagerWrite(pBt->pPage1->pDbPage);
62257 if( rc==SQLITE_OK ){
62266 return rc;
62329 int rc; /* Backup process error code */
62385 int rc = 0;
62389 rc = SQLITE_NOMEM;
62393 sqlite3ErrorWithMsg(pErrorDb, pParse->rc, "%s", pParse->zErrMsg);
62394 rc = SQLITE_ERROR;
62400 if( rc ){
62418 int rc;
62419 rc = sqlite3BtreeSetPageSize(p->pDest,sqlite3BtreeGetPageSize(p->pSrc),-1,0);
62420 return rc;
62523 static int isFatalError(int rc){
62524 return (rc!=SQLITE_OK && rc!=SQLITE_BUSY && ALWAYS(rc!=SQLITE_LOCKED));
62550 int rc = SQLITE_OK;
62555 assert( !isFatalError(p->rc) );
62563 rc = SQLITE_READONLY;
62571 rc = SQLITE_READONLY;
62581 rc = sqlite3PagerSetPagesize(pDestPager, &newPgsz, nSrcReserve);
62582 if( rc==SQLITE_OK && newPgsz!=nSrcPgsz ) rc = SQLITE_READONLY;
62590 for(iOff=iEnd-(i64)nSrcPgsz; rc==SQLITE_OK && iOff<iEnd; iOff+=nDestPgsz){
62594 if( SQLITE_OK==(rc = sqlite3PagerGet(pDestPager, iDest, &pDestPg))
62595 && SQLITE_OK==(rc = sqlite3PagerWrite(pDestPg))
62617 return rc;
62630 int rc = sqlite3OsFileSize(pFile, &iCurrent);
62631 if( rc==SQLITE_OK && iCurrent>iSize ){
62632 rc = sqlite3OsTruncate(pFile, iSize);
62634 return rc;
62654 int rc;
62668 rc = p->rc;
62669 if( !isFatalError(rc) ){
62680 rc = SQLITE_BUSY;
62682 rc = SQLITE_OK;
62686 if( SQLITE_OK==rc && p->bDestLocked==0
62687 && SQLITE_OK==(rc = sqlite3BtreeBeginTrans(p->pDest, 2))
62697 if( rc==SQLITE_OK && 0==sqlite3BtreeIsInReadTrans(p->pSrc) ){
62698 rc = sqlite3BtreeBeginTrans(p->pSrc, 0);
62707 if( SQLITE_OK==rc && destMode==PAGER_JOURNALMODE_WAL && pgszSrc!=pgszDest ){
62708 rc = SQLITE_READONLY;
62716 for(ii=0; (nPage<0 || ii<nPage) && p->iNext<=(Pgno)nSrcPage && !rc; ii++){
62720 rc = sqlite3PagerAcquire(pSrcPager, iSrcPg, &pSrcPg,
62722 if( rc==SQLITE_OK ){
62723 rc = backupOnePage(p, iSrcPg, sqlite3PagerGetData(pSrcPg), 0);
62729 if( rc==SQLITE_OK ){
62733 rc = SQLITE_DONE;
62744 if( rc==SQLITE_DONE ){
62746 rc = sqlite3BtreeNewDb(p->pDest);
62749 if( rc==SQLITE_OK || rc==SQLITE_DONE ){
62750 rc = sqlite3BtreeUpdateMeta(p->pDest,1,p->iDestSchema+1);
62752 if( rc==SQLITE_OK ){
62757 rc = sqlite3BtreeSetVersion(p->pDest, 2);
62760 if( rc==SQLITE_OK ){
62818 for(iPg=nDestTruncate; rc==SQLITE_OK && iPg<=(Pgno)nDstPage; iPg++){
62821 rc = sqlite3PagerGet(pDestPager, iPg, &pPg);
62822 if( rc==SQLITE_OK ){
62823 rc = sqlite3PagerWrite(pPg);
62828 if( rc==SQLITE_OK ){
62829 rc = sqlite3PagerCommitPhaseOne(pDestPager, 0, 1);
62836 rc==SQLITE_OK && iOff<iEnd;
62841 rc = sqlite3PagerGet(pSrcPager, iSrcPg, &pSrcPg);
62842 if( rc==SQLITE_OK ){
62844 rc = sqlite3OsWrite(pFile, zData, pgszSrc, iOff);
62848 if( rc==SQLITE_OK ){
62849 rc = backupTruncateFile(pFile, iSize);
62853 if( rc==SQLITE_OK ){
62854 rc = sqlite3PagerSync(pDestPager, 0);
62858 rc = sqlite3PagerCommitPhaseOne(pDestPager, 0, 0);
62862 if( SQLITE_OK==rc
62863 && SQLITE_OK==(rc = sqlite3BtreeCommitPhaseTwo(p->pDest, 0))
62865 rc = SQLITE_DONE;
62882 if( rc==SQLITE_IOERR_NOMEM ){
62883 rc = SQLITE_NOMEM;
62885 p->rc = rc;
62892 return rc;
62901 int rc; /* Value to return */
62928 rc = (p->rc==SQLITE_DONE) ? SQLITE_OK : p->rc;
62930 sqlite3Error(p->pDestDb, rc);
62943 return rc;
62990 if( !isFatalError(p->rc) && iPage<p->iNext ){
62995 int rc;
62998 rc = backupOnePage(p, iPage, aData, 1);
63000 assert( rc!=SQLITE_BUSY && rc!=SQLITE_LOCKED );
63001 if( rc!=SQLITE_OK ){
63002 p->rc = rc;
63037 int rc;
63047 rc = sqlite3OsFileControl(pFd, SQLITE_FCNTL_OVERWRITE, &nByte);
63048 if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK;
63049 if( rc ) goto copy_finished;
63071 assert( b.rc!=SQLITE_OK );
63072 rc = sqlite3_backup_finish(&b);
63073 if( rc==SQLITE_OK ){
63083 return rc;
63169 int rc;
63185 rc = sqlite3VdbeMemTranslate(pMem, (u8)desiredEnc);
63186 assert(rc==SQLITE_OK || rc==SQLITE_NOMEM);
63187 assert(rc==SQLITE_OK || pMem->enc!=desiredEnc);
63188 assert(rc==SQLITE_NOMEM || pMem->enc==desiredEnc);
63189 return rc;
63414 int rc = SQLITE_OK;
63431 rc = ctx.isError;
63433 return rc;
63887 int rc = SQLITE_OK;
63897 rc = sqlite3VdbeMemMakeWriteable(pTo);
63901 return rc;
64045 int rc = SQLITE_OK; /* Return code */
64066 if( SQLITE_OK==(rc = sqlite3VdbeMemClearAndResize(pMem, amt+2)) ){
64068 rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z);
64070 rc = sqlite3BtreeData(pCur, offset, amt, pMem->z);
64072 if( rc==SQLITE_OK ){
64083 return rc;
64258 int rc = SQLITE_OK; /* Return code */
64279 rc = SQLITE_NOMEM;
64283 rc = sqlite3ValueFromExpr(db, pList->a[i].pExpr, enc, aff, &apVal[i]);
64284 if( apVal[i]==0 || rc!=SQLITE_OK ) goto value_from_function_out;
64290 rc = SQLITE_NOMEM;
64294 assert( pCtx->pParse->rc==SQLITE_OK );
64300 rc = ctx.isError;
64304 assert( rc==SQLITE_OK );
64305 rc = sqlite3VdbeChangeEncoding(pVal, enc);
64306 if( rc==SQLITE_OK && sqlite3VdbeMemTooBig(pVal) ){
64307 rc = SQLITE_TOOBIG;
64311 pCtx->pParse->rc = rc;
64314 if( rc!=SQLITE_OK ){
64325 return rc;
64354 int rc = SQLITE_OK;
64371 rc = valueFromExpr(db, pExpr->pLeft, enc, aff, ppVal, pCtx);
64372 testcase( rc!=SQLITE_OK );
64377 return rc;
64408 rc = sqlite3VdbeChangeEncoding(pVal, enc);
64447 rc = valueFromFunction(db, pExpr, enc, affinity, &pVal, pCtx);
64452 return rc;
64567 int rc = SQLITE_OK;
64588 rc = sqlite3VdbeMemCopy((Mem*)pVal, &v->aVar[iBindVar-1]);
64589 if( rc==SQLITE_OK ){
64596 rc = valueFromExpr(db, pExpr, ENC(db), affinity, &pVal, pAlloc);
64601 return rc;
64643 int rc;
64652 rc = stat4ValueFromExpr(pParse, pExpr, affinity, &alloc, &pVal);
64655 return rc;
66123 int rc = SQLITE_OK; /* Return code */
66128 assert( p->rc==SQLITE_OK || p->rc==SQLITE_BUSY || p->rc==SQLITE_NOMEM );
66137 if( p->rc==SQLITE_NOMEM ){
66174 p->rc = SQLITE_OK;
66175 rc = SQLITE_DONE;
66177 p->rc = SQLITE_INTERRUPT;
66178 rc = SQLITE_ERROR;
66179 sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(p->rc));
66282 p->rc = SQLITE_OK;
66283 rc = SQLITE_ROW;
66285 return rc;
66402 p->rc = SQLITE_OK;
66709 int rc;
66719 rc = sqlite3VdbeMemSetStr(pColName, zName, -1, SQLITE_UTF8, xDel);
66720 assert( rc!=0 || !zName || (pColName->flags&MEM_Term)!=0 );
66721 return rc;
66733 int rc = SQLITE_OK;
66749 rc = sqlite3VtabSync(db, p);
66757 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
66763 rc = sqlite3PagerExclusiveLock(sqlite3BtreePager(pBt));
66767 if( rc!=SQLITE_OK ){
66768 return rc;
66773 rc = db->xCommitCallback(db->pCommitArg);
66774 if( rc ){
66791 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
66794 rc = sqlite3BtreeCommitPhaseOne(pBt, 0);
66803 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
66806 rc = sqlite3BtreeCommitPhaseTwo(pBt, 0);
66809 if( rc==SQLITE_OK ){
66853 rc = sqlite3OsAccess(pVfs, zMaster, SQLITE_ACCESS_EXISTS, &res);
66854 }while( rc==SQLITE_OK && res );
66855 if( rc==SQLITE_OK ){
66857 rc = sqlite3OsOpenMalloc(pVfs, zMaster, &pMaster,
66862 if( rc!=SQLITE_OK ){
66864 return rc;
66884 rc = sqlite3OsWrite(pMaster, zFile, sqlite3Strlen30(zFile)+1, offset);
66886 if( rc!=SQLITE_OK ){
66890 return rc;
66900 && SQLITE_OK!=(rc = sqlite3OsSync(pMaster, SQLITE_SYNC_NORMAL))
66905 return rc;
66918 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
66921 rc = sqlite3BtreeCommitPhaseOne(pBt, zMaster);
66925 assert( rc!=SQLITE_BUSY );
66926 if( rc!=SQLITE_OK ){
66928 return rc;
66935 rc = sqlite3OsDelete(pVfs, zMaster, needSync);
66938 if( rc ){
66939 return rc;
66964 return rc;
67011 int rc = SQLITE_OK;
67036 if( rc==SQLITE_OK ){
67037 rc = rc2;
67044 if( rc==SQLITE_OK ){
67046 rc = sqlite3VtabSavepoint(db, SAVEPOINT_ROLLBACK, iSavepoint);
67048 if( rc==SQLITE_OK ){
67049 rc = sqlite3VtabSavepoint(db, SAVEPOINT_RELEASE, iSavepoint);
67061 return rc;
67080 p->rc = SQLITE_CONSTRAINT_FOREIGNKEY;
67103 int rc; /* Used to store transient return codes */
67123 p->rc = SQLITE_NOMEM;
67143 mrc = p->rc & 0xff;
67175 if( p->rc==SQLITE_OK ){
67189 if( p->rc==SQLITE_OK || (p->errorAction==OE_Fail && !isSpecialError) ){
67190 rc = sqlite3VdbeCheckFk(p, 1);
67191 if( rc!=SQLITE_OK ){
67196 rc = SQLITE_CONSTRAINT_FOREIGNKEY;
67202 rc = vdbeCommit(db, p);
67204 if( rc==SQLITE_BUSY && p->readOnly ){
67207 }else if( rc!=SQLITE_OK ){
67208 p->rc = rc;
67223 if( p->rc==SQLITE_OK || p->errorAction==OE_Fail ){
67242 rc = sqlite3VdbeCloseStatement(p, eStatementOp);
67243 if( rc ){
67244 if( p->rc==SQLITE_OK || (p->rc&0xff)==SQLITE_CONSTRAINT ){
67245 p->rc = rc;
67284 p->rc = SQLITE_NOMEM;
67296 return (p->rc==SQLITE_BUSY ? SQLITE_BUSY : SQLITE_OK);
67305 p->rc = SQLITE_OK;
67318 int rc = p->rc;
67326 db->errCode = rc;
67328 sqlite3Error(db, rc);
67330 return rc;
67339 if( sqlite3GlobalConfig.xSqllog && v->rc==SQLITE_OK && v->zSql && v->pc>=0 ){
67386 }else if( p->rc && p->expired ){
67391 sqlite3ErrorWithMsg(db, p->rc, p->zErrMsg ? "%s" : 0, p->zErrMsg);
67438 return p->rc & db->errMask;
67446 int rc = SQLITE_OK;
67448 rc = sqlite3VdbeReset(p);
67449 assert( (rc & p->db->errMask)==rc );
67452 return rc;
67552 int res, rc;
67558 rc = sqlite3BtreeMovetoUnpacked(p->pCursor, 0, p->movetoTarget, 0, &res);
67559 if( rc ) return rc;
67577 int isDifferentRow, rc;
67580 rc = sqlite3BtreeCursorRestore(p->pCursor, &isDifferentRow);
67583 return rc;
68058 int rc = 0;
68109 rc = sqlite3MemCompare(&mem1, &pPKey2->aMem[i], pKeyInfo->aColl[i]);
68110 if( rc!=0 ){
68113 rc = -rc; /* Invert the result for DESC sort order. */
68129 rc = pPKey2->default_rc;
68132 if( desiredResult==0 && rc==0 ) return 1;
68133 if( desiredResult<0 && rc<0 ) return 1;
68134 if( desiredResult>0 && rc>0 ) return 1;
68194 int rc;
68207 rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2);
68211 return rc;
68386 int rc = 0; /* Return value */
68426 rc = +1;
68428 rc = -1;
68433 rc = -1;
68435 rc = +1;
68441 rc = -1;
68443 rc = +1;
68452 rc = +1;
68454 rc = -1;
68465 rc = -1;
68467 rc = +1;
68477 rc = -1;
68479 rc = +1;
68492 rc = vdbeCompareMemString(
68497 rc = memcmp(&aKey1[d1], pRhs->z, nCmp);
68498 if( rc==0 ) rc = mem1.n - pRhs->n;
68508 rc = -1;
68518 rc = memcmp(&aKey1[d1], pRhs->z, nCmp);
68519 if( rc==0 ) rc = nStr - pRhs->n;
68527 rc = (serial_type!=0);
68530 if( rc!=0 ){
68532 rc = -rc;
68534 assert( vdbeRecordCompareDebug(nKey1, pKey1, pPKey2, rc) );
68536 return rc;
68775 int rc;
68787 VVA_ONLY(rc =) sqlite3BtreeKeySize(pCur, &nCellKey);
68788 assert( rc==SQLITE_OK ); /* pCur is always valid so KeySize cannot fail */
68793 rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, 1, &m);
68794 if( rc ){
68795 return rc;
68858 int rc;
68863 VVA_ONLY(rc =) sqlite3BtreeKeySize(pCur, &nCellKey);
68864 assert( rc==SQLITE_OK ); /* pCur is always valid so KeySize cannot fail */
68872 rc = sqlite3VdbeMemFromBtree(pC->pCursor, 0, (u32)nCellKey, 1, &m);
68873 if( rc ){
68874 return rc;
69041 int rc;
69045 rc = SQLITE_OK;
69051 rc = sqlite3VdbeFinalize(v);
69052 rc = sqlite3ApiExit(db, rc);
69055 return rc;
69067 int rc;
69069 rc = SQLITE_OK;
69073 rc = sqlite3VdbeReset(v);
69075 assert( (rc & (v->db->errMask))==rc );
69076 rc = sqlite3ApiExit(v->db, rc);
69079 return rc;
69087 int rc = SQLITE_OK;
69101 return rc;
69379 int rc = SQLITE_OK;
69389 if( db->xWalCallback && nEntry>0 && rc==SQLITE_OK ){
69390 rc = db->xWalCallback(db->pWalArg, db, db->aDb[i].zName, nEntry);
69395 return rc;
69409 int rc;
69430 if( (rc = p->rc&0xff)==SQLITE_BUSY || rc==SQLITE_LOCKED ){
69443 p->rc = SQLITE_NOMEM;
69448 p->rc = SQLITE_SCHEMA;
69449 rc = SQLITE_ERROR;
69481 rc = sqlite3VdbeList(p);
69486 rc = sqlite3VdbeExec(p);
69493 if( rc!=SQLITE_ROW && db->xProfile && !db->init.busy && p->zSql ){
69500 if( rc==SQLITE_DONE ){
69501 assert( p->rc==SQLITE_OK );
69502 p->rc = doWalCallbacks(db);
69503 if( p->rc!=SQLITE_OK ){
69504 rc = SQLITE_ERROR;
69508 db->errCode = rc;
69509 if( SQLITE_NOMEM==sqlite3ApiExit(p->db, p->rc) ){
69510 p->rc = SQLITE_NOMEM;
69520 assert( rc==SQLITE_ROW || rc==SQLITE_DONE || rc==SQLITE_ERROR
69521 || rc==SQLITE_BUSY || rc==SQLITE_MISUSE
69523 assert( (p->rc!=SQLITE_ROW && p->rc!=SQLITE_DONE) || p->rc==p->rcApp );
69524 if( p->isPrepareV2 && rc!=SQLITE_ROW && rc!=SQLITE_DONE ){
69529 rc = sqlite3VdbeTransferError(p);
69531 return (rc&db->errMask);
69540 int rc = SQLITE_OK; /* Result from sqlite3Step() */
69552 while( (rc = sqlite3Step(v))==SQLITE_SCHEMA
69555 rc2 = rc = sqlite3Reprepare(v);
69556 if( rc!=SQLITE_OK) break;
69574 v->rc = rc2;
69577 v->rc = rc = SQLITE_NOMEM;
69580 rc = sqlite3ApiExit(db, rc);
69582 return rc;
69618 int rc;
69627 rc = sqlite3OsCurrentTimeInt64(p->pOut->db->pVfs, piTime);
69628 if( rc ) *piTime = 0;
69883 p->rc = sqlite3ApiExit(p->db, p->rc);
70169 int rc;
70171 rc = vdbeUnbind(p, i);
70172 if( rc==SQLITE_OK ){
70175 rc = sqlite3VdbeMemSetStr(pVar, zData, nData, encoding, xDel);
70176 if( rc==SQLITE_OK && encoding!=0 ){
70177 rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db));
70179 sqlite3Error(p->db, rc);
70180 rc = sqlite3ApiExit(p->db, rc);
70186 return rc;
70217 int rc;
70219 rc = vdbeUnbind(p, i);
70220 if( rc==SQLITE_OK ){
70224 return rc;
70230 int rc;
70232 rc = vdbeUnbind(p, i);
70233 if( rc==SQLITE_OK ){
70237 return rc;
70240 int rc;
70242 rc = vdbeUnbind(p, i);
70243 if( rc==SQLITE_OK ){
70246 return rc;
70285 int rc;
70288 rc = sqlite3_bind_int64(pStmt, i, pValue->u.i);
70292 rc = sqlite3_bind_double(pStmt, i, pValue->u.r);
70297 rc = sqlite3_bind_zeroblob(pStmt, i, pValue->u.nZero);
70299 rc = sqlite3_bind_blob(pStmt, i, pValue->z, pValue->n,SQLITE_TRANSIENT);
70304 rc = bindText(pStmt,i, pValue->z, pValue->n, SQLITE_TRANSIENT,
70309 rc = sqlite3_bind_null(pStmt, i);
70313 return rc;
70316 int rc;
70318 rc = vdbeUnbind(p, i);
70319 if( rc==SQLITE_OK ){
70323 return rc;
71378 int rc = SQLITE_OK; /* Value to return */
71401 if( p->rc==SQLITE_NOMEM ){
71406 assert( p->rc==SQLITE_OK || p->rc==SQLITE_BUSY );
71408 p->rc = SQLITE_OK;
71453 for(pOp=&aOp[p->pc]; rc==SQLITE_OK; pOp++){
71600 rc = SQLITE_INTERRUPT;
71784 p->rc = pOp->p1;
71787 if( p->rc ){
71812 rc = sqlite3VdbeHalt(p);
71813 assert( rc==SQLITE_BUSY || rc==SQLITE_OK || rc==SQLITE_ERROR );
71814 if( rc==SQLITE_BUSY ){
71815 p->rc = rc = SQLITE_BUSY;
71817 assert( rc==SQLITE_OK || (p->rc&0xff)==SQLITE_CONSTRAINT );
71818 assert( rc==SQLITE_OK || db->nDeferredCons>0 || db->nDeferredImmCons>0 );
71819 rc = p->rc ? SQLITE_ERROR : SQLITE_DONE;
71880 rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC);
71881 if( rc==SQLITE_TOOBIG ) goto too_big;
72128 rc = SQLITE_INTERRUPT;
72136 if( SQLITE_OK!=(rc = sqlite3VdbeCheckFk(p, 0)) ){
72158 rc = sqlite3VdbeCloseStatement(p, SAVEPOINT_RELEASE);
72159 if( NEVER(rc!=SQLITE_OK) ){
72184 rc = SQLITE_ROW;
72441 rc = ctx.isError;
72569 rc = SQLITE_MISMATCH;
72624 rc = ExpandBlob(pIn1);
73166 rc = sqlite3VdbeCursorMoveto(pC);
73167 if( rc ) goto abort_due_to_error;
73185 VVA_ONLY(rc =) sqlite3BtreeKeySize(pCrsr, &payloadSize64);
73186 assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */
73195 VVA_ONLY(rc =) sqlite3BtreeDataSize(pCrsr, &pC->payloadSize);
73196 assert( rc==SQLITE_OK ); /* DataSize() cannot fail */
73224 rc = SQLITE_CORRUPT_BKPT;
73257 rc = sqlite3VdbeMemFromBtree(pCrsr, 0, aOffset[0],
73259 if( rc!=SQLITE_OK ){
73308 rc = SQLITE_CORRUPT_BKPT;
73332 assert( rc==SQLITE_OK );
73356 rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable,
73358 if( rc!=SQLITE_OK ){
73587 rc = sqlite3BtreeCount(pCrsr, &nEntry);
73629 rc = SQLITE_BUSY;
73639 rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN,
73641 if( rc!=SQLITE_OK ) goto abort_due_to_error;
73680 rc = SQLITE_ERROR;
73688 rc = SQLITE_BUSY;
73697 if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){
73704 p->rc = rc = SQLITE_BUSY;
73708 rc = p->rc;
73715 rc = sqlite3BtreeTripAllCursors(db->aDb[ii].pBt,
73718 if( rc!=SQLITE_OK ) goto abort_due_to_error;
73724 rc = sqlite3BtreeSavepoint(db->aDb[ii].pBt, p1, iSavepoint);
73725 if( rc!=SQLITE_OK ){
73762 rc = sqlite3VtabSavepoint(db, p1, iSavepoint);
73763 if( rc!=SQLITE_OK ) goto abort_due_to_error;
73801 rc = SQLITE_BUSY;
73810 rc = SQLITE_BUSY;
73816 }else if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){
73823 p->rc = rc = SQLITE_BUSY;
73829 if( p->rc==SQLITE_OK ){
73830 rc = SQLITE_DONE;
73832 rc = SQLITE_ERROR;
73841 rc = SQLITE_ERROR;
73890 rc = SQLITE_READONLY;
73896 rc = sqlite3BtreeBeginTrans(pBt, pOp->p2);
73897 if( rc==SQLITE_BUSY ){
73899 p->rc = rc = SQLITE_BUSY;
73902 if( rc!=SQLITE_OK ){
73916 rc = sqlite3VtabSavepoint(db, SAVEPOINT_BEGIN, p->iStatement-1);
73917 if( rc==SQLITE_OK ){
73918 rc = sqlite3BtreeBeginStmt(pBt, p->iStatement);
73960 rc = SQLITE_SCHEMA;
74018 rc = sqlite3BtreeUpdateMeta(pDb->pBt, pOp->p2, (int)pIn3->u.i);
74130 rc = SQLITE_ABORT_ROLLBACK;
74165 rc = SQLITE_CORRUPT_BKPT;
74185 rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->pCursor);
74244 rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBt,
74246 if( rc==SQLITE_OK ){
74247 rc = sqlite3BtreeBeginTrans(pCx->pBt, 1);
74249 if( rc==SQLITE_OK ){
74258 rc = sqlite3BtreeCreateTable(pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5);
74259 if( rc==SQLITE_OK ){
74264 rc = sqlite3BtreeCursor(pCx->pBt, pgno, 1, pKeyInfo, pCx->pCursor);
74268 rc = sqlite3BtreeCursor(pCx->pBt, MASTER_ROOT, 1, 0, pCx->pCursor);
74296 rc = sqlite3VdbeSorterInit(db, pOp->p3, pCx);
74517 rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)iKey, 0, &res);
74519 if( rc!=SQLITE_OK ){
74547 rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, &r, 0, 0, &res);
74548 if( rc!=SQLITE_OK ){
74560 rc = sqlite3BtreeNext(pC->pCursor, &res);
74561 if( rc!=SQLITE_OK ) goto abort_due_to_error;
74569 rc = sqlite3BtreePrevious(pC->pCursor, &res);
74570 if( rc!=SQLITE_OK ) goto abort_due_to_error;
74733 rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, pIdxKey, 0, 0, &res);
74735 if( rc!=SQLITE_OK ){
74791 rc = sqlite3BtreeMovetoUnpacked(pCrsr, 0, iKey, 0, &res);
74877 rc = sqlite3BtreeLast(pC->pCursor, &res);
74878 if( rc!=SQLITE_OK ){
74885 rc = sqlite3BtreeKeySize(pC->pCursor, &v);
74886 assert( rc==SQLITE_OK ); /* Cannot fail following BtreeLast() */
74916 rc = SQLITE_FULL; /* IMP: R-12275-61338 */
74936 }while( ((rc = sqlite3BtreeMovetoUnpacked(pC->pCursor, 0, (u64)v,
74940 if( rc==SQLITE_OK && res==0 ){
74941 rc = SQLITE_FULL; /* IMP: R-38219-53002 */
75046 rc = sqlite3BtreeInsert(pC->pCursor, 0, iKey,
75054 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){
75105 rc = sqlite3BtreeDelete(pC->pCursor);
75109 if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z && pC->isTable ){
75156 rc = sqlite3VdbeSorterCompare(pC, pIn3, nKeyCol, &res);
75180 rc = sqlite3VdbeSorterRowkey(pC, pOut);
75181 assert( rc!=SQLITE_OK || (pOut->flags & MEM_Blob) );
75241 rc = sqlite3VdbeCursorMoveto(pC);
75242 if( rc!=SQLITE_OK ) goto abort_due_to_error;
75247 VVA_ONLY(rc =) sqlite3BtreeKeySize(pCrsr, &n64);
75248 assert( rc==SQLITE_OK ); /* True because of CursorMoveto() call above */
75254 VVA_ONLY(rc =) sqlite3BtreeDataSize(pCrsr, &n);
75255 assert( rc==SQLITE_OK ); /* DataSize() cannot fail */
75267 rc = sqlite3BtreeKey(pCrsr, 0, n, pOut->z);
75269 rc = sqlite3BtreeData(pCrsr, 0, n, pOut->z);
75308 rc = pModule->xRowid(pC->pVtabCursor, &v);
75313 rc = sqlite3VdbeCursorRestore(pC);
75314 if( rc ) goto abort_due_to_error;
75319 rc = sqlite3BtreeKeySize(pC->pCursor, &v);
75320 assert( rc==SQLITE_OK ); /* Always so because of CursorRestore() above */
75369 rc = sqlite3BtreeLast(pCrsr, &res);
75432 rc = sqlite3VdbeSorterRewind(pC, &res);
75436 rc = sqlite3BtreeFirst(pCrsr, &res);
75517 rc = sqlite3VdbeSorterNext(db, pC, &res);
75548 rc = pOp->p4.xAdvance(pC->pCursor, &res);
75603 rc = ExpandBlob(pIn2);
75604 if( rc==SQLITE_OK ){
75606 rc = sqlite3VdbeSorterWrite(pC, pIn2);
75610 rc = sqlite3BtreeInsert(pCrsr, zKey, nKey, "", 0, 0, pOp->p3,
75648 rc = sqlite3BtreeMovetoUnpacked(pCrsr, &r, 0, 0, &res);
75649 if( rc==SQLITE_OK && res==0 ){
75650 rc = sqlite3BtreeDelete(pCrsr);
75685 rc = sqlite3VdbeCursorRestore(pC);
75686 if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error;
75690 rc = sqlite3VdbeIdxRowid(db, pCrsr, &rowid);
75691 if( rc!=SQLITE_OK ){
75774 rc = sqlite3VdbeIdxKeyCompare(db, pC, &r, &res);
75816 rc = SQLITE_LOCKED;
75822 rc = sqlite3BtreeDropTable(db->aDb[iDb].pBt, pOp->p1, &iMoved);
75826 if( rc==SQLITE_OK && iMoved!=0 ){
75861 rc = sqlite3BtreeClearTable(
75893 rc = sqlite3BtreeClearTableOfCursor(pC->pCursor);
75941 rc = sqlite3BtreeCreateTable(pDb->pBt, &pgno, flags);
75982 rc = SQLITE_NOMEM;
75986 initData.rc = SQLITE_OK;
75988 rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0);
75989 if( rc==SQLITE_OK ) rc = initData.rc;
75994 if( rc ) sqlite3ResetAllSchemasOfConnection(db);
75995 if( rc==SQLITE_NOMEM ){
76010 rc = sqlite3AnalysisLoad(db, pOp->p1);
76268 rc = SQLITE_ERROR;
76573 rc = ctx.isError;
76602 rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc);
76603 if( rc ){
76639 rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &aRes[1], &aRes[2]);
76640 if( rc==SQLITE_BUSY ){
76641 rc = SQLITE_OK;
76708 rc = SQLITE_ERROR;
76722 rc = sqlite3PagerCloseWal(pPager);
76723 if( rc==SQLITE_OK ){
76736 if( rc==SQLITE_OK ){
76737 rc = sqlite3BtreeSetVersion(pBt, (eNew==PAGER_JOURNALMODE_WAL ? 2 : 1));
76743 if( rc ){
76766 rc = sqlite3RunVacuum(&p->zErrMsg, db);
76785 rc = sqlite3BtreeIncrVacuum(pBt);
76786 VdbeBranchTaken(rc==SQLITE_DONE,2);
76787 if( rc==SQLITE_DONE ){
76788 rc = SQLITE_OK;
76837 rc = sqlite3BtreeLockTable(db->aDb[p1].pBt, pOp->p2, isWriteLock);
76838 if( (rc&0xFF)==SQLITE_LOCKED ){
76860 rc = sqlite3VtabBegin(db, pVTab);
76882 rc = sqlite3VdbeMemCopy(&sMem, &aMem[pOp->p2]);
76883 assert( rc==SQLITE_OK );
76887 rc = sqlite3VtabCallCreate(db, pOp->p1, zTab, &p->zErrMsg);
76902 rc = sqlite3VtabCallDestroy(db, pOp->p1, pOp->p4.z);
76926 rc = SQLITE_LOCKED;
76930 rc = pModule->xOpen(pVtab, &pVtabCursor);
76932 if( SQLITE_OK==rc ){
77005 rc = pModule->xFilter(pVtabCursor, iQuery, pOp->p4.z, nArg, apArg);
77007 if( rc==SQLITE_OK ){
77046 rc = pModule->xColumn(pCur->pVtabCursor, &sContext, pOp->p2);
77049 rc = sContext.isError;
77091 rc = pModule->xNext(pCur->pVtabCursor);
77093 if( rc==SQLITE_OK ){
77126 rc = sqlite3VdbeChangeEncoding(pName, SQLITE_UTF8);
77127 if( rc==SQLITE_OK ){
77128 rc = pVtab->pModule->xRename(pVtab, pName->z);
77179 rc = SQLITE_LOCKED;
77196 rc = pModule->xUpdate(pVtab, nArg, apArg, &rowid);
77199 if( rc==SQLITE_OK && pOp->p1 ){
77203 if( (rc&0xff)==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){
77205 rc = SQLITE_OK;
77346 if( rc!=0 ) printf("rc=%d\n",rc);
77362 assert( rc );
77363 p->rc = rc;
77365 sqlite3_log(rc, "statement aborts at %d: [%s] %s",
77368 if( rc==SQLITE_IOERR_NOMEM ) db->mallocFailed = 1;
77369 rc = SQLITE_ERROR;
77382 return rc;
77389 rc = SQLITE_TOOBIG;
77397 rc = SQLITE_NOMEM;
77405 if( db->mallocFailed ) rc = SQLITE_NOMEM;
77406 if( rc!=SQLITE_IOERR_NOMEM ){
77407 sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(rc));
77416 rc = SQLITE_INTERRUPT;
77417 p->rc = rc;
77418 sqlite3SetString(&p->zErrMsg, db, "%s", sqlite3ErrStr(rc));
77476 int rc; /* Error code */
77487 rc = sqlite3_step(p->pStmt);
77488 if( rc==SQLITE_ROW ){
77495 rc = SQLITE_ERROR;
77506 if( rc==SQLITE_ROW ){
77507 rc = SQLITE_OK;
77509 rc = sqlite3_finalize(p->pStmt);
77511 if( rc==SQLITE_OK ){
77513 rc = SQLITE_ERROR;
77519 assert( rc!=SQLITE_OK || zErr==0 );
77520 assert( rc!=SQLITE_ROW && rc!=SQLITE_DONE );
77523 return rc;
77572 int rc = SQLITE_OK;
77626 rc = SQLITE_ERROR;
77640 rc = SQLITE_ERROR;
77680 rc = SQLITE_ERROR;
77743 rc = blobSeekToRow(pBlob, iRow, &zErr);
77744 } while( (++nAttempt)<SQLITE_MAX_SCHEMA_RETRY && rc==SQLITE_SCHEMA );
77747 if( rc==SQLITE_OK && db->mallocFailed==0 ){
77753 sqlite3ErrorWithMsg(db, rc, (zErr ? "%s" : 0), zErr);
77757 rc = sqlite3ApiExit(db, rc);
77759 return rc;
77768 int rc;
77774 rc = sqlite3_finalize(p->pStmt);
77778 rc = SQLITE_OK;
77780 return rc;
77793 int rc;
77805 rc = SQLITE_ERROR;
77810 rc = SQLITE_ABORT;
77817 rc = xCall(p->pCsr, iOffset+p->iOffset, n, z);
77819 if( rc==SQLITE_ABORT ){
77823 v->rc = rc;
77826 sqlite3Error(db, rc);
77827 rc = sqlite3ApiExit(db, rc);
77829 return rc;
77868 int rc;
77880 rc = SQLITE_ABORT;
77883 rc = blobSeekToRow(p, iRow, &zErr);
77884 if( rc!=SQLITE_OK ){
77885 sqlite3ErrorWithMsg(db, rc, (zErr ? "%s" : 0), zErr);
77888 assert( rc!=SQLITE_SCHEMA );
77891 rc = sqlite3ApiExit(db, rc);
77892 assert( rc==SQLITE_OK || p->pStmt==0 );
77894 return rc;
78406 int rc; /* sqlite3OsRead() return code */
78417 rc = sqlite3OsRead(p->pFd, p->aBuffer, nRead, p->iReadOff);
78418 assert( rc!=SQLITE_IOERR_SHORT_READ );
78419 if( rc!=SQLITE_OK ) return rc;
78455 int rc; /* vdbePmaReadBlob() return code */
78461 rc = vdbePmaReadBlob(p, nCopy, &aNext);
78462 if( rc!=SQLITE_OK ) return rc;
78489 int i = 0, rc;
78491 rc = vdbePmaReadBlob(p, 1, &a);
78492 if( rc ) return rc;
78512 int rc = SQLITE_OK;
78516 rc = sqlite3OsFetch(pFd, 0, (int)pFile->iEof, (void**)pp);
78517 testcase( rc!=SQLITE_OK );
78520 return rc;
78534 int rc = SQLITE_OK;
78547 rc = vdbeSorterMapFile(pTask, pFile, &pReadr->aMap);
78548 if( rc==SQLITE_OK && pReadr->aMap==0 ){
78553 if( pReadr->aBuffer==0 ) rc = SQLITE_NOMEM;
78556 if( rc==SQLITE_OK && iBuf ){
78561 rc = sqlite3OsRead(
78564 testcase( rc!=SQLITE_OK );
78568 return rc;
78576 int rc = SQLITE_OK; /* Return Code */
78584 rc = vdbeIncrSwap(pIncr);
78585 if( rc==SQLITE_OK && pIncr->bEof==0 ){
78586 rc = vdbePmaReaderSeek(
78596 testcase( rc!=SQLITE_OK );
78597 return rc;
78601 if( rc==SQLITE_OK ){
78602 rc = vdbePmaReadVarint(pReadr, &nRec);
78604 if( rc==SQLITE_OK ){
78606 rc = vdbePmaReadBlob(pReadr, (int)nRec, &pReadr->aKey);
78607 testcase( rc!=SQLITE_OK );
78610 return rc;
78629 int rc;
78636 rc = vdbePmaReaderSeek(pTask, pReadr, pFile, iStart);
78637 if( rc==SQLITE_OK ){
78639 rc = vdbePmaReadVarint(pReadr, &nByte);
78644 if( rc==SQLITE_OK ){
78645 rc = vdbePmaReaderNext(pReadr);
78647 return rc;
78837 int rc = SQLITE_OK;
78868 rc = SQLITE_NOMEM;
78902 if( !pSorter->list.aMemory ) rc = SQLITE_NOMEM;
78913 return rc;
78999 int rc = SQLITE_OK;
79008 rc = SQLITE_PTR_TO_INT(pRet);
79013 return rc;
79033 int rc = rcin;
79046 if( rc==SQLITE_OK ) rc = rc2;
79048 return rc;
79193 int rc;
79195 rc = sqlite3OsOpenMalloc(db->pVfs, 0, ppFd,
79198 SQLITE_OPEN_EXCLUSIVE | SQLITE_OPEN_DELETEONCLOSE, &rc
79200 if( rc==SQLITE_OK ){
79207 return rc;
79287 int rc;
79289 rc = vdbeSortAllocUnpacked(pTask);
79290 if( rc!=SQLITE_OK ) return rc;
79394 int rc;
79403 rc = p->eFWErr;
79405 return rc;
79435 int rc = SQLITE_OK; /* Return code */
79450 rc = vdbeSorterOpenTempFile(db, 0, &pTask->file.pFd);
79451 assert( rc!=SQLITE_OK || pTask->file.pFd );
79457 if( rc==SQLITE_OK ){
79462 if( rc==SQLITE_OK ){
79463 rc = vdbeSorterSort(pTask, pList);
79466 if( rc==SQLITE_OK ){
79481 rc = vdbePmaWriterFinish(&writer, &pTask->file.iEof);
79485 assert( rc!=SQLITE_OK || pList->pList==0 );
79486 assert( rc!=SQLITE_OK || pTask->file.iEof==iSz );
79487 return rc;
79501 int rc;
79506 rc = vdbePmaReaderNext(&pMerger->aReadr[iPrev]);
79509 if( rc==SQLITE_OK ){
79561 return (rc==SQLITE_OK ? pTask->pUnpacked->errCode : rc);
79570 int rc; /* Return code */
79572 rc = vdbeSorterListToPMA(pTask, &pTask->list);
79574 return SQLITE_INT_TO_PTR(rc);
79587 int rc = SQLITE_OK;
79608 rc = vdbeSorterJoinThread(pTask);
79610 if( rc!=SQLITE_OK || pTask->pThread==0 ) break;
79613 if( rc==SQLITE_OK ){
79616 rc = vdbeSorterListToPMA(&pSorter->aTask[nWorker], &pSorter->list);
79638 rc = vdbeSorterCreateThread(pTask, vdbeSorterFlushThread, pCtx);
79642 return rc;
79654 int rc = SQLITE_OK; /* Return Code */
79701 rc = vdbeSorterFlushPMA(pSorter);
79704 assert( rc!=SQLITE_OK || pSorter->list.pList==0 );
79747 return rc;
79756 int rc = SQLITE_OK;
79768 while( rc==SQLITE_OK ){
79783 rc = vdbeMergeEngineStep(pIncr->pMerger, &dummy);
79787 if( rc==SQLITE_OK ) rc = rc2;
79789 return rc;
79832 int rc = SQLITE_OK;
79836 rc = vdbeSorterJoinThread(pIncr->pTask);
79838 if( rc==SQLITE_OK ){
79844 if( rc==SQLITE_OK ){
79848 rc = vdbeIncrBgPopulate(pIncr);
79854 rc = vdbeIncrPopulate(pIncr);
79861 return rc;
79875 int rc = SQLITE_OK;
79885 rc = SQLITE_NOMEM;
79887 return rc;
79994 int rc = SQLITE_OK; /* Return code */
80014 rc = vdbePmaReaderNext(&pMerger->aReadr[nTree-i-1]);
80016 rc = vdbePmaReaderIncrInit(&pMerger->aReadr[i], INCRINIT_NORMAL);
80018 if( rc!=SQLITE_OK ) return rc;
80061 int rc = SQLITE_OK;
80069 rc = vdbeMergeEngineInit(pTask, pIncr->pMerger, eMode);
80074 if( rc==SQLITE_OK ){
80078 rc = vdbeSorterOpenTempFile(db, mxSz, &pIncr->aFile[0].pFd);
80079 if( rc==SQLITE_OK ){
80080 rc = vdbeSorterOpenTempFile(db, mxSz, &pIncr->aFile[1].pFd);
80087 rc = vdbeSorterOpenTempFile(db, pTask->file2.iEof, &pTask->file2.pFd);
80090 if( rc==SQLITE_OK ){
80099 if( rc==SQLITE_OK && pIncr->bUseThread ){
80111 rc = vdbeIncrPopulate(pIncr);
80115 if( rc==SQLITE_OK && (SQLITE_MAX_WORKER_THREADS==0 || eMode!=INCRINIT_TASK) ){
80116 rc = vdbePmaReaderNext(pReadr);
80119 return rc;
80150 int rc = SQLITE_OK; /* Return code */
80156 rc = vdbeSorterCreateThread(pIncr->pTask, vdbePmaReaderBgIncrInit, pCtx);
80160 rc = vdbePmaReaderIncrMergeInit(pReadr, eMode);
80163 return rc;
80187 int rc = SQLITE_OK;
80190 if( pNew==0 ) rc = SQLITE_NOMEM;
80192 for(i=0; i<nPMA && rc==SQLITE_OK; i++){
80195 rc = vdbePmaReaderInit(pTask, &pTask->file, iOff, pReadr, &nDummy);
80199 if( rc!=SQLITE_OK ){
80204 return rc;
80242 int rc = SQLITE_OK;
80248 rc = vdbeIncrMergerNew(pTask, pLeaf, &pIncr);
80254 for(i=1; i<nDepth && rc==SQLITE_OK; i++){
80261 rc = SQLITE_NOMEM;
80263 rc = vdbeIncrMergerNew(pTask, pNew, &pReadr->pIncr);
80266 if( rc==SQLITE_OK ){
80272 if( rc==SQLITE_OK ){
80277 return rc;
80296 int rc = SQLITE_OK;
80306 if( pMain==0 ) rc = SQLITE_NOMEM;
80310 for(iTask=0; rc==SQLITE_OK && iTask<pSorter->nTask; iTask++){
80319 rc = vdbeMergeEngineLevel0(pTask, pTask->nPMA, &iReadOff, &pRoot);
80324 if( pRoot==0 ) rc = SQLITE_NOMEM;
80325 for(i=0; i<pTask->nPMA && rc==SQLITE_OK; i += SORTER_MAX_MERGE_COUNT){
80330 rc = vdbeMergeEngineLevel0(pTask, nReader, &iReadOff, &pMerger);
80331 if( rc==SQLITE_OK ){
80332 rc = vdbeSorterAddToTree(pTask, nDepth, iSeq++, pRoot, pMerger);
80337 if( rc==SQLITE_OK ){
80340 rc = vdbeIncrMergerNew(pTask, pRoot, &pMain->aReadr[iTask].pIncr);
80353 if( rc!=SQLITE_OK ){
80358 return rc;
80371 int rc; /* Return code */
80383 rc = vdbeSorterMergeTreeBuild(pSorter, &pMain);
80384 if( rc==SQLITE_OK ){
80391 rc = vdbeSortAllocUnpacked(pLast);
80392 if( rc==SQLITE_OK ){
80395 if( pReadr==0 ) rc = SQLITE_NOMEM;
80397 if( rc==SQLITE_OK ){
80398 rc = vdbeIncrMergerNew(pLast, pMain, &pReadr->pIncr);
80399 if( rc==SQLITE_OK ){
80408 for(iTask=0; rc==SQLITE_OK && iTask<pSorter->nTask; iTask++){
80423 rc = vdbePmaReaderIncrInit(p, INCRINIT_TASK);
80428 if( rc==SQLITE_OK ){
80429 rc = vdbePmaReaderIncrMergeInit(pReadr, INCRINIT_ROOT);
80434 rc = vdbeMergeEngineInit(pTask0, pMain, INCRINIT_NORMAL);
80440 if( rc!=SQLITE_OK ){
80443 return rc;
80454 int rc = SQLITE_OK; /* Return code */
80464 rc = vdbeSorterSort(&pSorter->aTask[0], &pSorter->list);
80468 return rc;
80476 rc = vdbeSorterFlushPMA(pSorter);
80479 rc = vdbeSorterJoinAll(pSorter, rc);
80486 if( rc==SQLITE_OK ){
80487 rc = vdbeSorterSetupMerge(pSorter);
80492 return rc;
80500 int rc; /* Return code */
80509 rc = vdbePmaReaderNext(pSorter->pReader);
80516 rc = vdbeMergeEngineStep(pSorter->pMerger, pbEof);
80524 rc = SQLITE_OK;
80526 return rc;
80677 int rc = SQLITE_OK;
80680 rc = sqlite3OsOpen(p->pVfs, p->zJournal, pReal, p->flags, 0);
80681 if( rc==SQLITE_OK ){
80685 rc = sqlite3OsWrite(p->pReal, p->zBuf, p->iSize, 0);
80687 if( rc!=SQLITE_OK ){
80697 return rc;
80721 int rc = SQLITE_OK;
80724 rc = sqlite3OsRead(p->pReal, zBuf, iAmt, iOfst);
80726 rc = SQLITE_IOERR_SHORT_READ;
80730 return rc;
80742 int rc = SQLITE_OK;
80745 rc = createFile(p);
80747 if( rc==SQLITE_OK ){
80749 rc = sqlite3OsWrite(p->pReal, zBuf, iAmt, iOfst);
80757 return rc;
80764 int rc = SQLITE_OK;
80767 rc = sqlite3OsTruncate(p->pReal, size);
80771 return rc;
80778 int rc;
80781 rc = sqlite3OsSync(p->pReal, flags);
80783 rc = SQLITE_OK;
80785 return rc;
80792 int rc = SQLITE_OK;
80795 rc = sqlite3OsFileSize(p->pReal, pSize);
80799 return rc;
81180 int rc;
81184 rc = pWalker->xExprCallback(pWalker, pExpr);
81185 if( rc==WRC_Continue
81195 return rc & WRC_Abort;
81270 int rc;
81274 rc = WRC_Continue;
81278 rc = pWalker->xSelectCallback(pWalker, p);
81279 if( rc ) break;
81293 return rc & WRC_Abort;
82164 int rc; /* Return code from subprocedures */
82181 rc = sqlite3ResolveExprNames(&nc, pE);
82183 if( rc ) return 0;
83123 int rc = SQLITE_OK;
83129 rc = SQLITE_ERROR;
83131 return rc;
84212 int rc = 0;
84217 || sqlite3GetInt32(p->u.zToken, &rc)==0 );
84225 rc = sqlite3ExprIsInteger(p->pLeft, pValue);
84233 rc = 1;
84239 return rc;
87921 int rc;
87922 rc = sqlite3ValueFromExpr(db, pDflt, SQLITE_UTF8, SQLITE_AFF_NONE, &pVal);
87923 assert( rc==SQLITE_OK || rc==SQLITE_NOMEM );
87924 if( rc!=SQLITE_OK ){
89732 int rc; /* Result codes from subroutines */
89743 rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0);
89745 if( rc ) return rc;
89792 rc = sqlite3_finalize(pStmt);
89793 if( rc ) return rc;
89799 rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0);
89801 if( rc ) return rc;
89840 rc = sqlite3_finalize(pStmt);
89841 if( rc==SQLITE_OK ) initAvgEq(pPrevIdx);
89842 return rc;
89850 int rc = SQLITE_OK; /* Result codes from subroutines */
89854 rc = loadStatTbl(db, 0,
89861 if( rc==SQLITE_OK && sqlite3FindTable(db, "sqlite_stat3", zDb) ){
89862 rc = loadStatTbl(db, 1,
89869 return rc;
89897 int rc;
89924 rc = SQLITE_NOMEM;
89926 rc = sqlite3_exec(db, zSql, analysisLoader, &sInfo, 0);
89933 if( rc==SQLITE_OK && OptimizationEnabled(db, SQLITE_Stat34) ){
89936 rc = loadStat4(db, sInfo.zDatabase);
89946 if( rc==SQLITE_NOMEM ){
89949 return rc;
89992 int rc = SQLITE_OK;
89995 rc = sqlite3ResolveExprNames(pName, pExpr);
90000 return rc;
90020 int rc = 0;
90083 rc = sqlite3ParseUri(db->pVfs->zName, zFile, &flags, &pVfs, &zPath, &zErr);
90084 if( rc!=SQLITE_OK ){
90085 if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
90092 rc = sqlite3BtreeOpen(pVfs, zPath, db, &aNew->pBt, 0, flags);
90095 if( rc==SQLITE_CONSTRAINT ){
90096 rc = SQLITE_ERROR;
90098 }else if( rc==SQLITE_OK ){
90102 rc = SQLITE_NOMEM;
90106 rc = SQLITE_ERROR;
90120 if( rc==SQLITE_OK && aNew->zName==0 ){
90121 rc = SQLITE_NOMEM;
90126 if( rc==SQLITE_OK ){
90136 rc = SQLITE_ERROR;
90143 rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey);
90150 rc = sqlite3CodecAttach(db, db->nDb-1, zKey, nKey);
90162 if( rc==SQLITE_OK ){
90164 rc = sqlite3Init(db, &zErrDyn);
90168 if( rc==SQLITE_OK ){
90170 rc = sqlite3UserAuthCheckLogin(db, zName, &newAuth);
90172 rc = SQLITE_AUTH_USER;
90176 if( rc ){
90186 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
90204 if( rc ) sqlite3_result_error_code(context, rc);
90276 int rc;
90286 SQLITE_OK!=(rc = resolveAttachExpr(&sName, pFilename)) ||
90287 SQLITE_OK!=(rc = resolveAttachExpr(&sName, pDbname)) ||
90288 SQLITE_OK!=(rc = resolveAttachExpr(&sName, pKey))
90301 rc = sqlite3AuthCheck(pParse, type, zAuthArg, 0, 0);
90302 if(rc!=SQLITE_OK ){
90633 pParse->rc = SQLITE_ERROR;
90653 int rc; /* Auth callback return code */
90655 rc = db->xAuth(db->pAuthArg, SQLITE_READ, zTab,zCol,zDb,pParse->zAuthContext
90660 if( rc==SQLITE_DENY ){
90666 pParse->rc = SQLITE_AUTH;
90667 }else if( rc!=SQLITE_IGNORE && rc!=SQLITE_OK ){
90670 return rc;
90747 int rc;
90759 rc = db->xAuth(db->pAuthArg, code, zArg1, zArg2, zArg3, pParse->zAuthContext
90764 if( rc==SQLITE_DENY ){
90766 pParse->rc = SQLITE_AUTH;
90767 }else if( rc!=SQLITE_OK && rc!=SQLITE_IGNORE ){
90768 rc = SQLITE_DENY;
90771 return rc;
90950 if( pParse->rc==SQLITE_OK ) pParse->rc = SQLITE_ERROR;
90968 pParse->rc = SQLITE_AUTH_USER;
91040 pParse->rc = SQLITE_DONE;
91043 pParse->rc = SQLITE_ERROR;
91747 pParse->rc = SQLITE_NOMEM;
94678 int rc;
94687 rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pBt, 0, flags);
94688 if( rc!=SQLITE_OK ){
94691 pParse->rc = rc;
94855 int rc;
94859 rc = SQLITE_CONSTRAINT_PRIMARYKEY;
94862 rc = SQLITE_CONSTRAINT_ROWID;
94864 sqlite3HaltConstraint(pParse, rc, onError, zMsg, P4_DYNAMIC,
98032 int rc = sqlite3_overload_function(db, "MATCH", 2);
98033 assert( rc==SQLITE_NOMEM || rc==SQLITE_OK );
98034 if( rc==SQLITE_NOMEM ){
100272 int rc; /* Result code */
100280 rc = sqlite3Select(pParse, pSelect, &dest);
100282 if( rc || db->mallocFailed || pParse->nErr ) goto insert_cleanup;
101726 int rc = SQLITE_OK; /* Return code */
101737 while( rc==SQLITE_OK && zSql[0] ){
101742 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zLeftover);
101743 assert( rc==SQLITE_OK || pStmt==0 );
101744 if( rc!=SQLITE_OK ){
101758 rc = sqlite3_step(pStmt);
101761 if( xCallback && (SQLITE_ROW==rc ||
101762 (SQLITE_DONE==rc && !callbackIsInit
101777 if( rc==SQLITE_ROW ){
101791 rc = SQLITE_ABORT;
101799 if( rc!=SQLITE_ROW ){
101800 rc = sqlite3VdbeFinalize((Vdbe *)pStmt);
101816 rc = sqlite3ApiExit(db, rc);
101817 if( rc!=SQLITE_OK && pzErrMsg ){
101823 rc = SQLITE_NOMEM;
101830 assert( (rc&db->errMask)==rc );
101832 return rc;
102920 int rc;
102922 rc = sqlite3LoadExtension(db, zFile, zProc, pzErrMsg);
102923 rc = sqlite3ApiExit(db, rc);
102925 return rc;
103003 int rc = SQLITE_OK;
103005 rc = sqlite3_initialize();
103006 if( rc ){
103007 return rc;
103025 rc = SQLITE_NOMEM;
103033 assert( (rc&0xff)==rc );
103034 return rc;
103095 int rc;
103118 if( xInit && (rc = xInit(db, &zErrmsg, &sqlite3Apis))!=0 ){
103119 sqlite3ErrorWithMsg(db, rc,
103870 int rc; /* return value form SQLITE_FCNTL_PRAGMA */
103927 rc = sqlite3_file_control(db, zDb, SQLITE_FCNTL_PRAGMA, (void*)aFcntl);
103928 if( rc==SQLITE_OK ){
103939 if( rc!=SQLITE_NOTFOUND ){
103945 pParse->rc = rc;
103954 rc = sqlite3_stricmp(zLeft, aPragmaNames[mid].zName);
103955 if( rc==0 ) break;
103956 if( rc<0 ){
104247 rc = sqlite3BtreeSetAutoVacuum(pBt, eAuto);
104248 if( rc==SQLITE_OK && (eAuto==1 || eAuto==2) ){
104353 rc = sqlite3_file_control(db, zDb, SQLITE_FCNTL_MMAP_SIZE, &sz);
104356 rc = SQLITE_OK;
104358 if( rc==SQLITE_OK ){
104360 }else if( rc!=SQLITE_NOTFOUND ){
104362 pParse->rc = rc;
104410 rc = sqlite3OsAccess(db->pVfs, zRight, SQLITE_ACCESS_READWRITE, &res);
104411 if( rc!=SQLITE_OK || res==0 ){
104460 rc = sqlite3OsAccess(db->pVfs, zRight, SQLITE_ACCESS_READWRITE, &res);
104461 if( rc!=SQLITE_OK || res==0 ){
105609 pData->rc = db->mallocFailed ? SQLITE_NOMEM : SQLITE_CORRUPT_BKPT;
105648 int rc;
105657 rc = db->errCode;
105658 assert( (rc&0xFF)==(rcp&0xFF) );
105660 if( SQLITE_OK!=rc ){
105664 pData->rc = rc;
105665 if( rc==SQLITE_NOMEM ){
105667 }else if( rc!=SQLITE_INTERRUPT && (rc&0xFF)!=SQLITE_LOCKED ){
105707 int rc;
105770 initData.rc = SQLITE_OK;
105773 if( initData.rc ){
105774 rc = initData.rc;
105797 rc = sqlite3BtreeBeginTrans(pDb->pBt, 0);
105798 if( rc!=SQLITE_OK ){
105799 sqlite3SetString(pzErrMsg, db, "%s", sqlite3ErrStr(rc));
105848 rc = SQLITE_ERROR;
105880 rc = SQLITE_ERROR;
105907 rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0);
105912 if( rc==SQLITE_OK ) rc = initData.rc;
105915 if( rc==SQLITE_OK ){
105921 rc = SQLITE_NOMEM;
105924 if( rc==SQLITE_OK || (db->flags&SQLITE_RecoveryMode)){
105934 rc = SQLITE_OK;
105948 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
105951 return rc;
105965 int i, rc;
105971 rc = SQLITE_OK;
105974 for(i=0; rc==SQLITE_OK && i<db->nDb; i++){
105976 rc = sqlite3InitOne(db, i, pzErrMsg);
105977 if( rc ){
105988 if( rc==SQLITE_OK && !DbHasProperty(db, 1, DB_SchemaLoaded) ){
105989 rc = sqlite3InitOne(db, 1, pzErrMsg);
105990 if( rc ){
105997 if( rc==SQLITE_OK && commit_internal ){
106001 return rc;
106009 int rc = SQLITE_OK;
106013 rc = sqlite3Init(db, &pParse->zErrMsg);
106015 if( rc!=SQLITE_OK ){
106016 pParse->rc = rc;
106019 return rc;
106031 int rc;
106045 rc = sqlite3BtreeBeginTrans(pBt, 0);
106046 if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
106049 if( rc!=SQLITE_OK ) return;
106060 pParse->rc = SQLITE_SCHEMA;
106127 int rc = SQLITE_OK; /* Result code */
106133 rc = SQLITE_NOMEM;
106168 rc = sqlite3BtreeSchemaLocked(pBt);
106169 if( rc ){
106171 sqlite3ErrorWithMsg(db, rc, "database schema is locked: %s", zDb);
106189 rc = sqlite3ApiExit(db, SQLITE_TOOBIG);
106206 pParse->rc = SQLITE_NOMEM;
106208 if( pParse->rc==SQLITE_DONE ) pParse->rc = SQLITE_OK;
106213 pParse->rc = SQLITE_NOMEM;
106218 rc = pParse->rc;
106221 if( rc==SQLITE_OK && pParse->pVdbe && pParse->explain ){
106247 if( pParse->pVdbe && (rc!=SQLITE_OK || db->mallocFailed) ){
106255 sqlite3ErrorWithMsg(db, rc, "%s", zErrMsg);
106258 sqlite3Error(db, rc);
106272 rc = sqlite3ApiExit(db, rc);
106273 assert( (rc&db->errMask)==rc );
106274 return rc;
106285 int rc;
106296 rc = sqlite3Prepare(db, zSql, nBytes, saveSqlFlag, pOld, ppStmt, pzTail);
106297 if( rc==SQLITE_SCHEMA ){
106299 rc = sqlite3Prepare(db, zSql, nBytes, saveSqlFlag, pOld, ppStmt, pzTail);
106303 assert( rc==SQLITE_OK || *ppStmt==0 );
106304 return rc;
106316 int rc;
106326 rc = sqlite3LockAndPrepare(db, zSql, -1, 0, p, &pNew, 0);
106327 if( rc ){
106328 if( rc==SQLITE_NOMEM ){
106332 return rc;
106359 int rc;
106360 rc = sqlite3LockAndPrepare(db,zSql,nBytes,0,0,ppStmt,pzTail);
106361 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
106362 return rc;
106371 int rc;
106372 rc = sqlite3LockAndPrepare(db,zSql,nBytes,1,0,ppStmt,pzTail);
106373 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
106374 return rc;
106396 int rc = SQLITE_OK;
106414 rc = sqlite3LockAndPrepare(db, zSql8, -1, saveSqlFlag, 0, ppStmt, &zTail8);
106427 rc = sqlite3ApiExit(db, rc);
106429 return rc;
106447 int rc;
106448 rc = sqlite3Prepare16(db,zSql,nBytes,0,ppStmt,pzTail);
106449 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
106450 return rc;
106459 int rc;
106460 rc = sqlite3Prepare16(db,zSql,nBytes,1,ppStmt,pzTail);
106461 assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */
106462 return rc;
108430 int rc; /* Result code */
108491 rc = sqlite3Select(pParse, pSetup, &destQueue);
108493 if( rc ) goto end_of_recursive_query;
108578 int rc = 0;
108597 rc = sqlite3Select(pParse, p, pDest);
108599 if( rc ) break;
108603 return rc;
108642 int rc = SQLITE_OK; /* Success code from a subroutine */
108664 rc = 1;
108670 rc = 1;
108689 rc = multiSelectValues(pParse, p, &dest);
108699 rc = 1;
108727 rc = sqlite3Select(pParse, pPrior, &dest);
108730 if( rc ){
108741 rc = sqlite3Select(pParse, p, &dest);
108742 testcase( rc!=SQLITE_OK );
108794 rc = sqlite3Select(pParse, pPrior, &uniondest);
108795 if( rc ){
108814 rc = sqlite3Select(pParse, p, &uniondest);
108815 testcase( rc!=SQLITE_OK );
108881 rc = sqlite3Select(pParse, pPrior, &intersectdest);
108882 if( rc ){
108898 rc = sqlite3Select(pParse, p, &intersectdest);
108899 testcase( rc!=SQLITE_OK );
108957 rc = SQLITE_NOMEM;
108989 return rc;
111186 int rc = 1; /* Value to return from this function */
111372 rc = multiSelect(pParse, p, pDest);
111378 return rc;
111958 rc = (pParse->nErr>0);
111968 if( rc==SQLITE_OK && pDest->eDest==SRT_Output ){
111978 return rc;
112111 int rc; /* Return code from sqlite3_exec() */
112156 p->rc = SQLITE_ERROR;
112179 p->rc = SQLITE_NOMEM;
112201 int rc;
112216 res.rc = SQLITE_OK;
112223 rc = sqlite3_exec(db, zSql, sqlite3_get_table_cb, &res, pzErrMsg);
112226 if( (rc&0xff)==SQLITE_ABORT ){
112235 db->errCode = res.rc; /* Assume 32-bit assignment is atomic */
112236 return res.rc;
112239 if( rc!=SQLITE_OK ){
112241 return rc;
112256 return rc;
113075 pTo->rc = pFrom->rc;
113647 int rc;
113648 rc = sqlite3AuthCheck(pParse, SQLITE_UPDATE, pTab->zName,
113651 if( rc==SQLITE_DENY ){
113653 }else if( rc==SQLITE_IGNORE ){
114199 int rc;
114200 rc = sqlite3VdbeFinalize((Vdbe*)pStmt);
114201 if( rc ){
114204 return rc;
114212 VVA_ONLY( int rc; )
114220 VVA_ONLY( rc = ) sqlite3_step(pStmt);
114221 assert( rc!=SQLITE_ROW || (db->flags&SQLITE_CountRows) );
114231 int rc;
114233 rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0);
114234 if( rc!=SQLITE_OK ) return rc;
114237 rc = execSql(db, pzErrMsg, (char*)sqlite3_column_text(pStmt, 0));
114238 if( rc!=SQLITE_OK ){
114240 return rc;
114290 int rc = SQLITE_OK; /* Return code from service routines */
114346 rc = execSql(db, pzErrMsg, zSql);
114351 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114373 rc = execSql(db, pzErrMsg, "PRAGMA vacuum_db.synchronous=OFF");
114374 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114380 rc = execSql(db, pzErrMsg, "BEGIN;");
114381 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114382 rc = sqlite3BtreeBeginTrans(pMain, 2);
114383 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114395 rc = SQLITE_NOMEM;
114407 rc = execExecSql(db, pzErrMsg,
114412 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114413 rc = execExecSql(db, pzErrMsg,
114416 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114417 rc = execExecSql(db, pzErrMsg,
114420 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114428 rc = execExecSql(db, pzErrMsg,
114437 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114441 rc = execExecSql(db, pzErrMsg,
114445 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114446 rc = execExecSql(db, pzErrMsg,
114451 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114459 rc = execSql(db, pzErrMsg,
114466 if( rc ) goto end_of_vacuum;
114500 rc = sqlite3BtreeUpdateMeta(pTemp, aCopy[i], meta+aCopy[i+1]);
114501 if( NEVER(rc!=SQLITE_OK) ) goto end_of_vacuum;
114504 rc = sqlite3BtreeCopyFile(pMain, pTemp);
114505 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114506 rc = sqlite3BtreeCommit(pTemp);
114507 if( rc!=SQLITE_OK ) goto end_of_vacuum;
114513 assert( rc==SQLITE_OK );
114514 rc = sqlite3BtreeSetPageSize(pMain, sqlite3BtreeGetPageSize(pTemp), nRes,1);
114543 return rc;
114591 int rc = SQLITE_OK;
114597 rc = SQLITE_MISUSE_BKPT;
114617 rc = sqlite3ApiExit(db, rc);
114618 if( rc!=SQLITE_OK && xDestroy ) xDestroy(pAux);
114621 return rc;
115042 int rc;
115084 rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVTable->pVtab, &zErr);
115086 if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
115089 if( SQLITE_OK!=rc ){
115107 rc = SQLITE_ERROR;
115158 return rc;
115172 int rc;
115186 rc = SQLITE_ERROR;
115189 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xConnect, &zErr);
115190 if( rc!=SQLITE_OK ){
115196 return rc;
115239 int rc = SQLITE_OK;
115257 rc = SQLITE_ERROR;
115259 rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xCreate, pzErr);
115264 if( rc==SQLITE_OK && ALWAYS(sqlite3GetVTable(db, pTab)) ){
115265 rc = growVTrans(db);
115266 if( rc==SQLITE_OK ){
115271 return rc;
115282 int rc = SQLITE_OK;
115303 rc = SQLITE_NOMEM;
115325 rc = SQLITE_ERROR;
115337 assert( (rc&0xff)==rc );
115338 rc = sqlite3ApiExit(db, rc);
115340 return rc;
115351 int rc = SQLITE_OK;
115364 rc = p->pMod->pModule->xDestroy(p->pVtab);
115366 if( rc==SQLITE_OK ){
115374 return rc;
115414 int rc = SQLITE_OK;
115418 for(i=0; rc==SQLITE_OK && i<db->nVTrans; i++){
115422 rc = x(pVtab);
115427 return rc;
115457 int rc = SQLITE_OK;
115485 rc = growVTrans(db);
115486 if( rc==SQLITE_OK ){
115487 rc = pModule->xBegin(pVTab->pVtab);
115488 if( rc==SQLITE_OK ){
115493 return rc;
115512 int rc = SQLITE_OK;
115518 for(i=0; rc==SQLITE_OK && i<db->nVTrans; i++){
115536 rc = xMethod(pVTab->pVtab, iSavepoint);
115541 return rc;
115569 int rc = 0;
115594 rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xFunc, &pArg);
115597 if( rc==0 ){
115669 int rc = SQLITE_OK;
115680 rc = SQLITE_MISUSE_BKPT;
115688 rc = SQLITE_MISUSE_BKPT;
115693 if( rc!=SQLITE_OK ) sqlite3Error(db, rc);
115695 return rc;
118172 int rc;
118175 rc = pVtab->pModule->xBestIndex(pVtab, p);
118178 if( rc!=SQLITE_OK ){
118179 if( rc==SQLITE_NOMEM ){
118182 sqlite3ErrorMsg(pParse, "%s", sqlite3ErrStr(rc));
118467 int rc = SQLITE_OK;
118478 rc = sqlite3Stat4ValueFromExpr(pParse, pLower->pExpr->pRight, aff, &p1);
118481 if( pUpper && rc==SQLITE_OK ){
118482 rc = sqlite3Stat4ValueFromExpr(pParse, pUpper->pExpr->pRight, aff, &p2);
118489 for(i=0; rc==SQLITE_OK && i<p->nSample; i++){
118490 rc = sqlite3Stat4Column(db, p->aSample[i].p, p->aSample[i].n, nEq, &pVal);
118491 if( rc==SQLITE_OK && p1 ){
118495 if( rc==SQLITE_OK && p2 ){
118524 return rc;
118575 int rc = SQLITE_OK;
118646 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk);
118647 if( rc==SQLITE_OK && bOk ){
118661 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq, &bOk);
118662 if( rc==SQLITE_OK && bOk ){
118673 if( rc==SQLITE_OK ){
118692 rc = whereRangeSkipScanEst(pParse, pLower, pUpper, pLoop, &bDone);
118693 if( bDone ) return rc;
118725 return rc;
118756 int rc; /* Subfunction return code */
118780 rc = sqlite3Stat4ProbeSetValue(pParse, p, &pRec, pExpr, aff, nEq-1, &bOk);
118782 if( rc!=SQLITE_OK ) return rc;
118790 return rc;
118820 int rc = SQLITE_OK; /* Subfunction return code */
118826 for(i=0; rc==SQLITE_OK && i<pList->nExpr; i++){
118828 rc = whereEqualScanEst(pParse, pBuilder, pList->a[i].pExpr, &nEst);
118833 if( rc==SQLITE_OK ){
118839 return rc;
120884 int rc = SQLITE_OK; /* Return code */
120917 for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){
121032 rc = whereEqualScanEst(pParse, pBuilder, pExpr->pRight, &nOut);
121034 rc = whereInScanEst(pParse, pBuilder, pExpr->x.pList, &nOut);
121036 if( rc==SQLITE_NOTFOUND ) rc = SQLITE_OK;
121037 if( rc!=SQLITE_OK ) break; /* Jump out of the pTerm loop */
121073 rc = whereLoopInsert(pBuilder, pNew);
121113 && (rc = whereLoopResize(db, pNew, pNew->nLTerm+1))==SQLITE_OK
121132 return rc;
121249 int rc = SQLITE_OK; /* Return code */
121312 for(pTerm=pWC->a; rc==SQLITE_OK && pTerm<pWCEnd; pTerm++){
121341 rc = whereLoopInsert(pBuilder, pNew);
121349 for(; rc==SQLITE_OK && pProbe; pProbe=pProbe->pNext, iSortIdx++){
121377 rc = whereLoopInsert(pBuilder, pNew);
121379 if( rc ) break;
121413 rc = whereLoopInsert(pBuilder, pNew);
121415 if( rc ) break;
121419 rc = whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, 0);
121430 return rc;
121459 int rc = SQLITE_OK;
121527 rc = vtabBestIndex(pParse, pTab, pIdxInfo);
121528 if( rc ) goto whereLoopAddVtab_exit;
121543 rc = SQLITE_ERROR;
121598 return rc;
121611 int rc = SQLITE_OK;
121625 for(pTerm=pWC->a; pTerm<pWCEnd && rc==SQLITE_OK; pTerm++){
121665 rc = whereLoopAddVirtual(&sSubBuild, mExtra);
121669 rc = whereLoopAddBtree(&sSubBuild, mExtra);
121671 if( rc==SQLITE_OK ){
121672 rc = whereLoopAddOr(&sSubBuild, mExtra);
121674 assert( rc==SQLITE_OK || sCur.n==0 );
121700 for(i=0; rc==SQLITE_OK && i<sSum.n; i++){
121716 rc = whereLoopInsert(pBuilder, pNew);
121721 return rc;
121736 int rc = SQLITE_OK;
121751 rc = whereLoopAddVirtual(pBuilder, mExtra);
121753 rc = whereLoopAddBtree(pBuilder, mExtra);
121755 if( rc==SQLITE_OK ){
121756 rc = whereLoopAddOr(pBuilder, mExtra);
121759 if( rc || db->mallocFailed ) break;
121762 return rc;
122408 int rc = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pResultSet, pFrom,
122410 if( rc==pWInfo->pResultSet->nExpr ){
122640 int rc; /* Return code */
122798 rc = whereLoopAddAll(&sWLB);
122799 if( rc ) goto whereBeginError;
127484 pParse->rc = SQLITE_OK;
127506 pParse->rc = SQLITE_TOOBIG;
127513 pParse->rc = SQLITE_INTERRUPT;
127530 if( pParse->rc!=SQLITE_OK ){
127539 if( zSql[i]==0 && pParse->rc==SQLITE_OK && db->mallocFailed==0 ){
127544 if( pParse->rc==SQLITE_OK && db->mallocFailed==0 ){
127558 pParse->rc = SQLITE_NOMEM;
127560 if( pParse->rc!=SQLITE_OK && pParse->rc!=SQLITE_DONE && pParse->zErrMsg==0 ){
127561 sqlite3SetString(&pParse->zErrMsg, db, "%s", sqlite3ErrStr(pParse->rc));
127566 sqlite3_log(pParse->rc, "%s", *pzErrMsg);
127607 assert( nErr==0 || pParse->rc!=SQLITE_OK );
127883 int rc;
127886 rc = sqlite3_initialize();
127887 if( rc ) return rc;
127893 rc = sqlite3_complete(zSql8);
127895 rc = SQLITE_NOMEM;
127898 return sqlite3ApiExit(0, rc);
128122 int rc; /* Result code */
128128 rc = sqlite3_wsd_init(4096, 24);
128129 if( rc!=SQLITE_OK ){
128130 return rc;
128154 rc = sqlite3MutexInit();
128155 if( rc ) return rc;
128167 rc = sqlite3MallocInit();
128169 if( rc==SQLITE_OK ){
128175 rc = SQLITE_NOMEM;
128179 if( rc==SQLITE_OK ){
128187 if( rc!=SQLITE_OK ){
128188 return rc;
128211 rc = sqlite3PcacheInitialize();
128213 if( rc==SQLITE_OK ){
128215 rc = sqlite3OsInit();
128217 if( rc==SQLITE_OK ){
128249 if ( rc==SQLITE_OK ){
128266 rc = SQLITE_EXTRA_INIT(0);
128270 return rc;
128283 int rc = sqlite3_wsd_init(4096, 24);
128284 if( rc!=SQLITE_OK ){
128285 return rc;
128337 int rc = SQLITE_OK;
128453 rc = SQLITE_ERROR;
128616 rc = SQLITE_ERROR;
128621 return rc;
128731 int rc;
128738 rc = setupLookaside(db, pBuf, sz, cnt);
128750 rc = SQLITE_ERROR; /* IMP: R-42790-23372 */
128767 rc = SQLITE_OK;
128775 return rc;
128799 int rc, n;
128804 rc = memcmp(pKey1, pKey2, n);
128805 if( rc==0 ){
128816 rc = nKey1 - nKey2;
128819 return rc;
129201 SQLITE_PRIVATE const char *sqlite3ErrName(int rc){
129203 int i, origRc = rc;
129204 for(i=0; i<2 && zName==0; i++, rc &= 0xff){
129205 switch( rc ){
129309 SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){
129340 switch( rc ){
129346 rc &= 0xff;
129347 if( ALWAYS(rc>=0) && rc<ArraySize(aMsg) && aMsg[rc]!=0 ){
129348 zErr = aMsg[rc];
129409 int rc;
129411 rc = p->xFunc(p->pArg, p->nBusy);
129412 if( rc==0 ){
129417 return rc;
129551 int rc;
129552 rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF8|extraFlags,
129554 if( rc==SQLITE_OK ){
129555 rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF16LE|extraFlags,
129558 if( rc!=SQLITE_OK ){
129559 return rc;
129636 int rc = SQLITE_ERROR;
129654 rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xFunc, xStep, xFinal, pArg);
129656 assert( rc!=SQLITE_OK );
129662 rc = sqlite3ApiExit(db, rc);
129664 return rc;
129678 int rc;
129687 rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xFunc, xStep, xFinal,0);
129689 rc = sqlite3ApiExit(db, rc);
129691 return rc;
129714 int rc = SQLITE_OK;
129723 rc = sqlite3CreateFunc(db, zName, nArg, SQLITE_UTF8,
129726 rc = sqlite3ApiExit(db, rc);
129728 return rc;
129953 int rc; /* Return code */
129979 rc = SQLITE_ERROR;
129983 rc = sqlite3Checkpoint(db, iDb, eMode, pnLog, pnCkpt);
129984 sqlite3Error(db, rc);
129986 rc = sqlite3ApiExit(db, rc);
129988 return rc;
130025 int rc = SQLITE_OK; /* Return code */
130033 for(i=0; i<db->nDb && rc==SQLITE_OK; i++){
130035 rc = sqlite3BtreeCheckpoint(db->aDb[i].pBt, eMode, pnLog, pnCkpt);
130038 if( rc==SQLITE_BUSY ){
130040 rc = SQLITE_OK;
130045 return (rc==SQLITE_OK && bBusy) ? SQLITE_BUSY : rc;
130184 SQLITE_API const char *SQLITE_STDCALL sqlite3_errstr(int rc){
130185 return sqlite3ErrStr(rc);
130408 int rc = SQLITE_OK;
130456 rc = SQLITE_ERROR;
130581 rc = SQLITE_ERROR;
130587 rc = SQLITE_PERM;
130609 rc = SQLITE_ERROR;
130612 if( rc!=SQLITE_OK ){
130618 return rc;
130634 int rc; /* Return code */
130644 rc = sqlite3_initialize();
130645 if( rc ) return rc;
130782 rc = sqlite3ParseUri(zVfs, zFilename, &flags, &db->pVfs, &zOpen, &zErrMsg);
130783 if( rc!=SQLITE_OK ){
130784 if( rc==SQLITE_NOMEM ) db->mallocFailed = 1;
130785 sqlite3ErrorWithMsg(db, rc, zErrMsg ? "%s" : 0, zErrMsg);
130791 rc = sqlite3BtreeOpen(db->pVfs, zOpen, db, &db->aDb[0].pBt, 0,
130793 if( rc!=SQLITE_OK ){
130794 if( rc==SQLITE_IOERR_NOMEM ){
130795 rc = SQLITE_NOMEM;
130797 sqlite3Error(db, rc);
130829 rc = sqlite3_errcode(db);
130830 if( rc==SQLITE_OK ){
130832 rc = sqlite3_errcode(db);
130833 if( rc!=SQLITE_OK ){
130841 rc = sqlite3Fts1Init(db);
130846 if( !db->mallocFailed && rc==SQLITE_OK ){
130848 rc = sqlite3Fts2Init(db);
130853 if( !db->mallocFailed && rc==SQLITE_OK ){
130854 rc = sqlite3Fts3Init(db);
130859 if( !db->mallocFailed && rc==SQLITE_OK ){
130860 rc = sqlite3IcuInit(db);
130865 if( !db->mallocFailed && rc==SQLITE_OK){
130866 rc = sqlite3RtreeInit(db);
130871 if( !db->mallocFailed && rc==SQLITE_OK){
130873 rc = sqlite3_dbstat_register(db);
130887 if( rc ) sqlite3Error(db, rc);
130902 rc = sqlite3_errcode(db);
130903 assert( db!=0 || rc==SQLITE_NOMEM );
130904 if( rc==SQLITE_NOMEM ){
130907 }else if( rc!=SQLITE_OK ){
130918 return sqlite3ApiExit(0, rc);
130950 int rc;
130957 rc = sqlite3_initialize();
130958 if( rc ) return rc;
130965 rc = openDatabase(zFilename8, ppDb,
130967 assert( *ppDb || rc==SQLITE_NOMEM );
130968 if( rc==SQLITE_OK && !DbHasProperty(*ppDb, 0, DB_SchemaLoaded) ){
130972 rc = SQLITE_NOMEM;
130976 return sqlite3ApiExit(0, rc);
131004 int rc;
131011 rc = createCollation(db, zName, (u8)enc, pCtx, xCompare, xDel);
131012 rc = sqlite3ApiExit(db, rc);
131014 return rc;
131028 int rc = SQLITE_OK;
131038 rc = createCollation(db, zName8, (u8)enc, pCtx, xCompare, 0);
131041 rc = sqlite3ApiExit(db, rc);
131043 return rc;
131176 int rc;
131197 rc = sqlite3Init(db, &zErrMsg);
131198 if( SQLITE_OK!=rc ){
131267 if( SQLITE_OK==rc && !pTab ){
131271 rc = SQLITE_ERROR;
131273 sqlite3ErrorWithMsg(db, rc, (zErrMsg?"%s":0), zErrMsg);
131275 rc = sqlite3ApiExit(db, rc);
131277 return rc;
131285 int rc;
131292 rc = (sqlite3OsSleep(pVfs, 1000*ms)/1000);
131293 return rc;
131313 int rc = SQLITE_ERROR;
131331 rc = SQLITE_OK;
131333 rc = sqlite3OsFileControl(fd, op, pArg);
131335 rc = SQLITE_NOTFOUND;
131340 return rc;
131347 int rc = 0;
131392 rc = sqlite3BitvecBuiltinTest(sz, aProg);
131414 rc = sqlite3FaultSim(0);
131447 rc = PENDING_BYTE;
131471 rc = x;
131505 rc = ALWAYS(x);
131521 rc = SQLITE_BYTEORDER*100 + SQLITE_LITTLEENDIAN*10 + SQLITE_BIGENDIAN;
131567 rc = (sqlite3KeywordCode((u8*)zWord, n)!=TK_ID) ? SQLITE_N_KEYWORD : 0;
131640 if( sqlite3GlobalConfig.isInit==0 ) rc = SQLITE_ERROR;
131675 return rc;
131925 int rc = SQLITE_OK;
131947 rc = SQLITE_LOCKED; /* Deadlock detected. */
131959 sqlite3ErrorWithMsg(db, rc, (rc?"database is deadlocked":0));
131961 return rc;
133547 int rc = SQLITE_OK; /* Return code */
133553 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_content'", zDb, p->zName);
133555 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_segments'", zDb,p->zName);
133556 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_segdir'", zDb, p->zName);
133557 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_docsize'", zDb, p->zName);
133558 fts3DbExec(&rc, db, "DROP TABLE IF EXISTS %Q.'%q_stat'", zDb, p->zName);
133564 return (rc==SQLITE_OK ? fts3DisconnectMethod(pVtab) : rc);
133580 int rc; /* Return code */
133600 rc = SQLITE_NOMEM;
133602 rc = sqlite3_declare_vtab(p->db, zSql);
133607 *pRc = rc;
133633 int rc = SQLITE_OK; /* Return code */
133650 if( zContentCols==0 ) rc = SQLITE_NOMEM;
133653 fts3DbExec(&rc, db,
133661 fts3DbExec(&rc, db,
133665 fts3DbExec(&rc, db,
133678 fts3DbExec(&rc, db,
133685 sqlite3Fts3CreateStatTable(&rc, p);
133687 return rc;
133699 int rc; /* Return code */
133705 rc = SQLITE_NOMEM;
133707 rc = sqlite3_prepare(p->db, zSql, -1, &pStmt, 0);
133708 if( rc==SQLITE_OK ){
133711 rc = sqlite3_finalize(pStmt);
133712 }else if( rc==SQLITE_AUTH ){
133714 rc = SQLITE_OK;
133717 assert( p->nPgsz>0 || rc!=SQLITE_OK );
133719 *pRc = rc;
134036 int rc = SQLITE_OK; /* Return code */
134042 rc = SQLITE_NOMEM;
134044 rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0);
134045 if( rc!=SQLITE_OK ){
134051 if( rc==SQLITE_OK ){
134069 rc = SQLITE_NOMEM;
134088 return rc;
134113 int rc = SQLITE_OK; /* Return code */
134158 rc = SQLITE_NOMEM;
134173 for(i=3; rc==SQLITE_OK && i<argc; i++){
134184 rc = sqlite3Fts3InitTokenizer(pHash, &z[9], &pTokenizer, pzErr);
134205 rc = SQLITE_NOMEM;
134215 rc = SQLITE_ERROR;
134221 rc = SQLITE_ERROR;
134249 rc = SQLITE_ERROR;
134291 if( rc==SQLITE_OK && zContent ){
134299 rc = fts3ContentColumns(db, argv[1], zContent,&aCol,&nCol,&nString,pzErr);
134303 if( rc==SQLITE_OK && zLanguageid ){
134316 if( rc!=SQLITE_OK ) goto fts3_init_out;
134326 rc = sqlite3Fts3InitTokenizer(pHash, "simple", &pTokenizer, pzErr);
134327 if( rc!=SQLITE_OK ) goto fts3_init_out;
134331 rc = fts3PrefixParameter(zPrefix, &nIndex, &aIndex);
134332 if( rc==SQLITE_ERROR ){
134336 if( rc!=SQLITE_OK ) goto fts3_init_out;
134348 rc = SQLITE_NOMEM;
134417 rc = SQLITE_ERROR;
134421 if( rc==SQLITE_OK && (zCompress==0)!=(zUncompress==0) ){
134423 rc = SQLITE_ERROR;
134426 p->zReadExprlist = fts3ReadExprList(p, zUncompress, &rc);
134427 p->zWriteExprlist = fts3WriteExprList(p, zCompress, &rc);
134428 if( rc!=SQLITE_OK ) goto fts3_init_out;
134434 rc = fts3CreateTables(p);
134446 fts3DatabasePageSize(&rc, p);
134450 fts3DeclareVtab(&rc, p);
134462 if( rc!=SQLITE_OK ){
134472 return rc;
134689 int rc = SQLITE_OK;
134695 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0);
134699 return rc;
134708 int rc = SQLITE_OK;
134712 rc = fts3CursorSeekStmt(pCsr, &pStmt);
134713 if( rc==SQLITE_OK ){
134719 rc = sqlite3_reset(pCsr->pStmt);
134720 if( rc==SQLITE_OK && ((Fts3Table *)pCsr->base.pVtab)->zContentTbl==0 ){
134724 rc = FTS_CORRUPT_VTAB;
134731 if( rc!=SQLITE_OK && pContext ){
134732 sqlite3_result_error_code(pContext, rc);
134734 return rc;
134760 int rc = SQLITE_OK; /* Return code */
134802 rc = FTS_CORRUPT_VTAB;
134810 rc = SQLITE_NOMEM;
134848 return rc;
134882 int rc = SQLITE_OK; /* Return code */
134888 rc = fts3ScanInteriorNode(zTerm, nTerm, zNode, nNode, piLeaf, piLeaf2);
134889 assert( !piLeaf2 || !piLeaf || rc!=SQLITE_OK || (*piLeaf<=*piLeaf2) );
134891 if( rc==SQLITE_OK && iHeight>1 ){
134896 rc = sqlite3Fts3ReadBlock(p, *piLeaf, &zBlob, &nBlob, 0);
134897 if( rc==SQLITE_OK ){
134898 rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, 0);
134905 if( rc==SQLITE_OK ){
134906 rc = sqlite3Fts3ReadBlock(p, piLeaf?*piLeaf:*piLeaf2, &zBlob, &nBlob, 0);
134908 if( rc==SQLITE_OK ){
134909 rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, piLeaf2);
134914 return rc;
135661 int rc = fts3DoclistOrMerge(p->bDescIdx,
135664 if( rc!=SQLITE_OK ){
135666 return rc;
135742 int rc = fts3DoclistOrMerge(p->bDescIdx, aMerge, nMerge,
135745 if( rc!=SQLITE_OK ){
135747 return rc;
135805 int rc = SQLITE_OK; /* Error code */
135817 rc = sqlite3Fts3SegReaderPending(p, iIndex, zTerm, nTerm, isPrefix||isScan, &pSeg);
135818 if( rc==SQLITE_OK && pSeg ){
135819 rc = fts3SegReaderCursorAppend(pCsr, pSeg);
135824 if( rc==SQLITE_OK ){
135825 rc = sqlite3Fts3AllSegdirs(p, iLangid, iIndex, iLevel, &pStmt);
135828 while( rc==SQLITE_OK && SQLITE_ROW==(rc = sqlite3_step(pStmt)) ){
135842 rc = fts3SelectLeaf(p, zTerm, nTerm, zRoot, nRoot, &iStartBlock, pi);
135843 if( rc!=SQLITE_OK ) goto finished;
135847 rc = sqlite3Fts3SegReaderNew(pCsr->nSegment+1,
135852 if( rc!=SQLITE_OK ) goto finished;
135853 rc = fts3SegReaderCursorAppend(pCsr, pSeg);
135859 if( rc==SQLITE_DONE ) rc = rc2;
135861 return rc;
135933 int rc = SQLITE_NOMEM; /* Return code */
135945 rc = sqlite3Fts3SegReaderCursor(p, pCsr->iLangid,
135955 rc = sqlite3Fts3SegReaderCursor(p, pCsr->iLangid,
135958 if( rc==SQLITE_OK ){
135959 rc = fts3SegReaderCursorAddZero(
135968 rc = sqlite3Fts3SegReaderCursor(p, pCsr->iLangid,
135976 return rc;
135998 int rc; /* Return code */
136014 rc = sqlite3Fts3SegReaderStart(p, pSegcsr, &filter);
136015 while( SQLITE_OK==rc
136016 && SQLITE_ROW==(rc = sqlite3Fts3SegReaderStep(p, pSegcsr))
136018 rc = fts3TermSelectMerge(p, &tsc, pSegcsr->aDoclist, pSegcsr->nDoclist);
136021 if( rc==SQLITE_OK ){
136022 rc = fts3TermSelectFinishMerge(p, &tsc);
136024 if( rc==SQLITE_OK ){
136036 return rc;
136075 int rc;
136080 rc = sqlite3_reset(pCsr->pStmt);
136083 rc = SQLITE_OK;
136086 rc = fts3EvalNext((Fts3Cursor *)pCursor);
136089 return rc;
136142 int rc = SQLITE_OK;
136199 rc = sqlite3Fts3ExprParse(p->pTokenizer, pCsr->iLangid,
136203 if( rc!=SQLITE_OK ){
136204 return rc;
136207 rc = fts3EvalStart(pCsr);
136209 if( rc!=SQLITE_OK ) return rc;
136232 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0);
136235 rc = SQLITE_NOMEM;
136238 rc = fts3CursorSeekStmt(pCsr, &pCsr->pStmt);
136239 if( rc==SQLITE_OK ){
136240 rc = sqlite3_bind_value(pCsr->pStmt, 1, pCons);
136243 if( rc!=SQLITE_OK ) return rc;
136284 int rc = SQLITE_OK; /* Return Code */
136305 rc = fts3CursorSeek(0, pCsr);
136307 if( rc==SQLITE_OK ){
136321 return rc;
136366 int rc = sqlite3Fts3PendingTermsFlush(p);
136368 if( rc==SQLITE_OK
136375 rc = sqlite3Fts3MaxLevel(p, &mxLevel);
136376 assert( rc==SQLITE_OK || mxLevel==0 );
136379 if( A>(int)nMinMerge ) rc = sqlite3Fts3Incrmerge(p, A, p->nAutoincrmerge);
136382 return rc;
136392 int rc = SQLITE_OK;
136398 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
136399 if( rc==SQLITE_OK ){
136401 rc = sqlite3_finalize(pStmt);
136402 if( rc==SQLITE_OK ) p->bHasStat = bHasStat;
136406 rc = SQLITE_NOMEM;
136409 return rc;
136602 int rc; /* Return code */
136613 rc = sqlite3Fts3Optimize(p);
136615 switch( rc ){
136623 sqlite3_result_error_code(pContext, rc);
136693 int rc; /* Return Code */
136697 rc = fts3SetHasStat(p);
136706 if( rc==SQLITE_OK ){
136707 rc = sqlite3Fts3PendingTermsFlush(p);
136711 fts3DbExec(&rc, db,
136718 fts3DbExec(&rc, db,
136724 fts3DbExec(&rc, db,
136729 fts3DbExec(&rc, db,
136733 fts3DbExec(&rc, db,
136737 return rc;
136746 int rc = SQLITE_OK;
136752 rc = fts3SyncMethod(pVtab);
136754 return rc;
136850 int rc = SQLITE_OK;
136868 rc = sqlite3Fts3InitTerm(db);
136869 if( rc!=SQLITE_OK ) return rc;
136872 rc = sqlite3Fts3InitAux(db);
136873 if( rc!=SQLITE_OK ) return rc;
136881 rc = SQLITE_NOMEM;
136887 if( rc==SQLITE_OK ){
136898 rc = SQLITE_NOMEM;
136903 if( rc==SQLITE_OK ){
136904 rc = sqlite3Fts3ExprInitTestInterface(db);
136912 if( SQLITE_OK==rc
136913 && SQLITE_OK==(rc = sqlite3Fts3InitHashTable(db, pHash, "fts3_tokenizer"))
136914 && SQLITE_OK==(rc = sqlite3_overload_function(db, "snippet", -1))
136915 && SQLITE_OK==(rc = sqlite3_overload_function(db, "offsets", 1))
136916 && SQLITE_OK==(rc = sqlite3_overload_function(db, "matchinfo", 1))
136917 && SQLITE_OK==(rc = sqlite3_overload_function(db, "matchinfo", 2))
136918 && SQLITE_OK==(rc = sqlite3_overload_function(db, "optimize", 1))
136920 rc = sqlite3_create_module_v2(
136923 if( rc==SQLITE_OK ){
136924 rc = sqlite3_create_module_v2(
136928 if( rc==SQLITE_OK ){
136929 rc = sqlite3Fts3InitTok(db, (void *)pHash);
136931 return rc;
136936 assert( rc!=SQLITE_OK );
136941 return rc;
136973 int rc = fts3TermSegReaderCursor(pCsr,
136976 if( rc!=SQLITE_OK ){
136977 *pRc = rc;
137008 int rc = SQLITE_OK;
137047 rc = fts3DoclistPhraseMerge(
137056 return rc;
137071 int rc = SQLITE_OK;
137073 for(iToken=0; rc==SQLITE_OK && iToken<p->nToken; iToken++){
137080 rc = fts3TermSelect(pTab, pToken, p->iColumn, &nThis, &pThis);
137081 if( rc==SQLITE_OK ){
137082 rc = fts3EvalPhraseMergeToken(pTab, p, iToken, pThis, nThis);
137088 return rc;
137116 int rc = sqlite3Fts3DeferredTokenList(pDeferred, &pList, &nList);
137117 if( rc!=SQLITE_OK ) return rc;
137215 int rc = SQLITE_OK; /* Error code */
137243 for(i=0; rc==SQLITE_OK && i<p->nToken; i++){
137247 rc = sqlite3Fts3MsrIncrStart(pTab, pSegcsr, iCol, pToken->z, pToken->n);
137253 rc = fts3EvalPhraseLoad(pCsr, p);
137257 assert( rc!=SQLITE_OK || p->nToken<1 || p->aToken[0].pSegcsr==0 || p->bIncr );
137258 return rc;
137433 int rc = SQLITE_OK;
137448 rc = sqlite3Fts3MsrIncrNext(
137457 return rc;
137483 int rc = SQLITE_OK;
137493 rc = sqlite3Fts3MsrIncrNext(pTab, p->aToken[0].pSegcsr,
137511 for(i=0; rc==SQLITE_OK && i<p->nToken && bEof==0; i++){
137512 rc = incrPhraseTokenNext(pTab, p, i, &a[i], &bEof);
137518 assert( rc!=SQLITE_OK || (p->nToken>=1 && a[p->nToken-1].bIgnore==0) );
137519 assert( rc!=SQLITE_OK || bMaxSet );
137523 while( rc==SQLITE_OK && bEof==0
137526 rc = incrPhraseTokenNext(pTab, p, i, &a[i], &bEof);
137566 return rc;
137583 int rc = SQLITE_OK;
137588 rc = fts3EvalIncrPhraseNext(pCsr, p, pbEof);
137598 return rc;
137737 int rc;
137745 rc = sqlite3Fts3SelectDoctotal(p, &pStmt);
137746 if( rc!=SQLITE_OK ) return rc;
137763 rc = sqlite3_reset(pStmt);
137764 if( rc!=SQLITE_OK ) return rc;
137793 int rc = SQLITE_OK; /* Return code */
137822 rc = fts3EvalAverageDocsize(pCsr, &nDocSize);
137823 assert( rc!=SQLITE_OK || nDocSize>0 );
137848 for(ii=0; ii<nToken && rc==SQLITE_OK; ii++){
137868 rc = sqlite3Fts3DeferToken(pCsr, pToken, pTC->iCol);
137884 rc = fts3TermSelect(pTab, pToken, pTC->iCol, &nList, &pList);
137885 assert( rc==SQLITE_OK || pList==0 );
137886 if( rc==SQLITE_OK ){
137887 rc = fts3EvalPhraseMergeToken(
137891 if( rc==SQLITE_OK ){
137903 return rc;
137920 int rc = SQLITE_OK;
137925 fts3EvalAllocateReaders(pCsr, pCsr->pExpr, &nToken, &nOr, &rc);
137929 if( rc==SQLITE_OK && nToken>1 && pTab->bFts4 ){
137939 rc = SQLITE_NOMEM;
137945 fts3EvalTokenCosts(pCsr, 0, pCsr->pExpr, &pTC, &ppOr, &rc);
137949 if( rc==SQLITE_OK ){
137950 rc = fts3EvalSelectDeferred(pCsr, 0, aTC, nToken);
137951 for(ii=0; rc==SQLITE_OK && ii<nOr; ii++){
137952 rc = fts3EvalSelectDeferred(pCsr, apOr[ii], aTC, nToken);
137961 fts3EvalStartReaders(pCsr, pCsr->pExpr, &rc);
137962 return rc;
138412 int rc = *pRc;
138414 if( rc==SQLITE_OK ){
138423 rc = fts3CursorSeek(0, pCsr);
138424 if( rc==SQLITE_OK ){
138425 rc = sqlite3Fts3CacheDeferredDoclists(pCsr);
138428 bMiss = (0==fts3EvalTestExpr(pCsr, pCsr->pExpr, &rc));
138432 *pRc = rc;
138434 return (rc==SQLITE_OK && bMiss);
138442 int rc = SQLITE_OK; /* Return Code */
138453 fts3EvalNextRow(pCsr, pExpr, &rc);
138458 }while( pCsr->isEof==0 && fts3EvalTestDeferredAndNear(pCsr, &rc) );
138463 if( rc==SQLITE_OK && (
138470 return rc;
138572 int rc = SQLITE_OK; /* Return code */
138602 fts3EvalRestart(pCsr, pRoot, &rc);
138604 while( pCsr->isEof==0 && rc==SQLITE_OK ){
138612 fts3EvalNextRow(pCsr, pRoot, &rc);
138619 && fts3EvalTestDeferredAndNear(pCsr, &rc)
138622 if( rc==SQLITE_OK && pCsr->isEof==0 ){
138639 fts3EvalRestart(pCsr, pRoot, &rc);
138641 fts3EvalNextRow(pCsr, pRoot, &rc);
138643 }while( pRoot->iDocid!=iDocid && rc==SQLITE_OK );
138644 fts3EvalTestDeferredAndNear(pCsr, &rc);
138647 return rc;
138686 int rc = SQLITE_OK;
138696 rc = fts3EvalGatherStats(pCsr, pExpr);
138697 if( rc==SQLITE_OK ){
138706 return rc;
138751 int rc = SQLITE_OK;
138777 fts3EvalRestart(pCsr, pNear, &rc);
138778 while( rc==SQLITE_OK && !pNear->bEof ){
138779 fts3EvalNextRow(pCsr, pNear, &rc);
138782 assert( rc!=SQLITE_OK || pPhrase->bIncr==0 );
138785 while( rc==SQLITE_OK && !pNear->bEof ){
138786 fts3EvalNextRow(pCsr, pNear, &rc);
138789 if( rc!=SQLITE_OK ) return rc;
138958 int rc; /* value returned by declare_vtab() */
138985 rc = sqlite3_declare_vtab(db, FTS3_AUX_SCHEMA);
138986 if( rc!=SQLITE_OK ) return rc;
139158 int rc;
139167 rc = sqlite3Fts3SegReaderStep(pFts3, &pCsr->csr);
139168 if( rc==SQLITE_ROW ){
139239 rc = SQLITE_OK;
139243 return rc;
139258 int rc;
139330 rc = sqlite3Fts3SegReaderCursor(pFts3, iLangVal, 0, FTS3_SEGCURSOR_ALL,
139333 if( rc==SQLITE_OK ){
139334 rc = sqlite3Fts3SegReaderStart(pFts3, &pCsr->csr, &pCsr->filter);
139337 if( rc==SQLITE_OK ) rc = fts3auxNextMethod(pCursor);
139338 return rc;
139432 int rc; /* Return code */
139434 rc = sqlite3_create_module(db, "fts4aux", &fts3aux_module, 0);
139435 return rc;
139580 int rc;
139582 rc = pModule->xOpen(pTokenizer, z, n, &pCsr);
139583 assert( rc==SQLITE_OK || pCsr==0 );
139584 if( rc==SQLITE_OK ){
139587 rc = pModule->xLanguageid(pCsr, iLangid);
139588 if( rc!=SQLITE_OK ){
139595 return rc;
139625 int rc;
139637 rc = sqlite3Fts3OpenTokenizer(pTokenizer, pParse->iLangid, z, i, &pCursor);
139638 if( rc==SQLITE_OK ){
139643 rc = pModule->xNext(pCursor, &zToken, &nToken, &iStart, &iEnd, &iPosition);
139644 if( rc==SQLITE_OK ){
139648 rc = SQLITE_NOMEM;
139679 }else if( i && rc==SQLITE_DONE ){
139680 rc = SQLITE_OK;
139687 return rc;
139722 int rc;
139750 rc = sqlite3Fts3OpenTokenizer(
139752 if( rc==SQLITE_OK ){
139754 for(ii=0; rc==SQLITE_OK; ii++){
139757 rc = pModule->xNext(pCursor, &zByte, &nByte, &iBegin, &iEnd, &iPos);
139758 if( rc==SQLITE_OK ){
139785 if( rc==SQLITE_DONE ){
139809 rc = SQLITE_OK;
139813 return rc;
139853 int rc;
139939 rc = fts3ExprParse(pParse, zInput+1, nInput-1, ppExpr, &nConsumed);
139940 if( rc==SQLITE_OK && !*ppExpr ){ rc = SQLITE_DONE; }
139942 return rc;
139975 rc = getNextToken(pParse, iCol, &z[iColLen], n-iColLen, ppExpr, pnConsumed);
139977 return rc;
140062 int rc = SQLITE_OK;
140065 while( rc==SQLITE_OK ){
140069 rc = getNextNode(pParse, zIn, nIn, &p, &nByte);
140070 assert( nByte>0 || (rc!=SQLITE_OK && p==0) );
140071 if( rc==SQLITE_OK ){
140082 rc = SQLITE_NOMEM;
140105 rc = SQLITE_ERROR;
140116 rc = SQLITE_NOMEM;
140138 rc = SQLITE_ERROR;
140159 assert( rc!=SQLITE_OK || (nByte>0 && nByte<=nIn) );
140164 if( rc==SQLITE_DONE && pRet && isRequirePhrase ){
140165 rc = SQLITE_ERROR;
140168 if( rc==SQLITE_DONE ){
140169 rc = SQLITE_OK;
140172 rc = SQLITE_ERROR;
140187 if( rc!=SQLITE_OK ){
140193 return rc;
140201 int rc = SQLITE_OK;
140204 rc = SQLITE_TOOBIG;
140206 rc = fts3ExprCheckDepth(p->pLeft, nMaxDepth-1);
140207 if( rc==SQLITE_OK ){
140208 rc = fts3ExprCheckDepth(p->pRight, nMaxDepth-1);
140212 return rc;
140227 int rc = SQLITE_OK; /* Return code */
140233 rc = SQLITE_ERROR;
140236 if( rc==SQLITE_OK && (eType==FTSQUERY_AND || eType==FTSQUERY_OR) ){
140240 rc = SQLITE_NOMEM;
140245 if( rc==SQLITE_OK ){
140267 rc = fts3ExprBalance(&p, nMaxDepth-1);
140268 if( rc!=SQLITE_OK ) break;
140289 rc = SQLITE_TOOBIG;
140315 if( rc==SQLITE_OK ){
140355 if( rc!=SQLITE_OK ){
140360 return rc;
140385 int rc;
140402 rc = fts3ExprParse(&sParse, z, n, ppExpr, &nParsed);
140403 assert( rc==SQLITE_OK || *ppExpr==0 );
140406 if( rc==SQLITE_OK && sParse.nNest ){
140407 rc = SQLITE_ERROR;
140410 return rc;
140448 int rc = fts3ExprParseUnbalanced(
140454 if( rc==SQLITE_OK && *ppExpr ){
140455 rc = fts3ExprBalance(ppExpr, SQLITE_FTS3_MAX_EXPR_DEPTH);
140456 if( rc==SQLITE_OK ){
140457 rc = fts3ExprCheckDepth(*ppExpr, SQLITE_FTS3_MAX_EXPR_DEPTH);
140461 if( rc!=SQLITE_OK ){
140464 if( rc==SQLITE_TOOBIG ){
140469 rc = SQLITE_ERROR;
140470 }else if( rc==SQLITE_ERROR ){
140475 return rc;
140533 int rc;
140538 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
140539 if( rc!=SQLITE_OK ){
140540 return rc;
140627 int rc;
140644 rc = queryTestTokenizer(db,
140646 if( rc==SQLITE_NOMEM ){
140654 rc = pModule->xCreate(0, 0, &pTokenizer);
140655 assert( rc==SQLITE_NOMEM || rc==SQLITE_OK );
140656 if( rc==SQLITE_NOMEM ){
140676 rc = sqlite3Fts3ExprParse(
140679 assert( rc==SQLITE_OK || pExpr==0 );
140682 rc = fts3ExprParseUnbalanced(
140687 if( rc!=SQLITE_OK && rc!=SQLITE_NOMEM ){
140690 }else if( rc==SQLITE_NOMEM || !(zBuf = exprToString(pExpr, 0)) ){
140701 rc = pModule->xDestroy(pTokenizer);
140711 int rc = sqlite3_create_function(
140714 if( rc==SQLITE_OK ){
140715 rc = sqlite3_create_function(db, "fts3_exprtest_rebalance",
140719 return rc;
141926 int rc;
141948 rc = SQLITE_ERROR;
141967 rc = m->xCreate(iArg, aArg, ppTok);
141968 assert( rc!=SQLITE_OK || *ppTok );
141969 if( rc!=SQLITE_OK ){
141978 return rc;
142109 int rc;
142113 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
142114 if( rc!=SQLITE_OK ){
142115 return rc;
142131 int rc;
142136 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
142137 if( rc!=SQLITE_OK ){
142138 return rc;
142176 int rc;
142186 rc = queryTokenizer(db, "simple", &p2);
142187 assert( rc==SQLITE_OK );
142189 rc = queryTokenizer(db, "nosuchtokenizer", &p2);
142190 assert( rc==SQLITE_ERROR );
142195 rc = registerTokenizer(db, "nosuchtokenizer", p1);
142196 assert( rc==SQLITE_OK );
142197 rc = queryTokenizer(db, "nosuchtokenizer", &p2);
142198 assert( rc==SQLITE_OK );
142228 int rc = SQLITE_OK;
142239 rc = SQLITE_NOMEM;
142243 if( SQLITE_OK==rc ){
142244 rc = sqlite3_create_function(db, zName, 1, any, p, scalarFunc, 0, 0);
142246 if( SQLITE_OK==rc ){
142247 rc = sqlite3_create_function(db, zName, 2, any, p, scalarFunc, 0, 0);
142250 if( SQLITE_OK==rc ){
142251 rc = sqlite3_create_function(db, zTest, -1, any, p, testFunc, 0, 0);
142253 if( SQLITE_OK==rc ){
142254 rc = sqlite3_create_function(db, zTest2, 0, any, pdb, intTestFunc, 0, 0);
142263 return rc;
142616 int rc = SQLITE_OK; /* Return code */
142630 rc = SQLITE_NOMEM;
142643 return rc;
142672 int rc;
142676 rc = sqlite3_declare_vtab(db, FTS3_TOK_SCHEMA);
142677 if( rc!=SQLITE_OK ) return rc;
142680 rc = fts3tokDequoteArray(nDequote, &argv[3], &azDequote);
142682 if( rc==SQLITE_OK ){
142689 rc = fts3tokQueryTokenizer((Fts3Hash*)pHash, zModule, &pMod, pzErr);
142692 assert( (rc==SQLITE_OK)==(pMod!=0) );
142693 if( rc==SQLITE_OK ){
142695 rc = pMod->xCreate((nDequote>1 ? nDequote-1 : 0), azArg, &pTok);
142698 if( rc==SQLITE_OK ){
142701 rc = SQLITE_NOMEM;
142705 if( rc==SQLITE_OK ){
142717 return rc;
142816 int rc; /* Return code */
142819 rc = pTab->pMod->xNext(pCsr->pCsr,
142824 if( rc!=SQLITE_OK ){
142826 if( rc==SQLITE_DONE ) rc = SQLITE_OK;
142829 return rc;
142842 int rc = SQLITE_ERROR;
142854 rc = SQLITE_NOMEM;
142858 rc = pTab->pMod->xOpen(pTab->pTok, pCsr->zInput, nByte, &pCsr->pCsr);
142859 if( rc==SQLITE_OK ){
142865 if( rc!=SQLITE_OK ) return rc;
142951 int rc; /* Return code */
142953 rc = sqlite3_create_module(db, "fts3tokenize", &fts3tok_module, (void*)pHash);
142954 return rc;
143349 int rc = SQLITE_OK;
143366 rc = SQLITE_NOMEM;
143368 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, NULL);
143370 assert( rc==SQLITE_OK || pStmt==0 );
143377 for(i=0; rc==SQLITE_OK && i<nParam; i++){
143378 rc = sqlite3_bind_value(pStmt, i+1, apVal[i]);
143382 return rc;
143392 int rc; /* Return code */
143394 rc = fts3SqlStmt(pTab, SQL_SELECT_DOCSIZE, &pStmt, 0);
143395 if( rc==SQLITE_OK ){
143397 rc = sqlite3_step(pStmt);
143398 if( rc!=SQLITE_ROW || sqlite3_column_type(pStmt, 0)!=SQLITE_BLOB ){
143399 rc = sqlite3_reset(pStmt);
143400 if( rc==SQLITE_OK ) rc = FTS_CORRUPT_VTAB;
143403 rc = SQLITE_OK;
143408 return rc;
143416 int rc;
143417 rc = fts3SqlStmt(pTab, SQL_SELECT_STAT, &pStmt, 0);
143418 if( rc==SQLITE_OK ){
143423 rc = sqlite3_reset(pStmt);
143424 if( rc==SQLITE_OK ) rc = FTS_CORRUPT_VTAB;
143429 return rc;
143455 int rc;
143457 rc = fts3SqlStmt(p, eStmt, &pStmt, apVal);
143458 if( rc==SQLITE_OK ){
143460 rc = sqlite3_reset(pStmt);
143462 *pRC = rc;
143481 int rc = SQLITE_OK;
143485 rc = fts3SqlStmt(p, SQL_DELETE_SEGDIR_LEVEL, &pStmt, 0);
143486 if( rc==SQLITE_OK ){
143489 rc = sqlite3_reset(pStmt);
143493 return rc;
143558 int rc;
143567 rc = fts3SqlStmt(p, SQL_SELECT_LEVEL_RANGE, &pStmt, 0);
143568 if( rc==SQLITE_OK ){
143576 rc = fts3SqlStmt(p, SQL_SELECT_LEVEL, &pStmt, 0);
143577 if( rc==SQLITE_OK ){
143582 return rc;
143650 int rc = SQLITE_OK;
143661 if( SQLITE_OK!=(rc = fts3PendingListAppendVarint(&p, iDelta)) ){
143669 if( SQLITE_OK!=(rc = fts3PendingListAppendVarint(&p, 1))
143670 || SQLITE_OK!=(rc = fts3PendingListAppendVarint(&p, iCol))
143679 rc = fts3PendingListAppendVarint(&p, 2+iPos-p->iLastPos);
143680 if( rc==SQLITE_OK ){
143686 *pRc = rc;
143713 int rc = SQLITE_OK;
143719 if( fts3PendingListAppend(&pList, p->iPrevDocid, iCol, iPos, &rc) ){
143726 rc = SQLITE_NOMEM;
143729 if( rc==SQLITE_OK ){
143732 return rc;
143749 int rc;
143774 rc = sqlite3Fts3OpenTokenizer(pTokenizer, iLangid, zText, -1, &pCsr);
143775 if( rc!=SQLITE_OK ){
143776 return rc;
143780 while( SQLITE_OK==rc
143781 && SQLITE_OK==(rc = xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos))
143790 rc = SQLITE_ERROR;
143795 rc = fts3PendingTermsAddOne(
143801 for(i=1; rc==SQLITE_OK && i<p->nIndex; i++){
143804 rc = fts3PendingTermsAddOne(
143812 return (rc==SQLITE_DONE ? SQLITE_OK : rc);
143837 int rc = sqlite3Fts3PendingTermsFlush(p);
143838 if( rc!=SQLITE_OK ) return rc;
143881 int rc = fts3PendingTermsAdd(p, iLangid, zText, iCol, &aSz[iCol]);
143882 if( rc!=SQLITE_OK ){
143883 return rc;
143910 int rc; /* Return code */
143933 rc = fts3SqlStmt(p, SQL_CONTENT_INSERT, &pContentInsert, &apVal[1]);
143934 if( rc==SQLITE_OK && p->zLanguageid ){
143935 rc = sqlite3_bind_int(
143940 if( rc!=SQLITE_OK ) return rc;
143959 rc = sqlite3_bind_value(pContentInsert, 1, apVal[3+p->nColumn]);
143960 if( rc!=SQLITE_OK ) return rc;
143967 rc = sqlite3_reset(pContentInsert);
143970 return rc;
143980 int rc = SQLITE_OK; /* Return code */
143988 if( bContent ) fts3SqlExec(&rc, p, SQL_DELETE_ALL_CONTENT, 0);
143989 fts3SqlExec(&rc, p, SQL_DELETE_ALL_SEGMENTS, 0);
143990 fts3SqlExec(&rc, p, SQL_DELETE_ALL_SEGDIR, 0);
143992 fts3SqlExec(&rc, p, SQL_DELETE_ALL_DOCSIZE, 0);
143995 fts3SqlExec(&rc, p, SQL_DELETE_ALL_STAT, 0);
143997 return rc;
144021 int rc;
144026 rc = fts3SqlStmt(p, SQL_SELECT_CONTENT_BY_ROWID, &pSelect, &pRowid);
144027 if( rc==SQLITE_OK ){
144031 rc = fts3PendingTermsDocid(p, iLangid, sqlite3_column_int64(pSelect, 0));
144032 for(i=1; rc==SQLITE_OK && i<=p->nColumn; i++){
144036 rc = fts3PendingTermsAdd(p, iLangid, zText, -1, &aSz[iCol]);
144040 if( rc!=SQLITE_OK ){
144042 *pRC = rc;
144047 rc = sqlite3_reset(pSelect);
144051 *pRC = rc;
144082 int rc; /* Return Code */
144090 rc = fts3SqlStmt(p, SQL_NEXT_SEGMENT_INDEX, &pNextIdx, 0);
144091 if( rc==SQLITE_OK ){
144098 rc = sqlite3_reset(pNextIdx);
144101 if( rc==SQLITE_OK ){
144109 rc = fts3SegmentMerge(p, iLangid, iIndex, iLevel);
144116 return rc;
144153 int rc; /* Return code */
144159 rc = sqlite3_blob_reopen(p->pSegments, iBlockid);
144165 rc = sqlite3_blob_open(
144170 if( rc==SQLITE_OK ){
144176 rc = SQLITE_NOMEM;
144182 rc = sqlite3_blob_read(p->pSegments, aByte, nByte, 0);
144184 if( rc!=SQLITE_OK ){
144193 return rc;
144207 int rc; /* Return code */
144210 rc = sqlite3_blob_read(
144217 if( rc==SQLITE_OK ){
144226 return rc;
144230 int rc = SQLITE_OK;
144234 while( pReader->pBlob && rc==SQLITE_OK
144237 rc = fts3SegReaderIncrRead(pReader);
144239 return rc;
144264 int rc; /* Return code of various sub-routines */
144302 rc = sqlite3Fts3ReadBlock(
144306 if( rc!=SQLITE_OK ) return rc;
144317 rc = fts3SegReaderRequire(pReader, pNext, FTS3_VARINT_MAX*2);
144318 if( rc!=SQLITE_OK ) return rc;
144340 rc = fts3SegReaderRequire(pReader, pNext, nSuffix+FTS3_VARINT_MAX);
144341 if( rc!=SQLITE_OK ) return rc;
144367 int rc = SQLITE_OK;
144379 rc = fts3SegReaderRequire(pReader, pReader->aDoclist, FTS3_VARINT_MAX);
144380 if( rc==SQLITE_OK ){
144385 return rc;
144404 int rc = SQLITE_OK;
144446 rc = fts3SegReaderIncrRead(pReader);
144447 if( rc!=SQLITE_OK ) return rc;
144470 rc = fts3SegReaderRequire(pReader, p, FTS3_VARINT_MAX);
144471 if( rc==SQLITE_OK ){
144495 int rc = SQLITE_OK;
144501 for(ii=0; rc==SQLITE_OK && ii<pMsr->nSegment; ii++){
144509 rc = sqlite3Fts3ReadBlock(p, jj, 0, &nBlob, 0);
144510 if( rc!=SQLITE_OK ) break;
144518 return rc;
144635 int rc = SQLITE_OK; /* Return Code */
144653 rc = SQLITE_NOMEM;
144691 rc = SQLITE_NOMEM;
144704 return rc;
144720 int rc;
144724 rc = memcmp(pLhs->zTerm, pRhs->zTerm, pLhs->nTerm);
144726 rc = memcmp(pLhs->zTerm, pRhs->zTerm, pRhs->nTerm);
144728 if( rc==0 ){
144729 rc = rc2;
144732 rc = (pLhs->aNode==0) - (pRhs->aNode==0);
144734 if( rc==0 ){
144735 rc = pRhs->iIdx - pLhs->iIdx;
144737 assert( rc!=0 );
144738 return rc;
144753 int rc = (pLhs->pOffsetList==0)-(pRhs->pOffsetList==0);
144754 if( rc==0 ){
144756 rc = pRhs->iIdx - pLhs->iIdx;
144758 rc = (pLhs->iDocid > pRhs->iDocid) ? 1 : -1;
144762 return rc;
144765 int rc = (pLhs->pOffsetList==0)-(pRhs->pOffsetList==0);
144766 if( rc==0 ){
144768 rc = pRhs->iIdx - pLhs->iIdx;
144770 rc = (pLhs->iDocid < pRhs->iDocid) ? 1 : -1;
144774 return rc;
144850 int rc = fts3SqlStmt(p, SQL_INSERT_SEGMENTS, &pStmt, 0);
144851 if( rc==SQLITE_OK ){
144855 rc = sqlite3_reset(pStmt);
144857 return rc;
144866 int rc;
144870 rc = fts3SqlStmt(p, SQL_SELECT_MXLEVEL, &pStmt, 0);
144871 if( rc==SQLITE_OK ){
144875 rc = sqlite3_reset(pStmt);
144878 return rc;
144896 int rc = fts3SqlStmt(p, SQL_INSERT_SEGDIR, &pStmt, 0);
144897 if( rc==SQLITE_OK ){
144911 rc = sqlite3_reset(pStmt);
144913 return rc;
144948 int rc;
145029 rc = fts3NodeAddTerm(p, &pParent, isCopyTerm, zTerm, nTerm);
145041 rc = fts3NodeAddTerm(p, &pNew, isCopyTerm, zTerm, nTerm);
145045 return rc;
145087 int rc = SQLITE_OK;
145099 for(pIter=pTree->pLeftmost; pIter && rc==SQLITE_OK; pIter=pIter->pRight){
145103 rc = fts3WriteSegment(p, iNextFree, &pIter->aData[nStart], nWrite);
145107 if( rc==SQLITE_OK ){
145109 rc = fts3NodeWrite(
145115 return rc;
145162 int rc;
145177 rc = fts3SqlStmt(p, SQL_NEXT_SEGMENTS_ID, &pStmt, 0);
145178 if( rc!=SQLITE_OK ) return rc;
145183 rc = sqlite3_reset(pStmt);
145184 if( rc!=SQLITE_OK ) return rc;
145199 int rc;
145202 rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, nData);
145203 if( rc!=SQLITE_OK ) return rc;
145219 rc = fts3NodeAddTerm(p, &pWriter->pTree, isCopyTerm, zTerm, nPrefix+1);
145220 if( rc!=SQLITE_OK ) return rc;
145294 int rc; /* Return code */
145302 rc = fts3WriteSegment(p, pWriter->iFree++, pWriter->aData, pWriter->nData);
145303 if( rc==SQLITE_OK ){
145304 rc = fts3NodeWrite(p, pWriter->pTree, 1,
145307 if( rc==SQLITE_OK ){
145308 rc = fts3WriteSegdir(p, iLevel, iIdx,
145313 rc = fts3WriteSegdir(p, iLevel, iIdx,
145317 return rc;
145345 int rc;
145349 rc = SQLITE_OK;
145351 rc = fts3SqlStmt(p, SQL_IS_EMPTY, &pStmt, &pRowid);
145352 if( rc==SQLITE_OK ){
145356 rc = sqlite3_reset(pStmt);
145359 return rc;
145377 int rc;
145386 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR_MAX_LEVEL, &pStmt, 0);
145387 if( rc!=SQLITE_OK ) return rc;
145415 int rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR_MAX_LEVEL, &pStmt, 0);
145416 if( rc!=SQLITE_OK ) return rc;
145438 int rc = SQLITE_OK; /* Return code */
145441 rc = fts3SqlStmt(p, SQL_DELETE_SEGMENTS_RANGE, &pDelete, 0);
145442 if( rc==SQLITE_OK ){
145446 rc = sqlite3_reset(pDelete);
145449 return rc;
145474 int rc = SQLITE_OK; /* Return Code */
145478 for(i=0; rc==SQLITE_OK && i<nReader; i++){
145479 rc = fts3DeleteSegment(p, apSegment[i]);
145481 if( rc!=SQLITE_OK ){
145482 return rc;
145487 rc = fts3SqlStmt(p, SQL_DELETE_SEGDIR_RANGE, &pDelete, 0);
145488 if( rc==SQLITE_OK ){
145495 rc = fts3SqlStmt(p, SQL_DELETE_SEGDIR_LEVEL, &pDelete, 0);
145496 if( rc==SQLITE_OK ){
145503 if( rc==SQLITE_OK ){
145505 rc = sqlite3_reset(pDelete);
145508 return rc;
145611 int rc;
145617 rc = fts3SegReaderNextDocid(p, apSegment[0], &pList, &nList);
145619 while( rc==SQLITE_OK
145624 rc = fts3SegReaderNextDocid(p, apSegment[j], 0, 0);
145627 if( rc!=SQLITE_OK ) return rc;
145631 rc = fts3MsrBufferData(pMsr, pList, nList+1);
145632 if( rc!=SQLITE_OK ) return rc;
145672 int rc = fts3SegReaderNext(p, pSeg, 0);
145673 if( rc!=SQLITE_OK ) return rc;
145702 int rc;
145712 rc = fts3SegReaderStart(p, pCsr, zTerm, nTerm);
145713 if( rc!=SQLITE_OK ) return rc;
145726 rc = fts3SegReaderFirstDocid(p, pCsr->apSegment[i]);
145727 if( rc!=SQLITE_OK ) return rc;
145773 int rc = SQLITE_OK;
145803 rc = fts3SegReaderNext(p, pSeg, 0);
145805 if( rc!=SQLITE_OK ) return rc;
145811 assert( rc==SQLITE_OK );
145850 rc = fts3MsrBufferData(pCsr, apSegment[0]->aDoclist, pCsr->nDoclist);
145855 if( rc==SQLITE_OK ) rc = SQLITE_ROW;
145937 rc = SQLITE_ROW;
145941 }while( rc==SQLITE_OK );
145943 return rc;
146012 int rc = SQLITE_OK;
146015 rc = fts3SqlStmt(p, SQL_SELECT_LEVEL_RANGE2, &pRange, 0);
146017 if( rc==SQLITE_OK ){
146043 rc = sqlite3_reset(pRange);
146050 if( rc==SQLITE_OK ){
146051 rc = fts3SqlStmt(p, SQL_UPDATE_LEVEL_IDX, &pUpdate1, 0);
146053 if( rc==SQLITE_OK ){
146054 rc = fts3SqlStmt(p, SQL_UPDATE_LEVEL, &pUpdate2, 0);
146057 if( rc==SQLITE_OK ){
146074 rc = sqlite3_reset(pUpdate1);
146075 if( rc!=SQLITE_OK ){
146081 if( rc==SQLITE_OK ){
146082 rc = sqlite3_reset(pRange);
146086 if( rc==SQLITE_OK ){
146089 rc = sqlite3_reset(pUpdate2);
146095 return rc;
146115 int rc; /* Return code */
146131 rc = sqlite3Fts3SegReaderCursor(p, iLangid, iIndex, iLevel, 0, 0, 1, 0, &csr);
146132 if( rc!=SQLITE_OK || csr.nSegment==0 ) goto finished;
146135 rc = fts3SegmentMaxLevel(p, iLangid, iIndex, &iMaxLevel);
146136 if( rc!=SQLITE_OK ) goto finished;
146145 rc = SQLITE_DONE;
146158 rc = fts3AllocateSegdirIdx(p, iLangid, iIndex, iLevel+1, &iIdx);
146161 if( rc!=SQLITE_OK ) goto finished;
146171 rc = sqlite3Fts3SegReaderStart(p, &csr, &filter);
146172 while( SQLITE_OK==rc ){
146173 rc = sqlite3Fts3SegReaderStep(p, &csr);
146174 if( rc!=SQLITE_ROW ) break;
146175 rc = fts3SegWriterAdd(p, &pWriter, 1,
146178 if( rc!=SQLITE_OK ) goto finished;
146182 rc = fts3DeleteSegdir(
146185 if( rc!=SQLITE_OK ) goto finished;
146188 rc = fts3SegWriterFlush(p, pWriter, iNewLevel, iIdx);
146189 if( rc==SQLITE_OK ){
146191 rc = fts3PromoteSegments(p, iNewLevel, pWriter->nLeafData);
146199 return rc;
146207 int rc = SQLITE_OK;
146210 for(i=0; rc==SQLITE_OK && i<p->nIndex; i++){
146211 rc = fts3SegmentMerge(p, p->iPrevLangid, i, FTS3_SEGCURSOR_PENDING);
146212 if( rc==SQLITE_DONE ) rc = SQLITE_OK;
146219 if( rc==SQLITE_OK && p->bHasStat
146223 rc = fts3SqlStmt(p, SQL_SELECT_STAT, &pStmt, 0);
146224 if( rc==SQLITE_OK ){
146226 rc = sqlite3_step(pStmt);
146227 if( rc==SQLITE_ROW ){
146230 }else if( rc==SQLITE_DONE ){
146233 rc = sqlite3_reset(pStmt);
146236 return rc;
146287 int rc; /* Result code from subfunctions */
146296 rc = fts3SqlStmt(p, SQL_REPLACE_DOCSIZE, &pStmt, 0);
146297 if( rc ){
146299 *pRC = rc;
146335 int rc; /* Result code from subfunctions */
146346 rc = fts3SqlStmt(p, SQL_SELECT_STAT, &pStmt, 0);
146347 if( rc ){
146349 *pRC = rc;
146360 rc = sqlite3_reset(pStmt);
146361 if( rc!=SQLITE_OK ){
146363 *pRC = rc;
146381 rc = fts3SqlStmt(p, SQL_REPLACE_STAT, &pStmt, 0);
146382 if( rc ){
146384 *pRC = rc;
146400 int rc;
146403 rc = fts3SqlStmt(p, SQL_SELECT_ALL_LANGID, &pAllLangid, 0);
146404 if( rc==SQLITE_OK ){
146411 for(i=0; rc==SQLITE_OK && i<p->nIndex; i++){
146412 rc = fts3SegmentMerge(p, iLangid, i, FTS3_SEGCURSOR_ALL);
146413 if( rc==SQLITE_DONE ){
146415 rc = SQLITE_OK;
146420 if( rc==SQLITE_OK ) rc = rc2;
146426 return (rc==SQLITE_OK && bReturnDone && bSeenDone) ? SQLITE_DONE : rc;
146440 int rc; /* Return Code */
146442 rc = fts3DeleteAll(p, 0);
146443 if( rc==SQLITE_OK ){
146453 rc = SQLITE_NOMEM;
146455 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
146459 if( rc==SQLITE_OK ){
146463 rc = SQLITE_NOMEM;
146471 while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pStmt) ){
146474 rc = fts3PendingTermsDocid(p, iLangid, sqlite3_column_int64(pStmt, 0));
146476 for(iCol=0; rc==SQLITE_OK && iCol<p->nColumn; iCol++){
146479 rc = fts3PendingTermsAdd(p, iLangid, z, iCol, &aSz[iCol]);
146484 fts3InsertDocsize(&rc, p, aSz);
146486 if( rc!=SQLITE_OK ){
146497 fts3UpdateDocTotals(&rc, p, aSzIns, aSzDel, nEntry);
146503 if( rc==SQLITE_OK ){
146504 rc = rc2;
146509 return rc;
146525 int rc; /* Return Code */
146535 rc = SQLITE_NOMEM;
146538 rc = fts3SqlStmt(p, SQL_SELECT_LEVEL, &pStmt, 0);
146540 if( rc==SQLITE_OK ){
146545 for(i=0; rc==SQLITE_OK && sqlite3_step(pStmt)==SQLITE_ROW && i<nSeg; i++){
146546 rc = sqlite3Fts3SegReaderNew(i, 0,
146557 if( rc==SQLITE_OK ) rc = rc2;
146560 return rc;
146662 int rc = SQLITE_OK; /* Return code */
146675 blobGrowBuffer(&p->term, nPrefix+nSuffix, &rc);
146676 if( rc==SQLITE_OK ){
146690 return rc;
146746 int rc = SQLITE_OK;
146767 blobGrowBuffer(pBlk, p->nNodeSize, &rc);
146768 if( rc==SQLITE_OK ){
146773 blobGrowBuffer(pBlk, pBlk->n + nSpace, &rc);
146774 blobGrowBuffer(&pNode->key, nTerm, &rc);
146776 if( rc==SQLITE_OK ){
146791 rc = fts3WriteSegment(p, pNode->iBlock, pNode->block.a, pNode->block.n);
146802 if( rc!=SQLITE_OK || iNextPtr==0 ) return rc;
146842 int rc = SQLITE_OK; /* Return code */
146852 blobGrowBuffer(pPrev, nTerm, &rc);
146853 if( rc!=SQLITE_OK ) return rc;
146893 int rc = SQLITE_OK; /* Return code */
146911 rc = fts3WriteSegment(p, pLeaf->iBlock, pLeaf->block.a, pLeaf->block.n);
146926 if( rc==SQLITE_OK ){
146927 rc = fts3IncrmergePush(p, pWriter, zTerm, nPrefix+1);
146942 blobGrowBuffer(&pLeaf->block, pLeaf->block.n + nSpace, &rc);
146943 if( rc==SQLITE_OK ){
146948 rc = fts3AppendToNode(
146953 return rc;
146977 int rc = *pRc; /* Error code */
147012 blobGrowBuffer(pBlock, 1 + FTS3_VARINT_MAX, &rc);
147013 if( rc==SQLITE_OK ){
147026 if( pNode->block.n>0 && rc==SQLITE_OK ){
147027 rc = fts3WriteSegment(p, pNode->iBlock, pNode->block.a, pNode->block.n);
147034 if( rc==SQLITE_OK ){
147035 rc = fts3WriteSegdir(p,
147048 *pRc = rc;
147088 int rc; /* Return code */
147090 rc = fts3SqlStmt(p, SQL_SEGMENT_IS_APPENDABLE, &pCheck, 0);
147091 if( rc==SQLITE_OK ){
147094 rc = sqlite3_reset(pCheck);
147098 return rc;
147124 int rc; /* Return code */
147127 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR, &pSelect, 0);
147128 if( rc==SQLITE_OK ){
147155 rc = fts3IsAppendable(p, iEnd, &bAppendable);
147158 if( rc==SQLITE_OK && bAppendable ){
147162 rc = sqlite3Fts3ReadBlock(p, iLeafEnd, &aLeaf, &nLeaf, 0);
147163 if( rc==SQLITE_OK ){
147165 for(rc = nodeReaderInit(&reader, aLeaf, nLeaf);
147166 rc==SQLITE_OK && reader.aNode;
147167 rc = nodeReaderNext(&reader)
147179 if( rc==SQLITE_OK && bAppendable ){
147198 blobGrowBuffer(&pNode->block, MAX(nRoot, p->nNodeSize), &rc);
147199 if( rc==SQLITE_OK ){
147204 for(i=nHeight; i>=0 && rc==SQLITE_OK; i--){
147208 rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n);
147209 while( reader.aNode && rc==SQLITE_OK ) rc = nodeReaderNext(&reader);
147210 blobGrowBuffer(&pNode->key, reader.term.n, &rc);
147211 if( rc==SQLITE_OK ){
147219 rc = sqlite3Fts3ReadBlock(p, reader.iChild, &aBlock, &nBlock, 0);
147220 blobGrowBuffer(&pNode->block, MAX(nBlock, p->nNodeSize), &rc);
147221 if( rc==SQLITE_OK ){
147233 if( rc==SQLITE_OK ) rc = rc2;
147236 return rc;
147253 int rc;
147256 rc = fts3SqlStmt(p, SQL_NEXT_SEGMENT_INDEX, &pOutputIdx, 0);
147257 if( rc==SQLITE_OK ){
147261 rc = sqlite3_reset(pOutputIdx);
147264 return rc;
147300 int rc; /* Return Code */
147307 rc = fts3SqlStmt(p, SQL_MAX_LEAF_NODE_ESTIMATE, &pLeafEst, 0);
147308 if( rc==SQLITE_OK ){
147314 rc = sqlite3_reset(pLeafEst);
147316 if( rc!=SQLITE_OK ) return rc;
147319 rc = fts3SqlStmt(p, SQL_NEXT_SEGMENTS_ID, &pFirstBlock, 0);
147320 if( rc==SQLITE_OK ){
147326 rc = sqlite3_reset(pFirstBlock);
147328 if( rc!=SQLITE_OK ) return rc;
147333 rc = fts3WriteSegment(p, pWriter->iEnd, 0, 0);
147334 if( rc!=SQLITE_OK ) return rc;
147363 int rc; /* Return code */
147366 rc = fts3SqlStmt(p, SQL_DELETE_SEGDIR_ENTRY, &pDelete, 0);
147367 if( rc==SQLITE_OK ){
147371 rc = sqlite3_reset(pDelete);
147374 return rc;
147386 int rc; /* Return code */
147394 rc = fts3SqlStmt(p, SQL_SELECT_INDEXES, &pSelect, 0);
147395 if( rc==SQLITE_OK ){
147404 rc = SQLITE_NOMEM;
147412 if( rc==SQLITE_OK ) rc = rc2;
147415 if( rc==SQLITE_OK ){
147416 rc = fts3SqlStmt(p, SQL_SHIFT_SEGDIR_ENTRY, &pUpdate, 0);
147418 if( rc==SQLITE_OK ){
147424 for(i=0; rc==SQLITE_OK && i<nIdx; i++){
147429 rc = sqlite3_reset(pUpdate);
147435 return rc;
147467 int rc = SQLITE_OK; /* Return code */
147471 blobGrowBuffer(pNew, nNode, &rc);
147472 if( rc!=SQLITE_OK ) return rc;
147476 for(rc = nodeReaderInit(&reader, aNode, nNode);
147477 rc==SQLITE_OK && reader.aNode;
147478 rc = nodeReaderNext(&reader)
147486 rc = fts3AppendToNode(
147490 if( rc!=SQLITE_OK ) break;
147500 return rc;
147519 int rc = SQLITE_OK; /* Return code */
147527 rc = fts3SqlStmt(p, SQL_SELECT_SEGDIR, &pFetch, 0);
147528 if( rc==SQLITE_OK ){
147536 rc = fts3TruncateNode(aRoot, nRoot, &root, zTerm, nTerm, &iBlock);
147539 if( rc==SQLITE_OK ) rc = rc2;
147542 while( rc==SQLITE_OK && iBlock ){
147547 rc = sqlite3Fts3ReadBlock(p, iBlock, &aBlock, &nBlock, 0);
147548 if( rc==SQLITE_OK ){
147549 rc = fts3TruncateNode(aBlock, nBlock, &block, zTerm, nTerm, &iBlock);
147551 if( rc==SQLITE_OK ){
147552 rc = fts3WriteSegment(p, iNewStart, block.a, block.n);
147558 if( rc==SQLITE_OK && iNewStart ){
147560 rc = fts3SqlStmt(p, SQL_DELETE_SEGMENTS_RANGE, &pDel, 0);
147561 if( rc==SQLITE_OK ){
147565 rc = sqlite3_reset(pDel);
147569 if( rc==SQLITE_OK ){
147571 rc = fts3SqlStmt(p, SQL_CHOMP_SEGDIR, &pChomp, 0);
147572 if( rc==SQLITE_OK ){
147578 rc = sqlite3_reset(pChomp);
147584 return rc;
147605 int rc = SQLITE_OK;
147607 for(i=pCsr->nSegment-1; i>=0 && rc==SQLITE_OK; i--){
147621 rc = fts3DeleteSegment(p, pSeg);
147622 if( rc==SQLITE_OK ){
147623 rc = fts3RemoveSegdirEntry(p, iAbsLevel, pSeg->iIdx);
147632 rc = fts3TruncateSegment(p, iAbsLevel, pSeg->iIdx, zTerm, nTerm);
147637 if( rc==SQLITE_OK && nRem!=pCsr->nSegment ){
147638 rc = fts3RepackSegdirLevel(p, iAbsLevel);
147642 return rc;
147650 int rc; /* Return code */
147652 rc = fts3SqlStmt(p, SQL_REPLACE_STAT, &pReplace, 0);
147653 if( rc==SQLITE_OK ){
147657 rc = sqlite3_reset(pReplace);
147660 return rc;
147673 int rc;
147676 rc = fts3SqlStmt(p, SQL_SELECT_STAT, &pSelect, 0);
147677 if( rc==SQLITE_OK ){
147684 blobGrowBuffer(pHint, nHint, &rc);
147685 if( rc==SQLITE_OK ){
147692 if( rc==SQLITE_OK ) rc = rc2;
147695 return rc;
147755 int rc; /* Return code */
147772 rc = fts3IncrmergeHintLoad(p, &hint);
147773 while( rc==SQLITE_OK && nRem>0 ){
147785 rc = fts3SqlStmt(p, SQL_FIND_MERGE_LEVEL, &pFindLevel, 0);
147793 rc = sqlite3_reset(pFindLevel);
147800 if( rc==SQLITE_OK && hint.n ){
147805 rc = fts3IncrmergeHintPop(&hint, &iHintAbsLevel, &nHintSeg);
147832 if( rc==SQLITE_OK ){
147833 rc = fts3IncrmergeOutputIdx(p, iAbsLevel, &iIdx);
147837 rc = fts3SegmentIsMaxLevel(p, iAbsLevel+1, &bIgnore);
147844 if( rc==SQLITE_OK ){
147845 rc = fts3IncrmergeCsr(p, iAbsLevel, nSeg, pCsr);
147847 if( SQLITE_OK==rc && pCsr->nSegment==nSeg
147848 && SQLITE_OK==(rc = sqlite3Fts3SegReaderStart(p, pCsr, pFilter))
147849 && SQLITE_ROW==(rc = sqlite3Fts3SegReaderStep(p, pCsr))
147854 rc = fts3IncrmergeLoad(p, iAbsLevel, iIdx-1, zKey, nKey, pWriter);
147856 rc = fts3IncrmergeWriter(p, iAbsLevel, iIdx, pCsr, pWriter);
147859 if( rc==SQLITE_OK && pWriter->nLeafEst ){
147862 rc = fts3IncrmergeAppend(p, pWriter, pCsr);
147863 if( rc==SQLITE_OK ) rc = sqlite3Fts3SegReaderStep(p, pCsr);
147864 if( pWriter->nWork>=nRem && rc==SQLITE_ROW ) rc = SQLITE_OK;
147865 }while( rc==SQLITE_ROW );
147868 if( rc==SQLITE_OK ){
147870 rc = fts3IncrmergeChomp(p, iAbsLevel, pCsr, &nSeg);
147873 fts3IncrmergeHintPush(&hint, iAbsLevel, nSeg, &rc);
147881 fts3IncrmergeRelease(p, pWriter, &rc);
147891 if( bDirtyHint && rc==SQLITE_OK ){
147892 rc = fts3IncrmergeHintStore(p, &hint);
147897 return rc;
147926 int rc;
147942 rc = SQLITE_ERROR;
147944 rc = SQLITE_OK;
147947 sqlite3Fts3CreateStatTable(&rc, p);
147949 if( rc==SQLITE_OK ){
147950 rc = sqlite3Fts3Incrmerge(p, nMerge, nMin);
147954 return rc;
147969 int rc = SQLITE_OK;
147977 sqlite3Fts3CreateStatTable(&rc, p);
147978 if( rc ) return rc;
147980 rc = fts3SqlStmt(p, SQL_REPLACE_STAT, &pStmt, 0);
147981 if( rc ) return rc;
147985 rc = sqlite3_reset(pStmt);
147986 return rc;
148031 int rc;
148041 rc = sqlite3Fts3SegReaderCursor(
148044 if( rc==SQLITE_OK ){
148045 rc = sqlite3Fts3SegReaderStart(p, &csr, &filter);
148048 if( rc==SQLITE_OK ){
148049 while( SQLITE_ROW==(rc = sqlite3Fts3SegReaderStep(p, &csr)) ){
148084 *pRc = rc;
148098 int rc = SQLITE_OK; /* Return code */
148104 rc = fts3SqlStmt(p, SQL_SELECT_ALL_LANGID, &pAllLangid, 0);
148105 if( rc==SQLITE_OK ){
148109 while( rc==SQLITE_OK && sqlite3_step(pAllLangid)==SQLITE_ROW ){
148113 cksum1 = cksum1 ^ fts3ChecksumIndex(p, iLangid, i, &rc);
148117 if( rc==SQLITE_OK ) rc = rc2;
148121 if( rc==SQLITE_OK ){
148128 rc = SQLITE_NOMEM;
148130 rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
148134 while( rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pStmt) ){
148139 for(iCol=0; rc==SQLITE_OK && iCol<p->nColumn; iCol++){
148145 rc = sqlite3Fts3OpenTokenizer(p->pTokenizer, iLang, zText, nText,&pT);
148146 while( rc==SQLITE_OK ){
148152 rc = pModule->xNext(pT, &zToken, &nToken, &iDum1, &iDum2, &iPos);
148153 if( rc==SQLITE_OK ){
148168 if( rc==SQLITE_DONE ) rc = SQLITE_OK;
148177 return rc;
148214 int rc;
148216 rc = fts3IntegrityCheck(p, &bOk);
148217 if( rc==SQLITE_OK && bOk==0 ) rc = FTS_CORRUPT_VTAB;
148218 return rc;
148230 int rc; /* Return Code */
148237 rc = fts3DoOptimize(p, 0);
148239 rc = fts3DoRebuild(p);
148241 rc = fts3DoIntegrityCheck(p);
148243 rc = fts3DoIncrmerge(p, &zVal[6]);
148245 rc = fts3DoAutoincrmerge(p, &zVal[10]);
148249 rc = SQLITE_OK;
148252 rc = SQLITE_OK;
148255 rc = SQLITE_OK;
148258 rc = SQLITE_ERROR;
148261 return rc;
148301 int rc = SQLITE_OK; /* Return code */
148314 for(i=0; i<p->nColumn && rc==SQLITE_OK; i++){
148319 rc = sqlite3Fts3OpenTokenizer(pT, pCsr->iLangid, zText, -1, &pTC);
148320 while( rc==SQLITE_OK ){
148326 rc = pModule->xNext(pTC, &zToken, &nToken, &iDum1, &iDum2, &iPos);
148327 for(pDef=pCsr->pDeferred; pDef && rc==SQLITE_OK; pDef=pDef->pNext){
148334 fts3PendingListAppend(&pDef->pList, iDocid, i, iPos, &rc);
148339 if( rc==SQLITE_DONE ) rc = SQLITE_OK;
148343 for(pDef=pCsr->pDeferred; pDef && rc==SQLITE_OK; pDef=pDef->pNext){
148345 rc = fts3PendingListAppendVarint(&pDef->pList, 0);
148350 return rc;
148417 int rc = SQLITE_OK; /* Return code */
148420 fts3DeleteTerms(&rc, p, pRowid, aSzDel, &bFound);
148421 if( bFound && rc==SQLITE_OK ){
148423 rc = fts3IsEmpty(p, pRowid, &isEmpty);
148424 if( rc==SQLITE_OK ){
148429 rc = fts3DeleteAll(p, 1);
148435 fts3SqlExec(&rc, p, SQL_DELETE_CONTENT, &pRowid);
148438 fts3SqlExec(&rc, p, SQL_DELETE_DOCSIZE, &pRowid);
148444 return rc;
148467 int rc = SQLITE_OK; /* Return Code */
148492 rc = fts3SpecialInsert(p, apVal[p->nColumn+2]);
148497 rc = SQLITE_CONSTRAINT;
148504 rc = SQLITE_NOMEM;
148510 rc = fts3Writelock(p);
148511 if( rc!=SQLITE_OK ) goto update_out;
148551 rc = fts3DeleteByRowid(p, pNewRowid, &nChng, aSzDel);
148553 rc = fts3InsertData(p, apVal, pRowid);
148558 if( rc!=SQLITE_OK ){
148565 rc = fts3DeleteByRowid(p, apVal[0], &nChng, aSzDel);
148570 if( nArg>1 && rc==SQLITE_OK ){
148573 rc = fts3InsertData(p, apVal, pRowid);
148574 if( rc==SQLITE_CONSTRAINT && p->zContentTbl==0 ){
148575 rc = FTS_CORRUPT_VTAB;
148578 if( rc==SQLITE_OK && (!isRemove || *pRowid!=p->iPrevDocid ) ){
148579 rc = fts3PendingTermsDocid(p, iLangid, *pRowid);
148581 if( rc==SQLITE_OK ){
148583 rc = fts3InsertTerms(p, iLangid, apVal, aSzIns);
148586 fts3InsertDocsize(&rc, p, aSzIns);
148592 fts3UpdateDocTotals(&rc, p, aSzIns, aSzDel, nChng);
148598 return rc;
148607 int rc;
148608 rc = sqlite3_exec(p->db, "SAVEPOINT fts3", 0, 0, 0);
148609 if( rc==SQLITE_OK ){
148610 rc = fts3DoOptimize(p, 1);
148611 if( rc==SQLITE_OK || rc==SQLITE_DONE ){
148613 if( rc2!=SQLITE_OK ) rc = rc2;
148620 return rc;
148770 int rc; /* Return code */
148775 rc = fts3ExprIterate2(pExpr->pLeft, piPhrase, x, pCtx);
148776 if( rc==SQLITE_OK && eType!=FTSQUERY_NOT ){
148777 rc = fts3ExprIterate2(pExpr->pRight, piPhrase, x, pCtx);
148780 rc = x(pExpr, *piPhrase, pCtx);
148783 return rc;
148811 int rc = SQLITE_OK;
148820 return rc;
148838 int rc; /* Return Code */
148841 rc = fts3ExprIterate(pCsr->pExpr, fts3ExprLoadDoclistsCb, (void *)&sCtx);
148844 return rc;
148989 int rc;
148992 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pCsr);
148993 assert( rc==SQLITE_OK || pCsr==0 );
149004 assert( rc!=SQLITE_OK || (
149009 return rc;
149036 int rc; /* Return Code */
149048 rc = fts3ExprLoadDoclists(pCsr, &nList, 0);
149049 if( rc!=SQLITE_OK ){
149050 return rc;
149071 rc = fts3ExprIterate(pCsr->pExpr, fts3SnippetFindPositions, (void *)&sIter);
149072 if( rc==SQLITE_OK ){
149103 return rc;
149195 int rc; /* Return Code */
149203 rc = sqlite3Fts3OpenTokenizer(pTab->pTokenizer, iLangid, zDoc, nDoc, &pC);
149204 if( rc!=SQLITE_OK ){
149205 return rc;
149207 while( rc==SQLITE_OK && iCurrent<(nSnippet+nDesired) ){
149209 rc = pMod->xNext(pC, &ZDUMMY, &DUMMY1, &DUMMY2, &DUMMY3, &iCurrent);
149212 if( rc!=SQLITE_OK && rc!=SQLITE_DONE ){ return rc; }
149214 nShift = (rc==SQLITE_DONE)+iCurrent-nSnippet;
149241 int rc; /* Return code */
149264 rc = sqlite3Fts3OpenTokenizer(pTab->pTokenizer, pCsr->iLangid, zDoc,nDoc,&pC);
149265 if( rc!=SQLITE_OK ){
149266 return rc;
149269 while( rc==SQLITE_OK ){
149287 rc = pMod->xNext(pC, &ZDUMMY, &DUMMY1, &iBegin, &iFin, &iCurrent);
149288 if( rc!=SQLITE_OK ){
149289 if( rc==SQLITE_DONE ){
149294 rc = fts3StringAppend(pOut, &zDoc[iEnd], -1);
149302 rc = fts3SnippetShift(
149311 if( rc==SQLITE_OK ){
149313 rc = fts3StringAppend(pOut, zEllipsis, -1);
149315 rc = fts3StringAppend(pOut, zDoc, iBegin);
149318 if( rc!=SQLITE_OK || iCurrent<iPos ) continue;
149323 rc = fts3StringAppend(pOut, zEllipsis, -1);
149331 if( iCurrent>iPos ) rc = fts3StringAppend(pOut, &zDoc[iEnd], iBegin-iEnd);
149332 if( rc==SQLITE_OK && isHighlight ) rc = fts3StringAppend(pOut, zOpen, -1);
149333 if( rc==SQLITE_OK ) rc = fts3StringAppend(pOut, &zDoc[iBegin], iFin-iBegin);
149334 if( rc==SQLITE_OK && isHighlight ) rc = fts3StringAppend(pOut, zClose, -1);
149340 return rc;
149420 int rc = SQLITE_OK;
149425 for(i=0; i<p->nCol && rc==SQLITE_OK; i++){
149427 rc = sqlite3Fts3EvalPhrasePoslist(p->pCursor, pExpr, i, &pCsr);
149435 return rc;
149449 int rc = SQLITE_OK;
149480 return rc;
149543 int rc = sqlite3Fts3SelectDoctotal(pTab, ppStmt);
149544 if( rc!=SQLITE_OK ) return rc;
149596 int rc = 0;
149601 rc = 1;
149607 return rc;
149646 int rc;
149648 rc = sqlite3Fts3EvalPhrasePoslist(pCsr, pIt->pExpr, iCol, &pIt->pRead);
149649 if( rc!=SQLITE_OK ) return rc;
149711 int rc = SQLITE_OK;
149716 for(i=0; rc==SQLITE_OK && zArg[i]; i++){
149730 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, 0);
149740 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &nDoc, &a);
149741 if( rc==SQLITE_OK ){
149756 rc = sqlite3Fts3SelectDocsize(pTab, pCsr->iPrevId, &pSelectDocsize);
149757 if( rc==SQLITE_OK ){
149771 rc = fts3ExprLoadDoclists(pCsr, 0, 0);
149772 if( rc==SQLITE_OK ){
149773 rc = fts3MatchinfoLcs(pCsr, pInfo);
149785 rc = fts3ExprLoadDoclists(pCsr, 0, 0);
149786 if( rc!=SQLITE_OK ) break;
149789 rc = fts3MatchinfoSelectDoctotal(pTab, &pSelect, &pInfo->nDoc, 0);
149790 if( rc!=SQLITE_OK ) break;
149792 rc = fts3ExprIterate(pExpr, fts3ExprGlobalHitsCb,(void*)pInfo);
149793 if( rc!=SQLITE_OK ) break;
149804 return rc;
149818 int rc = SQLITE_OK;
149870 rc = fts3MatchinfoValues(pCsr, bGlobal, &sInfo, zArg);
149874 return rc;
149890 int rc = SQLITE_OK;
149940 rc = fts3BestSnippet(nFToken, pCsr, iRead, mCovered, &mSeen, &sF, &iS);
149941 if( rc!=SQLITE_OK ){
149962 for(i=0; i<nSnippet && rc==SQLITE_OK; i++){
149963 rc = fts3SnippetText(pCsr, &aSnippet[i],
149970 if( rc!=SQLITE_OK ){
149971 sqlite3_result_error_code(pCtx, rc);
150005 int rc;
150008 rc = sqlite3Fts3EvalPhrasePoslist(p->pCsr, pExpr, p->iCol, &pList);
150022 return rc;
150034 int rc; /* Return Code */
150049 rc = fts3ExprLoadDoclists(pCsr, 0, &nToken);
150050 if( rc!=SQLITE_OK ) goto offsets_out;
150055 rc = SQLITE_NOMEM;
150094 rc = SQLITE_NOMEM;
150099 rc = sqlite3Fts3OpenTokenizer(pTab->pTokenizer, pCsr->iLangid,
150102 if( rc!=SQLITE_OK ) goto offsets_out;
150104 rc = pMod->xNext(pC, &ZDUMMY, &NDUMMY, &iStart, &iEnd, &iCurrent);
150105 while( rc==SQLITE_OK ){
150120 rc = SQLITE_DONE;
150128 while( rc==SQLITE_OK && iCurrent<iMinPos ){
150129 rc = pMod->xNext(pC, &ZDUMMY, &NDUMMY, &iStart, &iEnd, &iCurrent);
150131 if( rc==SQLITE_OK ){
150136 rc = fts3StringAppend(&res, aBuffer, -1);
150137 }else if( rc==SQLITE_DONE && pTab->zContentTbl==0 ){
150138 rc = FTS_CORRUPT_VTAB;
150142 if( rc==SQLITE_DONE ){
150143 rc = SQLITE_OK;
150147 if( rc!=SQLITE_OK ) goto offsets_out;
150152 assert( rc!=SQLITE_DONE );
150154 if( rc!=SQLITE_OK ){
150155 sqlite3_result_error_code(pCtx, rc);
150172 int rc;
150196 rc = fts3GetMatchinfo(pCsr, zFormat);
150199 if( rc!=SQLITE_OK ){
150200 sqlite3_result_error_code(pContext, rc);
150433 int rc = SQLITE_OK;
150440 for(i=0; rc==SQLITE_OK && i<nArg; i++){
150451 rc = unicodeAddExceptions(pNew, 1, &z[11], n-11);
150454 rc = unicodeAddExceptions(pNew, 0, &z[11], n-11);
150458 rc = SQLITE_ERROR;
150462 if( rc!=SQLITE_OK ){
150467 return rc;
151483 int rc;
151502 rc = sqlite3_step(pRtree->pReadNode);
151503 if( rc==SQLITE_ROW ){
151521 rc = sqlite3_reset(pRtree->pReadNode);
151522 if( rc==SQLITE_OK ) rc = rc2;
151533 rc = SQLITE_CORRUPT_VTAB;
151541 if( pNode && rc==SQLITE_OK ){
151543 rc = SQLITE_CORRUPT_VTAB;
151547 if( rc==SQLITE_OK ){
151551 rc = SQLITE_CORRUPT_VTAB;
151559 return rc;
151623 int rc = SQLITE_OK;
151634 rc = sqlite3_reset(p);
151635 if( pNode->iNode==0 && rc==SQLITE_OK ){
151640 return rc;
151648 int rc = SQLITE_OK;
151657 rc = nodeRelease(pRtree, pNode->pParent);
151659 if( rc==SQLITE_OK ){
151660 rc = nodeWrite(pRtree, pNode);
151666 return rc;
151791 int rc;
151801 rc = SQLITE_NOMEM;
151803 rc = sqlite3_exec(pRtree->db, zCreate, 0, 0, 0);
151806 if( rc==SQLITE_OK ){
151810 return rc;
151817 int rc = SQLITE_NOMEM;
151824 rc = SQLITE_OK;
151828 return rc;
151929 int rc; /* Callback return code */
151943 rc = pConstraint->u.xGeom((sqlite3_rtree_geometry*)pInfo,
151952 rc = pConstraint->u.xQueryFunc(pInfo);
151958 return rc;
152290 int rc = SQLITE_OK;
152299 pNode = rtreeNodeOfFirstSearchPoint(pCur, &rc);
152300 if( rc ) return rc;
152310 rc = rtreeCallbackConstraint(pConstraint, eInt, pCellData, p,
152312 if( rc ) return rc;
152357 int rc = SQLITE_OK;
152362 rc = rtreeStepToLeaf(pCsr);
152363 return rc;
152372 int rc = SQLITE_OK;
152373 RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
152374 if( rc==SQLITE_OK && p ){
152377 return rc;
152388 int rc = SQLITE_OK;
152389 RtreeNode *pNode = rtreeNodeOfFirstSearchPoint(pCsr, &rc);
152391 if( rc ) return rc;
152396 if( rc ) return rc;
152424 int rc;
152430 rc = nodeAcquire(pRtree, iNode, 0, ppLeaf);
152433 rc = sqlite3_reset(pRtree->pReadRowid);
152435 return rc;
152499 int rc = SQLITE_OK;
152517 rc = findLeafNode(pRtree, iRowid, &pLeaf, &iNode);
152518 if( rc==SQLITE_OK && pLeaf!=0 ){
152524 rc = nodeRowidIndex(pRtree, pLeaf, iRowid, &iCell);
152534 rc = nodeAcquire(pRtree, 1, 0, &pRoot);
152535 if( rc==SQLITE_OK && argc>0 ){
152539 rc = SQLITE_NOMEM;
152554 rc = deserializeGeometry(argv[ii], p);
152555 if( rc!=SQLITE_OK ){
152571 if( rc==SQLITE_OK ){
152582 rc = rtreeStepToLeaf(pCsr);
152588 return rc;
152640 int rc = SQLITE_OK;
152704 return rc;
152819 int rc;
152822 rc = nodeAcquire(pRtree, 1, 0, &pNode);
152824 for(ii=0; rc==SQLITE_OK && ii<(pRtree->iDepth-iHeight); ii++){
152859 rc = nodeAcquire(pRtree, iBest, pNode, &pChild);
152865 return rc;
153190 int rc = SQLITE_OK;
153206 rc = SQLITE_NOMEM;
153231 rc = SQLITE_NOMEM;
153238 rc = splitNodeStartree(pRtree, aCell, nCell, pLeft, pRight,
153240 if( rc!=SQLITE_OK ){
153249 if( SQLITE_OK!=(rc = nodeWrite(pRtree, pRight))
153250 || (0==pLeft->iNode && SQLITE_OK!=(rc = nodeWrite(pRtree, pLeft)))
153259 rc = rtreeInsertCell(pRtree, pLeft->pParent, &leftbbox, iHeight+1);
153260 if( rc!=SQLITE_OK ){
153266 rc = nodeParentIndex(pRtree, pLeft, &iCell);
153267 if( rc==SQLITE_OK ){
153269 rc = AdjustTree(pRtree, pParent, &leftbbox);
153271 if( rc!=SQLITE_OK ){
153275 if( (rc = rtreeInsertCell(pRtree, pRight->pParent, &rightbbox, iHeight+1)) ){
153281 rc = updateMapping(pRtree, iRowid, pRight, iHeight);
153285 if( rc!=SQLITE_OK ){
153292 rc = updateMapping(pRtree, iRowid, pLeft, iHeight);
153293 if( rc!=SQLITE_OK ){
153298 rc = updateMapping(pRtree, pCell->iRowid, pLeft, iHeight);
153301 if( rc==SQLITE_OK ){
153302 rc = nodeRelease(pRtree, pRight);
153305 if( rc==SQLITE_OK ){
153306 rc = nodeRelease(pRtree, pLeft);
153314 return rc;
153329 int rc = SQLITE_OK;
153331 while( rc==SQLITE_OK && pChild->iNode!=1 && pChild->pParent==0 ){
153334 rc = sqlite3_step(pRtree->pReadParent);
153335 if( rc==SQLITE_ROW ){
153350 rc = sqlite3_reset(pRtree->pReadParent);
153351 if( rc==SQLITE_OK ) rc = rc2;
153352 if( rc==SQLITE_OK && !pChild->pParent ) rc = SQLITE_CORRUPT_VTAB;
153355 return rc;
153361 int rc;
153369 rc = nodeParentIndex(pRtree, pNode, &iCell);
153370 if( rc==SQLITE_OK ){
153373 rc = deleteCell(pRtree, pParent, iCell, iHeight+1);
153376 if( rc==SQLITE_OK ){
153377 rc = rc2;
153379 if( rc!=SQLITE_OK ){
153380 return rc;
153386 if( SQLITE_OK!=(rc = sqlite3_reset(pRtree->pDeleteNode)) ){
153387 return rc;
153393 if( SQLITE_OK!=(rc = sqlite3_reset(pRtree->pDeleteParent)) ){
153394 return rc;
153411 int rc = SQLITE_OK;
153423 rc = nodeParentIndex(pRtree, pNode, &ii);
153424 if( rc==SQLITE_OK ){
153426 rc = fixBoundingBox(pRtree, pParent);
153429 return rc;
153438 int rc;
153440 if( SQLITE_OK!=(rc = fixLeafParent(pRtree, pNode)) ){
153441 return rc;
153458 rc = removeNode(pRtree, pNode, iHeight);
153460 rc = fixBoundingBox(pRtree, pNode);
153464 return rc;
153481 int rc = SQLITE_OK;
153533 for(ii=0; rc==SQLITE_OK && ii<(nCell-(RTREE_MINCELLS(pRtree)+1)); ii++){
153538 rc = rowidWrite(pRtree, p->iRowid, pNode->iNode);
153540 rc = parentWrite(pRtree, p->iRowid, pNode->iNode);
153544 if( rc==SQLITE_OK ){
153545 rc = fixBoundingBox(pRtree, pNode);
153547 for(; rc==SQLITE_OK && ii<nCell; ii++){
153553 rc = ChooseLeaf(pRtree, p, iHeight, &pInsert);
153554 if( rc==SQLITE_OK ){
153556 rc = rtreeInsertCell(pRtree, pInsert, p, iHeight);
153558 if( rc==SQLITE_OK ){
153559 rc = rc2;
153565 return rc;
153578 int rc = SQLITE_OK;
153589 rc = SplitNode(pRtree, pNode, pCell, iHeight);
153592 rc = Reinsert(pRtree, pNode, pCell, iHeight);
153595 rc = AdjustTree(pRtree, pNode, pCell);
153596 if( rc==SQLITE_OK ){
153598 rc = rowidWrite(pRtree, pCell->iRowid, pNode->iNode);
153600 rc = parentWrite(pRtree, pCell->iRowid, pNode->iNode);
153604 return rc;
153609 int rc = SQLITE_OK;
153612 for(ii=0; rc==SQLITE_OK && ii<nCell; ii++){
153620 rc = ChooseLeaf(pRtree, &cell, (int)pNode->iNode, &pInsert);
153621 if( rc==SQLITE_OK ){
153623 rc = rtreeInsertCell(pRtree, pInsert, &cell, (int)pNode->iNode);
153625 if( rc==SQLITE_OK ){
153626 rc = rc2;
153630 return rc;
153637 int rc;
153641 rc = sqlite3_reset(pRtree->pWriteRowid);
153643 return rc;
153650 int rc; /* Return code */
153657 rc = nodeAcquire(pRtree, 1, 0, &pRoot);
153662 if( rc==SQLITE_OK ){
153663 rc = findLeafNode(pRtree, iDelete, &pLeaf, 0);
153667 if( rc==SQLITE_OK ){
153669 rc = nodeRowidIndex(pRtree, pLeaf, iDelete, &iCell);
153670 if( rc==SQLITE_OK ){
153671 rc = deleteCell(pRtree, pLeaf, iCell, 0);
153674 if( rc==SQLITE_OK ){
153675 rc = rc2;
153680 if( rc==SQLITE_OK ){
153683 rc = sqlite3_reset(pRtree->pDeleteRowid);
153694 if( rc==SQLITE_OK && pRtree->iDepth>0 && NCELL(pRoot)==1 ){
153698 rc = nodeAcquire(pRtree, iChild, pRoot, &pChild);
153699 if( rc==SQLITE_OK ){
153700 rc = removeNode(pRtree, pChild, pRtree->iDepth-1);
153703 if( rc==SQLITE_OK ) rc = rc2;
153704 if( rc==SQLITE_OK ){
153713 if( rc==SQLITE_OK ){
153714 rc = reinsertNodeContent(pRtree, pLeaf);
153721 if( rc==SQLITE_OK ){
153722 rc = nodeRelease(pRtree, pRoot);
153727 return rc;
153770 int rc = SQLITE_OK;
153809 rc = SQLITE_CONSTRAINT;
153820 rc = SQLITE_CONSTRAINT;
153836 rc = sqlite3_reset(pRtree->pReadRowid);
153839 rc = rtreeDeleteRowid(pRtree, cell.iRowid);
153841 rc = SQLITE_CONSTRAINT;
153855 rc = rtreeDeleteRowid(pRtree, sqlite3_value_int64(azData[0]));
153862 if( rc==SQLITE_OK && nData>1 ){
153868 rc = newRowid(pRtree, &cell.iRowid);
153872 if( rc==SQLITE_OK ){
153873 rc = ChooseLeaf(pRtree, &cell, 0, &pLeaf);
153875 if( rc==SQLITE_OK ){
153878 rc = rtreeInsertCell(pRtree, pLeaf, &cell, 0);
153880 if( rc==SQLITE_OK ){
153881 rc = rc2;
153888 return rc;
153896 int rc = SQLITE_NOMEM;
153906 rc = sqlite3_exec(pRtree->db, zSql, 0, 0, 0);
153909 return rc;
153921 int rc;
153926 rc = SQLITE_NOMEM;
153928 rc = sqlite3_prepare_v2(db, zSql, -1, &p, 0);
153929 if( rc==SQLITE_OK ){
153931 rc = sqlite3_finalize(p);
153932 }else if( rc!=SQLITE_NOMEM ){
153933 rc = SQLITE_OK;
153936 if( rc==SQLITE_OK ){
153946 return rc;
153982 int rc = SQLITE_OK;
154018 rc = sqlite3_exec(db, zCreate, 0, 0, 0);
154020 if( rc!=SQLITE_OK ){
154021 return rc;
154035 rc = rtreeQueryStat1(db, pRtree);
154036 for(i=0; i<N_STATEMENT && rc==SQLITE_OK; i++){
154039 rc = sqlite3_prepare_v2(db, zSql, -1, appStmt[i], 0);
154041 rc = SQLITE_NOMEM;
154046 return rc;
154057 int rc = SQLITE_NOMEM;
154060 rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);
154061 if( rc==SQLITE_OK ){
154065 rc = sqlite3_finalize(pStmt);
154068 return rc;
154092 int rc;
154097 rc = getIntFromStmt(db, zSql, &iPageSize);
154098 if( rc==SQLITE_OK ){
154111 rc = getIntFromStmt(db, zSql, &pRtree->iNodeSize);
154112 if( rc!=SQLITE_OK ){
154118 return rc;
154138 int rc = SQLITE_OK;
154178 rc = getNodeSize(db, pRtree, isCreate, pzErr);
154184 if( rc==SQLITE_OK ){
154185 if( (rc = rtreeSqlInit(pRtree, db, argv[1], argv[2], isCreate)) ){
154202 rc = SQLITE_NOMEM;
154203 }else if( SQLITE_OK!=(rc = sqlite3_declare_vtab(db, zSql)) ){
154210 if( rc==SQLITE_OK ){
154217 return rc;
154310 int rc;
154312 rc = sqlite3_create_function(db, "rtreenode", 2, utf8, 0, rtreenode, 0, 0);
154313 if( rc==SQLITE_OK ){
154314 rc = sqlite3_create_function(db, "rtreedepth", 1, utf8, 0,rtreedepth, 0, 0);
154316 if( rc==SQLITE_OK ){
154322 rc = sqlite3_create_module_v2(db, "rtree", &rtreeModule, c, 0);
154324 if( rc==SQLITE_OK ){
154326 rc = sqlite3_create_module_v2(db, "rtree_i32", &rtreeModule, c, 0);
154329 return rc;
154869 int rc; /* Return code from sqlite3_create_collation_x() */
154886 rc = sqlite3_create_collation_v2(db, zName, SQLITE_UTF16, (void *)pUCollator,
154889 if( rc!=SQLITE_OK ){
154924 int rc = SQLITE_OK;
154927 for(i=0; rc==SQLITE_OK && i<(int)(sizeof(scalars)/sizeof(scalars[0])); i++){
154929 rc = sqlite3_create_function(
154934 return rc;
155358 int rc = SQLITE_OK;
155370 rc = sqlite3_declare_vtab(db, VTAB_SCHEMA);
155371 if( rc==SQLITE_OK ){
155373 if( pTab==0 ) rc = SQLITE_NOMEM;
155376 assert( rc==SQLITE_OK || pTab==0 );
155377 if( rc==SQLITE_OK ){
155384 return rc;
155429 int rc;
155433 rc = SQLITE_NOMEM;
155446 rc = SQLITE_NOMEM;
155448 rc = sqlite3_prepare_v2(pTab->db, zSql, -1, &pCsr->pStmt, 0);
155451 if( rc!=SQLITE_OK ){
155458 return rc;
155591 int rc;
155594 rc = sqlite3PagerGet(sqlite3BtreePager(pBt), iPrev, &pPg);
155595 if( rc!=SQLITE_OK ){
155597 return rc;
155640 int rc;
155653 rc = sqlite3_step(pCsr->pStmt);
155654 if( rc==SQLITE_ROW ){
155662 rc = sqlite3PagerGet(pPager, iRoot, &pCsr->aPage[0].pPg);
155667 if( z==0 ) rc = SQLITE_NOMEM;
155722 rc = sqlite3PagerGet(pPager, p[1].iPgno, &p[1].pPg);
155726 if( z==0 ) rc = SQLITE_NOMEM;
155733 if( rc==SQLITE_OK ){
155739 rc = statDecodePage(pBt, p);
155740 if( rc==SQLITE_OK ){
155760 if( z==0 ) rc = SQLITE_NOMEM;
155769 return rc;