diff options
author | dan <dan@noemail.net> | 2019-05-17 15:59:11 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2019-05-17 15:59:11 +0000 |
commit | be812624006aa7ca3acef17161ed6ea8de24d004 (patch) | |
tree | a636e893751d89a4835712e5fe2c52d4549c2410 /src | |
parent | 829d4253ffa2e0bb5cc6ca37f0bf5053fd8db930 (diff) | |
download | sqlite-be812624006aa7ca3acef17161ed6ea8de24d004.tar.gz sqlite-be812624006aa7ca3acef17161ed6ea8de24d004.zip |
Always store a REAL value in a column with REAL affinity if the integer equivalent would require 8 bytes of storage. Fix for [3c27b97e3].
FossilOrigin-Name: 14c00b1016ba53ab2dc177c59a27b6b9209202973685f0f274112d296ba7dfcb
Diffstat (limited to 'src')
-rw-r--r-- | src/vdbe.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vdbe.c b/src/vdbe.c index 0c20afbb0..c8dd618ad 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -2884,6 +2884,10 @@ case OP_MakeRecord: { pRec = pData0; do{ applyAffinity(pRec, zAffinity[0], encoding); + if( zAffinity[0]==SQLITE_AFF_REAL && (pRec->flags & MEM_Int) ){ + pRec->flags |= MEM_IntReal; + pRec->flags &= ~(MEM_Int); + } REGISTER_TRACE((int)(pRec-aMem), pRec); zAffinity++; pRec++; |