diff --git a/extra/mkkeywordhash.c b/extra/mkkeywordhash.c index a105cf3c551614ff9275b15921da68258cdd64b4..ccf092b5534dabe2b27722815fa319973d78de0e 100644 --- a/extra/mkkeywordhash.c +++ b/extra/mkkeywordhash.c @@ -80,12 +80,12 @@ struct Keyword { # define CONFLICT 0x00000080 #endif #define EXPLAIN 0x00000100 -#ifdef SQLITE_OMIT_FOREIGN_KEY -# define FKEY 0 +#define FKEY 0x00000200 +#ifdef SQLITE_OMIT_PRAGMA +# define PRAGMA 0 #else -# define FKEY 0x00000200 +# define PRAGMA 0x00000400 #endif -#define PRAGMA 0x00000400 #ifdef SQLITE_OMIT_REINDEX # define REINDEX 0 #else diff --git a/src/box/sql/insert.c b/src/box/sql/insert.c index 6ecc9300615de16cb40170757281ad17c9d0553c..13cb61ecfa9dffb1f5c29585f19cf023027788ff 100644 --- a/src/box/sql/insert.c +++ b/src/box/sql/insert.c @@ -1812,7 +1812,6 @@ xferOptimization(Parse * pParse, /* Parser context */ /* Tables have different CHECK constraints. Ticket #2252 */ return 0; } -#ifndef SQLITE_OMIT_FOREIGN_KEY /* Disallow the transfer optimization if the destination table constains * any foreign key constraints. This is more restrictive than necessary. * So the extra complication to make this rule less restrictive is probably @@ -1823,7 +1822,6 @@ xferOptimization(Parse * pParse, /* Parser context */ if ((user_session->sql_flags & SQLITE_ForeignKeys) != 0 && !rlist_empty(&dest->child_fkey)) return 0; -#endif if ((user_session->sql_flags & SQLITE_CountRows) != 0) { return 0; /* xfer opt does not play well with PRAGMA count_changes */ } diff --git a/src/box/sql/pragma.c b/src/box/sql/pragma.c index 39cdc29901d724a9852b910b238b4363f4f91f88..f7e6053eb6f6cc97f86d75115970c72f8209d3e7 100644 --- a/src/box/sql/pragma.c +++ b/src/box/sql/pragma.c @@ -553,7 +553,6 @@ sqlite3Pragma(Parse * pParse, Token * pId, /* First part of [schema.]id field */ } #endif /* SQLITE_OMIT_SCHEMA_PRAGMAS */ -#ifndef SQLITE_OMIT_FOREIGN_KEY case PragTyp_FOREIGN_KEY_LIST:{ if (zRight == NULL) break; @@ -589,7 +588,6 @@ sqlite3Pragma(Parse * pParse, Token * pId, /* First part of [schema.]id field */ } break; } -#endif /* !defined(SQLITE_OMIT_FOREIGN_KEY) */ #ifndef NDEBUG case PragTyp_PARSER_TRACE:{ if (zRight) { diff --git a/src/box/sql/pragma.h b/src/box/sql/pragma.h index 8c614607e359f25d3caa76474421356b2745b351..ecc9ee879c6f0cfbecb1c479303859c7dbb9a5ad 100644 --- a/src/box/sql/pragma.h +++ b/src/box/sql/pragma.h @@ -123,31 +123,25 @@ static const PragmaName aPragmaName[] = { /* iArg: */ SQLITE_CountRows}, #endif #if !defined(SQLITE_OMIT_FLAG_PRAGMAS) -#if !defined(SQLITE_OMIT_FOREIGN_KEY) { /* zName: */ "defer_foreign_keys", /* ePragTyp: */ PragTyp_FLAG, /* ePragFlg: */ PragFlg_Result0 | PragFlg_NoColumns1, /* ColNames: */ 0, 0, /* iArg: */ SQLITE_DeferFKs}, #endif -#endif -#if !defined(SQLITE_OMIT_FOREIGN_KEY) { /* zName: */ "foreign_key_list", /* ePragTyp: */ PragTyp_FOREIGN_KEY_LIST, /* ePragFlg: */ PragFlg_NeedSchema | PragFlg_Result1 | PragFlg_SchemaOpt, /* ColNames: */ 29, 8, /* iArg: */ 0}, -#endif #if !defined(SQLITE_OMIT_FLAG_PRAGMAS) -#if !defined(SQLITE_OMIT_FOREIGN_KEY) { /* zName: */ "foreign_keys", /* ePragTyp: */ PragTyp_FLAG, /* ePragFlg: */ PragFlg_Result0 | PragFlg_NoColumns1, /* ColNames: */ 0, 0, /* iArg: */ SQLITE_ForeignKeys}, #endif -#endif #if !defined(SQLITE_OMIT_FLAG_PRAGMAS) { /* zName: */ "full_column_names", /* ePragTyp: */ PragTyp_FLAG, diff --git a/src/box/sql/vdbe.c b/src/box/sql/vdbe.c index 78900c773d78a84c3344bc05a82a278afcd07f1a..dc5146f81f87b08e5082bb510e67d9fb578741d0 100644 --- a/src/box/sql/vdbe.c +++ b/src/box/sql/vdbe.c @@ -4858,7 +4858,6 @@ case OP_Param: { /* out2 */ break; } -#ifndef SQLITE_OMIT_FOREIGN_KEY /* Opcode: FkCounter P1 P2 * * * * Synopsis: fkctr[P1]+=P2 * @@ -4902,7 +4901,6 @@ case OP_FkIfZero: { /* jump */ } break; } -#endif /* #ifndef SQLITE_OMIT_FOREIGN_KEY */ /* Opcode: IfPos P1 P2 P3 * * * Synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 diff --git a/src/box/sql/vdbeInt.h b/src/box/sql/vdbeInt.h index a4770a50ea616f731448f159b013dd6cc570eab0..ce97f4984e49fd2dafbbe5a62956ce8457f785bd 100644 --- a/src/box/sql/vdbeInt.h +++ b/src/box/sql/vdbeInt.h @@ -493,11 +493,7 @@ void sqlite3VdbeMemAboutToChange(Vdbe *, Mem *); int sqlite3VdbeCheckMemInvariants(Mem *); #endif -#ifndef SQLITE_OMIT_FOREIGN_KEY int sqlite3VdbeCheckFk(Vdbe *, int); -#else -#define sqlite3VdbeCheckFk(p,i) 0 -#endif int sqlite3VdbeMemTranslate(Mem *, u8); #ifdef SQLITE_DEBUG diff --git a/src/box/sql/vdbeaux.c b/src/box/sql/vdbeaux.c index 353b21a96cf276e0a0dd5d18752ec8101dbb7e6c..242a6448ed75194ebb0eaa6b8e75b90098059628 100644 --- a/src/box/sql/vdbeaux.c +++ b/src/box/sql/vdbeaux.c @@ -616,11 +616,9 @@ sqlite3VdbeAssertMayAbort(Vdbe * v, int mayAbort) hasAbort = 1; break; } -#ifndef SQLITE_OMIT_FOREIGN_KEY if (opcode == OP_FkCounter && pOp->p1 == 0 && pOp->p2 == 1) { hasFkCounter = 1; } -#endif } sqlite3DbFree(v->db, sIter.apSub); @@ -2245,7 +2243,6 @@ sqlite3VdbeCloseStatement(Vdbe * p, int eOp) * SQLITE_ERROR, set the result of the VM to SQLITE_CONSTRAINT_FOREIGNKEY * and write an error message to it. Then return SQLITE_ERROR. */ -#ifndef SQLITE_OMIT_FOREIGN_KEY int sqlite3VdbeCheckFk(Vdbe * p, int deferred) { @@ -2259,7 +2256,6 @@ sqlite3VdbeCheckFk(Vdbe * p, int deferred) } return SQLITE_OK; } -#endif int sql_txn_begin(Vdbe *p)