1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Fix the column name uniquifier so that it works with zero-length column names.

FossilOrigin-Name: 791761ebac26c82ab67bdf867117ec5b5d8b20b0
This commit is contained in:
drh
2015-11-15 11:13:49 +00:00
parent 96ceaf8680
commit f7ee8965a5
3 changed files with 11 additions and 9 deletions

View File

@@ -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

View File

@@ -1 +1 @@
9272426057b6cb2d913519ff4c97aa6e211f7d51
791761ebac26c82ab67bdf867117ec5b5d8b20b0

View 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);
}