Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix a bug that prevented sorting by index. Down to 162 failed tests. (CVS 1421) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
b032b646b72a03e828d732ac22192f99 |
User & Date: | drh 2004-05-20 23:37:55.000 |
Context
2004-05-21
| ||
01:29 | Sorting bug fixes. Now only 17 tests fail. (CVS 1422) (check-in: 0736b7e840 user: drh tags: trunk) | |
2004-05-20
| ||
23:37 | Fix a bug that prevented sorting by index. Down to 162 failed tests. (CVS 1421) (check-in: b032b646b7 user: drh tags: trunk) | |
22:16 | Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: a6cb09d7af user: drh tags: trunk) | |
Changes
Changes to src/parse.y.
︙ | ︙ | |||
10 11 12 13 14 15 16 | ** ************************************************************************* ** This file contains SQLite's grammar for SQL. Process this file ** using the lemon parser generator to generate C code that runs ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ** ************************************************************************* ** This file contains SQLite's grammar for SQL. Process this file ** using the lemon parser generator to generate C code that runs ** the parser. Lemon will also generate a header file containing ** numeric codes for all of the tokens. ** ** @(#) $Id: parse.y,v 1.117 2004/05/20 23:37:55 drh Exp $ */ %token_prefix TK_ %token_type {Token} %default_type {Token} %extra_argument {Parse *pParse} %syntax_error { if( pParse->zErrMsg==0 ){ |
︙ | ︙ | |||
431 432 433 434 435 436 437 | %destructor sortlist {sqlite3ExprListDelete($$);} %type sortitem {Expr*} %destructor sortitem {sqlite3ExprDelete($$);} 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). { | | | | 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 | %destructor sortlist {sqlite3ExprListDelete($$);} %type sortitem {Expr*} %destructor sortitem {sqlite3ExprDelete($$);} 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.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.n>0?&C:0); if( A ) A->a[0].sortOrder = Z; } sortitem(A) ::= expr(X). {A = X;} %type sortorder {int} %type collate {Token} |
︙ | ︙ |