aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2018-12-22 01:13:25 +0000
committerdrh <drh@noemail.net>2018-12-22 01:13:25 +0000
commit9bfb079409619224cab957b2515f6929ba9dbfbf (patch)
tree627fa7fdf5e593f278f90a6784ec4d4c2154c6fa /src/expr.c
parenta42325e7313c3391fc045d084653000871c9f347 (diff)
downloadsqlite-9bfb079409619224cab957b2515f6929ba9dbfbf.tar.gz
sqlite-9bfb079409619224cab957b2515f6929ba9dbfbf.zip
Do not all REPLACE to sneak a NULL value into a NOT NULL column. Detect that
situation and ABORT instead. Fix for ticket [e6f1f2e34dceeb1ed61531c7e98]. FossilOrigin-Name: db8d1d12f5c1673404b2afb5426d5ea3afe3b69d01f8f2bc47ffdf70684fdf24
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/expr.c b/src/expr.c
index b1a06bdae..d604fb565 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -2112,7 +2112,9 @@ int sqlite3ExprIsInteger(Expr *p, int *pValue){
*/
int sqlite3ExprCanBeNull(const Expr *p){
u8 op;
- while( p->op==TK_UPLUS || p->op==TK_UMINUS ){ p = p->pLeft; }
+ while( p->op==TK_UPLUS || p->op==TK_UMINUS ){
+ p = p->pLeft;
+ }
op = p->op;
if( op==TK_REGISTER ) op = p->op2;
switch( op ){