]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix the column name uniquifier so that it works with zero-length column names.
authordrh <drh@noemail.net>
Sun, 15 Nov 2015 11:13:49 +0000 (11:13 +0000)
committerdrh <drh@noemail.net>
Sun, 15 Nov 2015 11:13:49 +0000 (11:13 +0000)
FossilOrigin-Name: 791761ebac26c82ab67bdf867117ec5b5d8b20b0

manifest
manifest.uuid
src/select.c

index 8371747542d70032e4ff04af44f7ff6980416184..7784ab59faa8cf069cc27b9dca97371ba9b964da 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Code\ssimplification\sin\ssqlite3ColumnsFromExprList().\s\sUpdate\sthe\s%z\sformat\ncode\sso\sthat\sit\sworks\swith\sbuffers\sobtained\sfrom\ssqlite3DbMalloc().\s\sAdd\sa\ntestcase\sfor\sthe\sslow\scolumn\sname\suniquifier.
-D 2015-11-14T22:04:22.826
+C Fix\sthe\scolumn\sname\suniquifier\sso\sthat\sit\sworks\swith\szero-length\scolumn\snames.
+D 2015-11-15T11:13:49.647
 F Makefile.in d828db6afa6c1fa060d01e33e4674408df1942a1
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e928e68168df69b353300ac87c10105206653a03
@@ -339,7 +339,7 @@ F src/printf.c f8fc8f04e75b1e983ef2793c27ec7a43b287e94a
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 1954a0f01bf65d78d7d559aea3d5c67f33376d91
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
-F src/select.c 1854c85ba100a9f76bf8cf47d4ae59a2ae799ef0
+F src/select.c 4c58ae319df6862e5ea237e757b5d317c4491798
 F src/shell.c acefb4593a9bf0338a757c968f1f1bb05690d830
 F src/sqlite.h.in fa62718f73553f06b2f2e362fd09ccb4e1cbb626
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
@@ -1403,7 +1403,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 5b08f29f458c600401860c7d70d8174cf61e69f8
-R 4914cc3a8ed45c6aa86aea7a39b8ba36
+P 9272426057b6cb2d913519ff4c97aa6e211f7d51
+R a974c67769be53d36ddc37d671cc0607
 U drh
-Z 01b4ba6f26cc34a60c8e736ca788d377
+Z f40155003991429935f69f917db4e724
index 2212eca51422b2d081177a7c5d4820cfc90e3db5..571a15823ae042e3ad38eb4c4552545df097cf71 100644 (file)
@@ -1 +1 @@
-9272426057b6cb2d913519ff4c97aa6e211f7d51
\ No newline at end of file
+791761ebac26c82ab67bdf867117ec5b5d8b20b0
\ No newline at end of file
index 2265d4c9f94bc0a80f895bc5a7bee7c4cc0a4507..126d4cc28238f903bc1be9803e14f7dcfa0cff3d 100644 (file)
@@ -1651,8 +1651,10 @@ int sqlite3ColumnsFromExprList(
     cnt = 0;
     while( zName && sqlite3HashFind(&ht, zName)!=0 ){
       nName = sqlite3Strlen30(zName);
-      for(j=nName-1; j>0 && sqlite3Isdigit(zName[j]); j--){}
-      if( zName[j]==':' ) nName = j;
+      if( nName>0 ){
+        for(j=nName-1; j>0 && sqlite3Isdigit(zName[j]); j--){}
+        if( zName[j]==':' ) nName = j;
+      }
       zName = sqlite3MPrintf(db, "%.*z:%u", nName, zName, ++cnt);
       if( cnt>3 ) sqlite3_randomness(sizeof(cnt), &cnt);
     }