-C A\sfile\sformat\schange\sfor\sbtree.c\smakes\sit\sbetween\s10\sand\s20%\sfaster.\s(CVS\s1493)
-D 2004-05-29T21:46:49
+C Do\snot\sinclude\sthe\sP3\sparameter\son\sOP_Integer\sopcodes\sif\sthe\sinteger\swill\sfit\nin\s32\sbits.\s\sThe\sP3\sconversion\sis\sslow.\s(CVS\s1494)
+D 2004-05-30T01:38:43
F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F src/date.c 0eb922af5c5f5e2455f8dc2f98023ed3e04a857e
F src/delete.c 72f8febf6170cda830f509c8f9dffbed3df3596c
F src/encode.c a876af473d1d636faa3dca51c7571f2e007eea37
-F src/expr.c 416e8970fd0f0b66ac8b4d9f58f6f73239e47568
+F src/expr.c 5145de7d25a4b960a4afdb754a9e88b60cce0405
F src/func.c 1fe0763675eb38b6e3992d3edfbec2271798b658
F src/hash.c 440c2f8cb373ee1b4e13a0988489c7cd95d55b6f
F src/hash.h 762d95f1e567664d1eafc1687de755626be962fb
F src/vdbeInt.h c2bcd6e5a6e6a3753e4c5a368629c3a625719bfc
F src/vdbeapi.c 0c5d64c81871cb4fe5407e639604ee95738b6942
F src/vdbeaux.c 79dbad52ba653c0f26adcab1a054432669775b0d
-F src/vdbemem.c c97c145ff6d9fc5b4236704c04a65849117e6214
+F src/vdbemem.c d5f96663627d54ee8ea47f182c92faa57a015704
F src/where.c 444a7c3a8b1eb7bba072e489af628555d21d92a4
F test/all.test 569a92a8ee88f5300c057cc4a8f50fbbc69a3242
F test/attach.test 0dd7cf9bf9bc915bce2da4fb616c4ea9c3da64af
F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 3225de8902b0e7e60c4d9f3a5ef51bc74f57d364
-R 702efc72950b18adf9baf0d005935d93
+P cbcaece7f45a0bc994e6c54a996afa4e6529da6a
+R 258b847515a631fd85af8a899101683c
U drh
-Z e0fe70a1953600e894856c5d74936688
+Z b2fca084d3ec68b05f90cc6a90870693
-cbcaece7f45a0bc994e6c54a996afa4e6529da6a
\ No newline at end of file
+fcd84ebabca72023e76e6954514948aa9a3ab999
\ No newline at end of file
** This file contains routines used for analyzing expressions and
** for generating VDBE code that evaluates expressions in SQLite.
**
-** $Id: expr.c,v 1.132 2004/05/29 11:24:50 danielk1977 Exp $
+** $Id: expr.c,v 1.133 2004/05/30 01:38:43 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
*/
static void codeInteger(Vdbe *v, const char *z, int n){
int i;
- if( sqlite3GetInt32(z, &i) || (i=0, sqlite3FitsIn64Bits(z))!=0 ){
- sqlite3VdbeOp3(v, OP_Integer, i, 0, z, n);
+ if( sqlite3GetInt32(z, &i) ){
+ sqlite3VdbeAddOp(v, OP_Integer, i, 0);
+ }else if( sqlite3FitsIn64Bits(z) ){
+ sqlite3VdbeOp3(v, OP_Integer, 0, 0, z, n);
}else{
sqlite3VdbeOp3(v, OP_Real, 0, 0, z, n);
}
** prior representations are invalidated. NULL is converted into 0.
*/
int sqlite3VdbeMemIntegerify(Mem *pMem){
- if( pMem->flags & MEM_Int ){
+ int flags = pMem->flags;
+ if( flags & MEM_Int ){
/* Do nothing */
- }else if( pMem->flags & MEM_Real ){
+ }else if( flags & MEM_Real ){
pMem->i = (i64)pMem->r;
- }else if( pMem->flags & (MEM_Str|MEM_Blob) ){
+ }else if( flags & (MEM_Str|MEM_Blob) ){
if( sqlite3VdbeChangeEncoding(pMem, TEXT_Utf8)
|| sqlite3VdbeMemNulTerminate(pMem) ){
return SQLITE_NOMEM;