Fix bugs introduced by checkin (2656) and do some modest code enhancements. (CVS 2657)
FossilOrigin-Name: 7b56763a8b514834198d2392639d6d726b17d901
This commit is contained in:
parent
c092998715
commit
d81bd4e209
18
manifest
18
manifest
@ -1,5 +1,5 @@
|
||||
C Use\sthe\sunicode\sAPI\sto\swin32\swhere\savailable.\r\nTickets\s#1407,\s#1396,\s#1331,\s#1243,\s#1206\s(CVS\s2656)
|
||||
D 2005-09-05T19:08:29
|
||||
C Fix\sbugs\sintroduced\sby\scheckin\s(2656)\sand\sdo\ssome\smodest\scode\senhancements.\s(CVS\s2657)
|
||||
D 2005-09-05T20:06:49
|
||||
F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1
|
||||
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||
@ -40,7 +40,7 @@ F src/complete.c 4de937dfdd4c79a501772ab2035b26082f337a79
|
||||
F src/date.c 7444b0900a28da77e57e3337a636873cff0ae940
|
||||
F src/delete.c be1fc25c9e109cd8cbab42a43ee696263da7c04b
|
||||
F src/experimental.c 50c1e3b34f752f4ac10c36f287db095c2b61766d
|
||||
F src/expr.c e9d0401bed1fa61cce356c2da4b53dae769c4fc3
|
||||
F src/expr.c 8a72157fa6842e84819a8c80521be02ec471180c
|
||||
F src/func.c 9da04a6241309a612cf610715944c6a2aaf0f297
|
||||
F src/hash.c 2b1b13f7400e179631c83a1be0c664608c8f021f
|
||||
F src/hash.h 1b0c445e1c89ff2aaad9b4605ba61375af001e84
|
||||
@ -54,7 +54,7 @@ F src/os_test.c 91e5f22dd89491e5e1554820e715805f43fa4ece
|
||||
F src/os_test.h 903c93554c23d88f34f667f1979e4a1cee792af3
|
||||
F src/os_unix.c b4c4592589113db088662ef7570967ec36022b5d
|
||||
F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
|
||||
F src/os_win.c 8b80f418aefd2ceabe3580f680f5dcc244cf2344
|
||||
F src/os_win.c 4aad6cd49a2a546f945491a9e6a0b7d061cf47c5
|
||||
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
|
||||
F src/pager.c cd9896287a8fd33cc267bd0c2b69c421a4808169
|
||||
F src/pager.h 17b13225abd93c1e9f470060f40a21b9edb5a164
|
||||
@ -63,7 +63,7 @@ F src/pragma.c 69413fbdc0c6aaa493a776ea52c1b3e6cf35dfb2
|
||||
F src/prepare.c 86f0d8e744b8d956eff6bc40e29049efee017610
|
||||
F src/printf.c d2678b06cfa07be9b14c330a42310f62340e34ce
|
||||
F src/random.c 90adff4e73a3b249eb4f1fc2a6ff9cf78c7233a4
|
||||
F src/select.c aabc227c8806fb942dff17965a0e63fe2a9ced67
|
||||
F src/select.c 79bd7f97345ee4291e7f4d469307b185eb2cba8f
|
||||
F src/shell.c b21daba017b8feef2fdc65ecde57f70209494217
|
||||
F src/sqlite.h.in d6561d51025d08de4f455607f3f9f9aa76e855d5
|
||||
F src/sqliteInt.h 845ff6f8019f80baafb1bdbb8ef80fcd04d9d0f9
|
||||
@ -84,7 +84,7 @@ F src/vdbe.c efde23f8829b5902cfbc8cca3f3fab51a7e9c99a
|
||||
F src/vdbe.h 3b29a9af6c7a64ed692bef1fc5f61338f40d2f67
|
||||
F src/vdbeInt.h 52811a5182c6f98a10d34a1d1d0188fe3582ae03
|
||||
F src/vdbeapi.c f0d36ff0f06bb5315efac5645b62e99db2c175b8
|
||||
F src/vdbeaux.c afb689d2d5c413ec3448f8f697d07dcd35bd8766
|
||||
F src/vdbeaux.c b23bb870ab88fb91a2dd15273922d93314d8a7a3
|
||||
F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5
|
||||
F src/vdbemem.c 4732fd4d1a75dc38549493d7f9a81d02bf7c59b5
|
||||
F src/where.c 92ab208abe6bec15e81616b8c1a619be23ece506
|
||||
@ -306,7 +306,7 @@ F www/tclsqlite.tcl 3df553505b6efcad08f91e9b975deb2e6c9bb955
|
||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
||||
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
|
||||
P efbb4bc83cd86b6a26d58c5818c58c2e3edaab18
|
||||
R d11951b0db345c53b16225d15ddfa80a
|
||||
P 3ec58c673ae4cf0695ea0c287cc9bcbdcdb1a200
|
||||
R c648b12a5837f4af3bcb70379debe21a
|
||||
U drh
|
||||
Z ce91eee65efcee02daeb83c44469f09e
|
||||
Z 6fef8f1ff4c303f7c6fae65439249cbb
|
||||
|
@ -1 +1 @@
|
||||
3ec58c673ae4cf0695ea0c287cc9bcbdcdb1a200
|
||||
7b56763a8b514834198d2392639d6d726b17d901
|
@ -12,7 +12,7 @@
|
||||
** This file contains routines used for analyzing expressions and
|
||||
** for generating VDBE code that evaluates expressions in SQLite.
|
||||
**
|
||||
** $Id: expr.c,v 1.223 2005/09/01 03:07:44 drh Exp $
|
||||
** $Id: expr.c,v 1.224 2005/09/05 20:06:49 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
#include <ctype.h>
|
||||
@ -2078,7 +2078,6 @@ static int analyzeAggregate(void *pArg, Expr *pExpr){
|
||||
NameContext *pNC = (NameContext *)pArg;
|
||||
Parse *pParse = pNC->pParse;
|
||||
SrcList *pSrcList = pNC->pSrcList;
|
||||
Expr *pAggExpr;
|
||||
|
||||
switch( pExpr->op ){
|
||||
case TK_COLUMN: {
|
||||
@ -2086,9 +2085,10 @@ static int analyzeAggregate(void *pArg, Expr *pExpr){
|
||||
if( pExpr->iTable==pSrcList->a[i].iCursor ){
|
||||
pAgg = pParse->aAgg;
|
||||
for(i=0; i<pParse->nAgg; i++, pAgg++){
|
||||
Expr *pE;
|
||||
if( pAgg->isAgg ) continue;
|
||||
if( (pAggExpr = pAgg->pExpr)->iTable==pExpr->iTable
|
||||
&& pAggExpr->iColumn==pExpr->iColumn ){
|
||||
pE = pAgg->pExpr;
|
||||
if( pE->iTable==pExpr->iTable && pE->iColumn==pExpr->iColumn ){
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ static WCHAR *utf8ToUnicode(const char *zFilename){
|
||||
return 0;
|
||||
}
|
||||
nByte = MultiByteToWideChar(CP_UTF8, 0, zFilename, -1, NULL, 0)*sizeof(WCHAR);
|
||||
zWideFilename = sqliteMalloc( nByte );
|
||||
zWideFilename = sqliteMalloc( nByte*sizeof(zWideFilename[0]) );
|
||||
if( zWideFilename==0 ){
|
||||
return 0;
|
||||
}
|
||||
@ -387,7 +387,7 @@ int sqlite3OsTempFileName(char *zBuf){
|
||||
GetTempPathW(SQLITE_TEMPNAME_SIZE-30, zWidePath);
|
||||
zMulti = unicodeToUtf8(zWidePath);
|
||||
if( zMulti ){
|
||||
memcpy(zTempPath, zMulti, SQLITE_TEMPNAME_SIZE-30);
|
||||
strncpy(zTempPath, zMulti, SQLITE_TEMPNAME_SIZE-30);
|
||||
zTempPath[SQLITE_TEMPNAME_SIZE-30] = 0;
|
||||
sqliteFree(zMulti);
|
||||
}
|
||||
|
@ -12,7 +12,7 @@
|
||||
** This file contains C code routines that are called by the parser
|
||||
** to handle SELECT statements in SQLite.
|
||||
**
|
||||
** $Id: select.c,v 1.259 2005/09/01 12:16:29 drh Exp $
|
||||
** $Id: select.c,v 1.260 2005/09/05 20:06:49 drh Exp $
|
||||
*/
|
||||
#include "sqliteInt.h"
|
||||
|
||||
@ -2167,8 +2167,7 @@ static int simpleMinMaxQuery(Parse *pParse, Select *p, int eDest, int iParm){
|
||||
/* If the output is destined for a temporary table, open that table.
|
||||
*/
|
||||
if( eDest==SRT_TempTable ){
|
||||
sqlite3VdbeAddOp(v, OP_OpenVirtual, iParm, 0);
|
||||
sqlite3VdbeAddOp(v, OP_SetNumColumns, iParm, 1);
|
||||
sqlite3VdbeAddOp(v, OP_OpenVirtual, iParm, 1);
|
||||
}
|
||||
|
||||
/* Generating code to find the min or the max. Basically all we have
|
||||
|
@ -1703,6 +1703,8 @@ int sqlite3VdbeSerialGet(
|
||||
}
|
||||
case 6: /* 8-byte signed integer */
|
||||
case 7: { /* IEEE floating point */
|
||||
u64 x;
|
||||
u32 y;
|
||||
#ifndef NDEBUG
|
||||
/* Verify that integers and floating point values use the same
|
||||
** byte order. The byte order differs on some (broken) architectures.
|
||||
@ -1711,8 +1713,8 @@ int sqlite3VdbeSerialGet(
|
||||
assert( 1.0==*(double*)&t1 );
|
||||
#endif
|
||||
|
||||
u64 x = (buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3];
|
||||
u32 y = (buf[4]<<24) | (buf[5]<<16) | (buf[6]<<8) | buf[7];
|
||||
x = (buf[0]<<24) | (buf[1]<<16) | (buf[2]<<8) | buf[3];
|
||||
y = (buf[4]<<24) | (buf[5]<<16) | (buf[6]<<8) | buf[7];
|
||||
x = (x<<32) | y;
|
||||
if( serial_type==6 ){
|
||||
pMem->i = *(i64*)&x;
|
||||
|
Loading…
x
Reference in New Issue
Block a user