Simplification to the xfer-optimization logic.
FossilOrigin-Name: f35ba018da843897acca58f70541b940598bc271
This commit is contained in:
parent
31d175dde4
commit
0472af91ec
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
||||
C Remove\sunnecessary\stests\sfrom\sthe\sLIKE\spattern\smatcher.\s\sSlightly\sfaster\sand\nslightly\ssmaller,\sand\sit\sshould\salso\snow\sworks\swith\sEBCDIC.
|
||||
D 2015-12-30T14:06:22.463
|
||||
C Simplification\sto\sthe\sxfer-optimization\slogic.
|
||||
D 2015-12-30T15:18:16.130
|
||||
F Makefile.in 28bcd6149e050dff35d4dcfd97e890cd387a499d
|
||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||
F Makefile.msc 5fff077fcc46de7714ed6eebb6159a4c00eab751
|
||||
@ -294,7 +294,7 @@ F src/global.c 508e4087f7b41d688e4762dcf4d4fe28cfbc87f9
|
||||
F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
|
||||
F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
|
||||
F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
|
||||
F src/insert.c 4622e544a6f054b8f36bb06ae85f4aa09fcd6b5b
|
||||
F src/insert.c 756ae3281e465e5d489a3409ccb4f1041069d530
|
||||
F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
|
||||
F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
|
||||
F src/loadext.c 84996d7d70a605597d79c1f1d7b2012a5fd34f2b
|
||||
@ -1406,7 +1406,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
|
||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||
F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
|
||||
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
|
||||
P 7f386a9332237100a345035ca213327e21d95855
|
||||
R 7d1c2a289a785f636ce602a7472437a7
|
||||
P 0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
|
||||
R 5e4c4e8e37aad85efb78266b71a902b5
|
||||
U drh
|
||||
Z 72bb50259efca9e2c772b83f9c123827
|
||||
Z 91b12f25ba51396a818d59a327f065c9
|
||||
|
@ -1 +1 @@
|
||||
0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
|
||||
f35ba018da843897acca58f70541b940598bc271
|
18
src/insert.c
18
src/insert.c
@ -1709,20 +1709,6 @@ int sqlite3_xferopt_count;
|
||||
|
||||
|
||||
#ifndef SQLITE_OMIT_XFER_OPT
|
||||
/*
|
||||
** Check to collation names to see if they are compatible.
|
||||
*/
|
||||
static int xferCompatibleCollation(const char *z1, const char *z2){
|
||||
if( z1==0 ){
|
||||
return z2==0;
|
||||
}
|
||||
if( z2==0 ){
|
||||
return 0;
|
||||
}
|
||||
return sqlite3StrICmp(z1, z2)==0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
** Check to see if index pSrc is compatible as a source of data
|
||||
** for index pDest in an insert transfer optimization. The rules
|
||||
@ -1758,7 +1744,7 @@ static int xferCompatibleIndex(Index *pDest, Index *pSrc){
|
||||
if( pSrc->aSortOrder[i]!=pDest->aSortOrder[i] ){
|
||||
return 0; /* Different sort orders */
|
||||
}
|
||||
if( !xferCompatibleCollation(pSrc->azColl[i],pDest->azColl[i]) ){
|
||||
if( sqlite3_stricmp(pSrc->azColl[i],pDest->azColl[i])!=0 ){
|
||||
return 0; /* Different collating sequences */
|
||||
}
|
||||
}
|
||||
@ -1919,7 +1905,7 @@ static int xferOptimization(
|
||||
if( pDestCol->affinity!=pSrcCol->affinity ){
|
||||
return 0; /* Affinity must be the same on all columns */
|
||||
}
|
||||
if( !xferCompatibleCollation(pDestCol->zColl, pSrcCol->zColl) ){
|
||||
if( sqlite3_stricmp(pDestCol->zColl, pSrcCol->zColl)!=0 ){
|
||||
return 0; /* Collating sequence must be the same on all columns */
|
||||
}
|
||||
if( pDestCol->notNull && !pSrcCol->notNull ){
|
||||
|
Loading…
Reference in New Issue
Block a user