From: drh Date: Fri, 7 Dec 2012 23:10:40 +0000 (+0000) Subject: For an ORDER BY on a compound SELECT, take the collating sequence from the X-Git-Tag: version-3.7.15~7^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8e049633aac81eb709d642b185720c59f093e2e7;p=thirdparty%2Fsqlite.git For an ORDER BY on a compound SELECT, take the collating sequence from the left-most term of the compound. FossilOrigin-Name: 8e724b383da1314909c9a05e9d941a26a9f50b95 --- diff --git a/manifest b/manifest index 5e160f9e99..ebca88fa78 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Do\snot\sreport\smissing\scollating\sfunctions\swhile\sparsing\sthe\sschema.\nAlso\sremove\sa\sstray\scomment. -D 2012-12-07T22:54:41.904 +C For\san\sORDER\sBY\son\sa\scompound\sSELECT,\stake\sthe\scollating\ssequence\sfrom\sthe\nleft-most\sterm\sof\sthe\scompound. +D 2012-12-07T23:10:40.495 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 690d441a758cbffd13e814dc2724a721a6ebd400 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -174,7 +174,7 @@ F src/printf.c 4a9f882f1c1787a8b494a2987765acf9d97ac21f F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50 F src/resolve.c 5ed606916be6c63f0e262cc2cb817712384f18b5 F src/rowset.c 64655f1a627c9c212d9ab497899e7424a34222e0 -F src/select.c ebbbe13c0935bbe1064372370958cc4e44766018 +F src/select.c def5381139465670bc06b3e1adfe39a7f7dd21c2 F src/shell.c e392dd1ccbb77cc1d75a8367a89b473c24bea019 F src/sqlite.h.in 4e71a210f383b6d060bd3fdf81d850f0f8c4eca3 F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0 @@ -1025,7 +1025,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac -P 0aaf52a339808386984c30cca0c0c35ac2e70e7e -R 7af19f524bb6d3b67c53aaadb01843a9 +P e313edca0472f07e9b872b92120d80b4bc177328 +R e4585f659b2dcbe9302be05eb8524ec0 U drh -Z f5116fba24c8cad62b7fc1fe326fd934 +Z 090567ff5e7c71e3b99bc2fa20ffefbb diff --git a/manifest.uuid b/manifest.uuid index eb83b14054..f3ef64e3fc 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e313edca0472f07e9b872b92120d80b4bc177328 \ No newline at end of file +8e724b383da1314909c9a05e9d941a26a9f50b95 \ No newline at end of file diff --git a/src/select.c b/src/select.c index 5b8f2f09ad..3a4cea33bb 100644 --- a/src/select.c +++ b/src/select.c @@ -2337,6 +2337,9 @@ static int multiSelectOrderBy( pColl = sqlite3ExprCollSeq(pParse, pTerm); }else{ pColl = multiSelectCollSeq(pParse, p, aPermute[i]); + if( pColl==0 ) pColl = db->pDfltColl; + pOrderBy->a[i].pExpr = + sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName); } pKeyMerge->aColl[i] = pColl; pKeyMerge->aSortOrder[i] = pOrderBy->a[i].sortOrder;