1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

Fixes for the sessions module so that it works with sqlite3_extended_error_codes() set.

FossilOrigin-Name: c2972b6aed23f6c76a289534de9ea4732a48f40e
This commit is contained in:
dan
2013-07-02 20:23:40 +00:00
parent fd64cedc4b
commit 35e2858e98
5 changed files with 24 additions and 13 deletions

View File

@ -2749,7 +2749,7 @@ static int sessionApplyOneOp(
rc = sessionConflictHandler(
SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry
);
}else if( rc==SQLITE_CONSTRAINT ){
}else if( (rc&0xff)==SQLITE_CONSTRAINT ){
rc = sessionConflictHandler(
SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, 0
);
@ -2788,7 +2788,7 @@ static int sessionApplyOneOp(
SQLITE_CHANGESET_DATA, p, pIter, xConflict, pCtx, pbRetry
);
}else if( rc==SQLITE_CONSTRAINT ){
}else if( (rc&0xff)==SQLITE_CONSTRAINT ){
/* This is always a CONSTRAINT conflict. */
rc = sessionConflictHandler(
SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, 0
@ -2802,7 +2802,7 @@ static int sessionApplyOneOp(
sqlite3_step(p->pInsert);
rc = sqlite3_reset(p->pInsert);
if( rc==SQLITE_CONSTRAINT ){
if( (rc&0xff)==SQLITE_CONSTRAINT ){
rc = sessionConflictHandler(
SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace
);