Lines Matching defs:onError
18058 ** The Index.onError field determines whether or not the indexed columns
18059 ** must be unique and what to do if they are not. When Index.onError=OE_None,
18061 ** and the value of Index.onError indicates which conflict resolution
18101 u8 onError; /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */
18137 #define IsUniqueIndex(X) ((X)->onError!=OE_None)
32400 int onError,
32407 switch( onError ){
32469 int onError,
32478 switch( onError ){
83559 SQLITE_PRIVATE void sqlite3VdbeVerifyAbortable(Vdbe *p, int onError){
83560 if( onError==OE_Abort ) sqlite3VdbeAddOp0(p, OP_Abortable);
119080 SQLITE_PRIVATE void sqlite3AddNotNull(Parse *pParse, int onError){
119086 pCol->notNull = (u8)onError;
119094 assert( pIdx->nKeyCol==1 && pIdx->onError!=OE_None );
119307 int onError, /* What to do with a uniqueness conflict */
119357 pTab->keyConf = (u8)onError;
119368 sqlite3CreateIndex(pParse, 0, 0, 0, pList, onError, 0,
121379 int onError, /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */
121613 pIndex->onError = (u8)onError;
121614 pIndex->uniqNotNull = onError!=OE_None;
121790 if( pIdx->onError!=pIndex->onError ){
121798 if( !(pIdx->onError==OE_Default || pIndex->onError==OE_Default) ){
121802 if( pIdx->onError==OE_Default ){
121803 pIdx->onError = pIndex->onError;
121886 onError==OE_None ? "" : " UNIQUE", n, pName->z);
121942 if( pThis->onError!=OE_Replace ) continue;
121943 while( (pNext = pThis->pNext)!=0 && pNext->onError!=OE_Replace ){
121956 assert( pThis->onError!=OE_Replace
121958 || pThis->pNext->onError==OE_Replace );
122784 ** error. The onError parameter determines which (if any) of the statement
122790 int onError, /* Constraint type */
122799 if( onError==OE_Abort ){
122802 sqlite3VdbeAddOp4(v, OP_Halt, errCode, onError, 0, p4, p4type);
122811 int onError, /* Constraint type */
122838 onError, zErr, P4_DYNAMIC, P5_ConstraintUnique);
122847 int onError, /* Conflict resolution algorithm */
122860 sqlite3HaltConstraint(pParse, rc, onError, zMsg, P4_DYNAMIC,
129184 int onError, /* How to handle constraint errors */
129290 int onError, /* How to handle constraint errors */
129386 onError, pUpsert, pTrigger);
129423 && xferOptimization(pParse, pTab, pSelect, onError, iDb)
129872 pTab, regCols-pTab->nCol-1, onError, endOfLoop);
129938 sqlite3VdbeChangeP5(v, onError==OE_Default ? OE_Abort : onError);
129946 regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace, 0, pUpsert
129983 pTab, regData-2-pTab->nCol, onError, endOfLoop);
130264 ** Or if overrideError==OE_Default, then the pParse->onError parameter
130265 ** is used. Or if pParse->onError==OE_Default then the onError value
130277 u8 overrideError, /* Override onError to this if not OE_Default */
130290 int onError; /* Conflict resolution strategy */
130343 onError = pCol->notNull;
130344 if( onError==OE_None ) continue; /* No NOT NULL on this column */
130358 onError = overrideError;
130359 }else if( onError==OE_Default ){
130360 onError = OE_Abort;
130362 if( onError==OE_Replace ){
130369 onError = OE_Abort;
130376 assert( onError==OE_Rollback || onError==OE_Abort || onError==OE_Fail
130377 || onError==OE_Ignore || onError==OE_Replace );
130380 switch( onError ){
130399 onError, iReg);
130406 assert( onError==OE_Ignore );
130411 } /* end switch(onError) */
130439 onError = overrideError!=OE_Default ? overrideError : OE_Abort;
130456 sqlite3VdbeVerifyAbortable(v, onError);
130462 if( onError==OE_Ignore ){
130467 if( onError==OE_Replace ) onError = OE_Abort; /* IMP: R-26383-51744 */
130469 onError, zName, P4_TRANSIENT,
130617 onError = pTab->keyConf;
130619 onError = overrideError;
130620 }else if( onError==OE_Default ){
130621 onError = OE_Abort;
130629 onError = OE_Ignore; /* DO NOTHING is the same as INSERT OR IGNORE */
130631 onError = OE_Update; /* DO UPDATE */
130647 if( onError==OE_Replace /* IPK rule is REPLACE */
130648 && onError!=overrideError /* Rules for other constraints are different */
130668 sqlite3VdbeVerifyAbortable(v, onError);
130672 switch( onError ){
130674 onError = OE_Abort;
130680 testcase( onError==OE_Rollback );
130681 testcase( onError==OE_Abort );
130682 testcase( onError==OE_Fail );
130683 sqlite3RowidConstraint(pParse, onError, pTab);
130740 testcase( onError==OE_Ignore );
130838 onError = pIdx->onError;
130839 if( onError==OE_None ){
130844 onError = overrideError;
130845 }else if( onError==OE_Default ){
130846 onError = OE_Abort;
130852 onError = OE_Ignore; /* DO NOTHING is the same as INSERT OR IGNORE */
130854 onError = OE_Update; /* DO UPDATE */
130872 && onError==OE_Replace /* Condition 1 */
130884 sqlite3VdbeVerifyAbortable(v, onError);
130891 if( isUpdate || onError==OE_Replace ){
130947 assert( onError==OE_Rollback || onError==OE_Abort || onError==OE_Fail
130948 || onError==OE_Ignore || onError==OE_Replace || onError==OE_Update );
130949 switch( onError ){
130953 testcase( onError==OE_Rollback );
130954 testcase( onError==OE_Abort );
130955 testcase( onError==OE_Fail );
130956 sqlite3UniqueConstraint(pParse, onError, pIdx);
130966 testcase( onError==OE_Ignore );
130973 assert( onError==OE_Replace );
131180 assert( pIdx->onError!=OE_Replace
131182 || pIdx->pNext->onError==OE_Replace );
131317 ** * The same onError processing (OE_Abort, OE_Ignore, etc)
131328 if( pDest->onError!=pSrc->onError ){
131386 int onError, /* How to handle constraint errors */
131417 if( onError==OE_Default ){
131418 if( pDest->iPKey>=0 ) onError = pDest->keyConf;
131419 if( onError==OE_Default ) onError = OE_Abort;
131618 || (onError!=OE_Abort && onError!=OE_Rollback) /* (3) */
131635 ** (3) onError is something other than OE_Abort and OE_Rollback.
131648 sqlite3VdbeVerifyAbortable(v, onError);
131651 sqlite3RowidConstraint(pParse, onError, pDest);
147478 static const char *onErrorText(int onError){
147479 switch( onError ){
147867 int onError /* ON CONFLICT strategy */
148120 ** onError | pChanges | pWhere
148129 int onError, /* How to handle constraint errors */
148226 onError, pOrderBy, pLimit, pUpsert, pTrigger);
148411 if( onError==OE_Replace ) bReplace = 1;
148425 if( onError==OE_Default && pIdx->onError==OE_Replace ){
148495 pWhere, onError);
148735 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError
148769 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError
148815 TRIGGER_BEFORE, pTab, regOldRowid, onError, labelContinue);
148862 regNewRowid, regOldRowid, chngKey, onError, labelContinue, &bReplace,
148948 TRIGGER_AFTER, pTab, regOldRowid, onError, labelContinue);
149032 int onError /* ON CONFLICT strategy */
149175 sqlite3VdbeChangeP5(v, onError==OE_Default ? OE_Abort : onError);
159514 || (pProbe->nKeyCol==1 && pProbe->onError && eOp==WO_EQ)
159968 sPk.onError = OE_Replace;