aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordan <dan@noemail.net>2019-05-17 15:59:11 +0000
committerdan <dan@noemail.net>2019-05-17 15:59:11 +0000
commitbe812624006aa7ca3acef17161ed6ea8de24d004 (patch)
treea636e893751d89a4835712e5fe2c52d4549c2410 /src
parent829d4253ffa2e0bb5cc6ca37f0bf5053fd8db930 (diff)
downloadsqlite-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.c4
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++;