From: drh Date: Thu, 20 May 2004 23:37:54 +0000 (+0000) Subject: Fix a bug that prevented sorting by index. Down to 162 failed tests. (CVS 1421) X-Git-Tag: version-3.6.10~4653 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1186b0a08b3ed6f9263d97e14c5a8695101ff8ba;p=thirdparty%2Fsqlite.git Fix a bug that prevented sorting by index. Down to 162 failed tests. (CVS 1421) FossilOrigin-Name: b032b646b72a03e828d732ac22192f992904d79f --- diff --git a/manifest b/manifest index a0c8b388f4..49b72458ea 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sinternal\ssupport\sfor\scollating\ssequences.\s\sThis\sbreaks\s244\stests.\s(CVS\s1420) -D 2004-05-20T22:16:29 +C Fix\sa\sbug\sthat\sprevented\ssorting\sby\sindex.\s\sDown\sto\s162\sfailed\stests.\s(CVS\s1421) +D 2004-05-20T23:37:55 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd @@ -43,7 +43,7 @@ F src/os.c ddcda92f7fd71b4513c57c1ec797917f206d504e F src/os.h 6e446a17cbeb6c2ce470683a0bb8d9c63abe8607 F src/pager.c 6ff6b906427d4824099140776cb8768f922f3dc5 F src/pager.h 78a00ac280899bcba1a89dc51585dcae6b7b3253 -F src/parse.y 7c8eb3a305292fb4a0a9cee8c80ff68fdc1a1011 +F src/parse.y 567718866b94d58a6c7681cc45ba7987771d583a F src/pragma.c aeeba7dc5bc32a6f0980e6516cb2a48a50973fab F src/printf.c ef750e8e2398ca7e8b58be991075f08c6a7f0e53 F src/random.c eff68e3f257e05e81eae6c4d50a51eb88beb4ff3 @@ -195,7 +195,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4 -P 5c1e47a25244eacc69b688f5f4e62cec9f09665a -R ce21bc93f28abe94d7cac8a777c1f594 +P a6cb09d7af537726acc87b9133f68c81e839e047 +R 77b7dd16da245944750dc57d44fdb5de U drh -Z 85f85a1caf6d7ec42aba1c203751fff5 +Z 33f52970085179fc3765fcfd7b86df26 diff --git a/manifest.uuid b/manifest.uuid index 26a76249a4..68a60c0370 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a6cb09d7af537726acc87b9133f68c81e839e047 \ No newline at end of file +b032b646b72a03e828d732ac22192f992904d79f \ No newline at end of file diff --git a/src/parse.y b/src/parse.y index 4bfa6a81b0..d41d8ffed9 100644 --- a/src/parse.y +++ b/src/parse.y @@ -14,7 +14,7 @@ ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** -** @(#) $Id: parse.y,v 1.116 2004/05/20 22:16:29 drh Exp $ +** @(#) $Id: parse.y,v 1.117 2004/05/20 23:37:55 drh Exp $ */ %token_prefix TK_ %token_type {Token} @@ -435,11 +435,11 @@ using_opt(U) ::= . {U = 0;} orderby_opt(A) ::= . {A = 0;} orderby_opt(A) ::= ORDER BY sortlist(X). {A = X;} sortlist(A) ::= sortlist(X) COMMA sortitem(Y) collate(C) sortorder(Z). { - A = sqlite3ExprListAppend(X,Y,&C); + A = sqlite3ExprListAppend(X,Y,C.n>0?&C:0); if( A ) A->a[A->nExpr-1].sortOrder = Z; } sortlist(A) ::= sortitem(Y) collate(C) sortorder(Z). { - A = sqlite3ExprListAppend(0,Y,&C); + A = sqlite3ExprListAppend(0,Y,C.n>0?&C:0); if( A ) A->a[0].sortOrder = Z; } sortitem(A) ::= expr(X). {A = X;}