Overview
| SHA1 Hash: | e313edca0472f07e9b872b92120d80b4bc177328 |
|---|---|
| Date: | 2012-12-07 22:54:41 |
| User: | drh |
| Comment: | Do not report missing collating functions while parsing the schema. Also remove a stray comment. |
Tags And Properties
- branch=ticket-71e333e7 inherited from [cc6e0785df]
- sym-ticket-71e333e7 inherited from [cc6e0785df]
Changes
Changes to src/expr.c
108 while( p && pColl==0 ){ 108 while( p && pColl==0 ){ 109 int op = p->op; 109 int op = p->op; 110 if( op==TK_CAST || op==TK_UPLUS ){ 110 if( op==TK_CAST || op==TK_UPLUS ){ 111 p = p->pLeft; 111 p = p->pLeft; 112 continue; 112 continue; 113 } 113 } 114 if( op==TK_COLLATE ){ 114 if( op==TK_COLLATE ){ > 115 if( db->init.busy ){ > 116 /* Do not report errors when parsing while the schema */ > 117 pColl = sqlite3FindCollSeq(db, ENC(db), p->u.zToken, 0); > 118 }else{ 115 pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken); | 119 pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken); > 120 } 116 break; 121 break; 117 } 122 } 118 if( p->pTab!=0 123 if( p->pTab!=0 119 && (op==TK_AGG_COLUMN || op==TK_COLUMN 124 && (op==TK_AGG_COLUMN || op==TK_COLUMN 120 || op==TK_REGISTER || op==TK_TRIGGER) 125 || op==TK_REGISTER || op==TK_TRIGGER) 121 ){ 126 ){ 122 /* op==TK_REGISTER && p->pTab!=0 happens when pExpr was originally 127 /* op==TK_REGISTER && p->pTab!=0 happens when pExpr was originally
Changes to src/select.c
2333 for(i=0; i<nOrderBy; i++){ 2333 for(i=0; i<nOrderBy; i++){ 2334 CollSeq *pColl; 2334 CollSeq *pColl; 2335 Expr *pTerm = pOrderBy->a[i].pExpr; 2335 Expr *pTerm = pOrderBy->a[i].pExpr; 2336 if( pTerm->flags & EP_Collate ){ 2336 if( pTerm->flags & EP_Collate ){ 2337 pColl = sqlite3ExprCollSeq(pParse, pTerm); 2337 pColl = sqlite3ExprCollSeq(pParse, pTerm); 2338 }else{ 2338 }else{ 2339 pColl = multiSelectCollSeq(pParse, p, aPermute[i]); 2339 pColl = multiSelectCollSeq(pParse, p, aPermute[i]); 2340 // pTerm->flags |= EP_Collate; < 2341 } 2340 } 2342 pKeyMerge->aColl[i] = pColl; 2341 pKeyMerge->aColl[i] = pColl; 2343 pKeyMerge->aSortOrder[i] = pOrderBy->a[i].sortOrder; 2342 pKeyMerge->aSortOrder[i] = pOrderBy->a[i].sortOrder; 2344 } 2343 } 2345 } 2344 } 2346 }else{ 2345 }else{ 2347 pKeyMerge = 0; 2346 pKeyMerge = 0;