From: drh Date: Wed, 19 Aug 2009 22:14:17 +0000 (+0000) Subject: Make sure that sqlite3ValueFromExpr() sets the "type" field of the X-Git-Tag: fts3-refactor~246 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3995c26d1608460ddd472d0121c415c57303d168;p=thirdparty%2Fsqlite.git Make sure that sqlite3ValueFromExpr() sets the "type" field of the sqlite3_value object correctly when the value is a floating point number. FossilOrigin-Name: 2467eb68ace46f6185fd14758446a5c887caffe3 --- diff --git a/manifest b/manifest index 9a8b84c337..9f71e159d1 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Change\sthe\sway\san\sExpr\sthat\shas\sbeen\sconverted\sto\sTK_REGISTER\sstores\sits\soriginal\sopcode.\sThe\sprevious\smethod,\soverloading\sExpr.iColumn,\sdid\snot\swork\sin\sall\scases. -D 2009-08-19T17:17:01 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C Make\ssure\sthat\ssqlite3ValueFromExpr()\ssets\sthe\s"type"\sfield\sof\sthe\s\nsqlite3_value\sobject\scorrectly\swhen\sthe\svalue\sis\sa\sfloating\spoint\nnumber. +D 2009-08-19T22:14:17 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in 0f7761c5d1c62ae7a841e3393ffaff1fa0f5c00a F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -211,7 +214,7 @@ F src/vdbeInt.h 831c254a6eef237ef4664c8381a0137586567007 F src/vdbeapi.c 0ab8ada7260b32031ca97f338caecf0812460624 F src/vdbeaux.c 4956536a636468fd07284028c39aab65ea99777e F src/vdbeblob.c a3f3e0e877fc64ea50165eec2855f5ada4477611 -F src/vdbemem.c 6075cc7f8ea3064c3229ad30dd0f23903ea4e035 +F src/vdbemem.c c4a5188ff43692f2ca78d3539ad4877e14b70712 F src/vtab.c aedd76e8670d5a5379f93804398d3ba960125547 F src/walker.c 1edca756275f158b80f20eb6f104c8d3fcc96a04 F src/where.c 2e61e33f3649ef5940ef63ed285d37d03bc03dc5 @@ -747,7 +750,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746 -P 14a715c5639b2bc69b129485ca32e96366dab4c4 -R 89df65d7caba8e808134aaf6a22f2021 -U dan -Z dfc672a723805ae86ee20de2e2eef473 +P 71ea9d0e148fbd3d633651c61c81044e37cf88b9 +R 45390f6811dc3624f1ad825b9110ccd7 +U drh +Z 03b87eba63c17f388b328f28d556054c +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFKjHk8oxKgR168RlERAp0tAJ96All92gjQmLuqGW3zZHV5nh7/pgCfZ46H +GPDaRy3R9j2mCfTXRuP0oZI= +=YPhx +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index 149d082b57..30f7b7a4ec 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -71ea9d0e148fbd3d633651c61c81044e37cf88b9 \ No newline at end of file +2467eb68ace46f6185fd14758446a5c887caffe3 \ No newline at end of file diff --git a/src/vdbemem.c b/src/vdbemem.c index afa49d5491..3daeebf2c6 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -1012,6 +1012,7 @@ int sqlite3ValueFromExpr( zVal = sqlite3DbStrDup(db, pExpr->u.zToken); if( zVal==0 ) goto no_mem; sqlite3ValueSetStr(pVal, -1, zVal, SQLITE_UTF8, SQLITE_DYNAMIC); + if( op==TK_FLOAT ) pVal->type = SQLITE_FLOAT; } if( (op==TK_INTEGER || op==TK_FLOAT ) && affinity==SQLITE_AFF_NONE ){ sqlite3ValueApplyAffinity(pVal, SQLITE_AFF_NUMERIC, SQLITE_UTF8);