Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix the return code in sessionRetryConstraints(). |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | session-retry |
Files: | files | file ages | folders |
SHA1: |
ea917c14b940f95b20b91dae77567dc2 |
User & Date: | drh 2016-03-31 00:45:58.444 |
Context
2016-03-31
| ||
02:44 | Enhanced comments describing the sessions file format. No changes to code. (check-in: 84dc41e2df user: drh tags: session-retry) | |
00:45 | Fix the return code in sessionRetryConstraints(). (check-in: ea917c14b9 user: drh tags: session-retry) | |
2016-03-30
| ||
21:19 | Have the sqlite3session_apply() function and its streaming equivalent retry any operations that failed with SQLITE_CONSTRAINT after all other operations on the same table have been attempted. New code is largely untested. (check-in: 1085911afb user: dan tags: session-retry) | |
Changes
Changes to ext/session/sqlite3session.c.
︙ | ︙ | |||
3923 3924 3925 3926 3927 3928 3929 | if( rc==SQLITE_OK ) memset(pIter2->apValue, 0, nByte); while( rc==SQLITE_OK && SQLITE_ROW==sqlite3changeset_next(pIter2) ){ rc = sessionApplyOneWithRetry(db, pIter2, pApply, xConflict, pCtx); } rc2 = sqlite3changeset_finalize(pIter2); | | | 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 | if( rc==SQLITE_OK ) memset(pIter2->apValue, 0, nByte); while( rc==SQLITE_OK && SQLITE_ROW==sqlite3changeset_next(pIter2) ){ rc = sessionApplyOneWithRetry(db, pIter2, pApply, xConflict, pCtx); } rc2 = sqlite3changeset_finalize(pIter2); if( rc==SQLITE_OK ) rc = rc2; } assert( pApply->bDeferConstraints || pApply->constraints.nBuf==0 ); sqlite3_free(cons.aBuf); if( rc!=SQLITE_OK ) break; if( pApply->constraints.nBuf>=cons.nBuf ){ /* No progress was made on the last round. */ |
︙ | ︙ |