diff options
author | drh <> | 2021-07-20 08:23:54 +0000 |
---|---|---|
committer | drh <> | 2021-07-20 08:23:54 +0000 |
commit | 0f91a5352b7bb81beb27306d44ad630f3fd9d3cc (patch) | |
tree | 0c064a2057a36289cec1cfda1d429b26ff8e00e3 /src/alter.c | |
parent | b4d9b2b5376e6c6605933a7b9904c795235ff3ff (diff) | |
download | sqlite-0f91a5352b7bb81beb27306d44ad630f3fd9d3cc.tar.gz sqlite-0f91a5352b7bb81beb27306d44ad630f3fd9d3cc.zip |
Fix issues in the new ADD COLUMN constraint checking. Add preliminary
test cases.
FossilOrigin-Name: 48434ad3fa9504c063d812d119bc8f622548fd02b3d478ff247b11474c4ce5db
Diffstat (limited to 'src/alter.c')
-rw-r--r-- | src/alter.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/alter.c b/src/alter.c index 7b313dae4..9c5b46261 100644 --- a/src/alter.c +++ b/src/alter.c @@ -446,16 +446,16 @@ void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ renameReloadSchema(pParse, iDb, INITFLAG_AlterRename); /* Verify that constraints are still satisfied */ - if( pParse->bDiscardCheck + if( pNew->pCheck!=0 || (pCol->notNull && (pCol->colFlags & COLFLAG_GENERATED)!=0) ){ sqlite3NestedParse(pParse, "SELECT CASE WHEN quick_check GLOB 'CHECK*'" " THEN raise(ABORT,'CHECK constraint failed')" - " WHEN quick_check GLOB 'NULL*'" - " THEN raise(ABORT,'NOT NULL constraint failed')" + " ELSE raise(ABORT,'NOT NULL constraint failed')" " END" - " FROM pragma_quick_check(\"%w\",\"%w\")", + " FROM pragma_quick_check(\"%w\",\"%w\")" + " WHERE quick_check GLOB 'CHECK*' OR quick_check GLOB 'NULL*'", zTab, zDb ); } |