]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Simplification to the xfer-optimization logic.
authordrh <drh@noemail.net>
Wed, 30 Dec 2015 15:18:16 +0000 (15:18 +0000)
committerdrh <drh@noemail.net>
Wed, 30 Dec 2015 15:18:16 +0000 (15:18 +0000)
FossilOrigin-Name: f35ba018da843897acca58f70541b940598bc271

manifest
manifest.uuid
src/insert.c

index e2ed7e0ab2ac78dc36538ba64ac33501f4797182..ca0b8299dc3eb063a5b184a83846b87e9f8e276b 100644 (file)
--- a/manifest
+++ b/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
index fbd1be6203bf54b0c34777510e6fa8f860e2546e..3a118b9b0887ba842c34f4d53343700c64db88ce 100644 (file)
@@ -1 +1 @@
-0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
\ No newline at end of file
+f35ba018da843897acca58f70541b940598bc271
\ No newline at end of file
index 7ac2a2559da2a28d1bcb29673feaa395ea22ed31..858bcf27af86d4bb03eb1d8e3253dd0a0002fb0e 100644 (file)
@@ -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 ){