From: drh Date: Fri, 5 Oct 2012 14:43:40 +0000 (+0000) Subject: Consolidate all occurrences of the "no such collation sequence" error message X-Git-Tag: version-3.7.15~90 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=79e72a50aac070d6d42d38738d198bc0f4dddb33;p=thirdparty%2Fsqlite.git Consolidate all occurrences of the "no such collation sequence" error message into a single spot. FossilOrigin-Name: 8ea67522fb03134f355ecb776b70c6917241cab2 --- diff --git a/manifest b/manifest index 1dd4fd127e..e198ba9848 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Rename\sa\stool\sbatch\sfile\ssubroutine\sto\savoid\sconfusion\sabout\sits\spurpose. -D 2012-10-05T07:36:34.233 +C Consolidate\sall\soccurrences\sof\sthe\s"no\ssuch\scollation\ssequence"\serror\smessage\ninto\sa\ssingle\sspot. +D 2012-10-05T14:43:40.494 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5f4f26109f9d80829122e0e09f9cda008fa065fb F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -124,8 +124,8 @@ F src/btmutex.c 976f45a12e37293e32cae0281b15a21d48a8aaa7 F src/btree.c 14de53ebb334633ee632ab3c5b9262cfe7cbe455 F src/btree.h 078f76b28c338ab6eb6dd7324d63ee54463aeb6c F src/btreeInt.h 4e5c2bd0f9b36b2a815a6d84f771a61a65830621 -F src/build.c c4555e16f8ccdadb2616014c617ed8166c5a93f7 -F src/callback.c 0cb4228cdcd827dcc5def98fb099edcc9142dbcd +F src/build.c b87aff4aa847680b90556d639dedac829ad9363a +F src/callback.c d7e46f40c3cf53c43550b7da7a1d0479910b62cc F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c 72a70dcfda75d3a1f81041ce4573e7afddcd8e4e F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4 @@ -179,7 +179,7 @@ F src/shell.c 8ee5a3cb502e2d574f97b43972e6c1e275e7bec7 F src/sqlite.h.in c7be05ad191d2634292fcc77bdb2bcfa4526eb98 F src/sqlite3.rc fea433eb0a59f4c9393c8e6d76a6e2596b1fe0c0 F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477 -F src/sqliteInt.h c29395d6e68cfbcb2661787ae4820e5e256c916a +F src/sqliteInt.h 6066ed7dac3824c0b362e789863622f1589a94d2 F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 35939e7e03abf1b7577ce311f48f682c40de3208 F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e @@ -249,7 +249,7 @@ F src/vtab.c d8020c0a0e8ccc490ca449d7e665311b6e9f3ba9 F src/wal.c e1fe8f92a0ea0fef8faa87ec43a127a478589d22 F src/wal.h 29c197540b19044e6cd73487017e5e47a1d3dac6 F src/walker.c 3d75ba73de15e0f8cd0737643badbeb0e002f07b -F src/where.c fabdb473752fb465b0cae66d446b7af678033d0c +F src/where.c bf45ec770aa6e5da55d6e9e9405ce990ff6ca201 F test/8_3_names.test 631ea964a3edb091cf73c3b540f6bcfdb36ce823 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 F test/aggnested.test 0be144b453e0622a085fae8665c32f5676708e00 @@ -1018,7 +1018,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 F tool/win/sqlite.vsix 67d8a99aceb56384a81b3f30d6c71743146d2cc9 -P ba2f492f957ab5556cd540e21a76ebb75efea725 -R 5327149995bfae724325c397eda64b6a -U mistachkin -Z 0e16eea60d3d1df7334d6e6fee7ae0d5 +P 43155b1543bddbb84a8bc13a5b7344b228ddacb9 +R 1ba72200797152f8f0b84e511e307440 +U drh +Z 6fe8cb59728e23f06e655a7d282a5a09 diff --git a/manifest.uuid b/manifest.uuid index ff06a4f574..ce97c943d4 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -43155b1543bddbb84a8bc13a5b7344b228ddacb9 \ No newline at end of file +8ea67522fb03134f355ecb776b70c6917241cab2 \ No newline at end of file diff --git a/src/build.c b/src/build.c index 8910bbd981..221e476f14 100644 --- a/src/build.c +++ b/src/build.c @@ -1295,10 +1295,7 @@ CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char *zName){ pColl = sqlite3FindCollSeq(db, enc, zName, initbusy); if( !initbusy && (!pColl || !pColl->xCmp) ){ - pColl = sqlite3GetCollSeq(db, enc, pColl, zName); - if( !pColl ){ - sqlite3ErrorMsg(pParse, "no such collation sequence: %s", zName); - } + pColl = sqlite3GetCollSeq(pParse, enc, pColl, zName); } return pColl; diff --git a/src/callback.c b/src/callback.c index a515e05e2a..d40c65cb92 100644 --- a/src/callback.c +++ b/src/callback.c @@ -75,17 +75,18 @@ static int synthCollSeq(sqlite3 *db, CollSeq *pColl){ ** ** The return value is either the collation sequence to be used in database ** db for collation type name zName, length nName, or NULL, if no collation -** sequence can be found. +** sequence can be found. If no collation is found, leave an error message. ** ** See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() */ CollSeq *sqlite3GetCollSeq( - sqlite3* db, /* The database connection */ + Parse *pParse, /* Parsing context */ u8 enc, /* The desired encoding for the collating sequence */ CollSeq *pColl, /* Collating sequence with native encoding, or NULL */ const char *zName /* Collating sequence name */ ){ CollSeq *p; + sqlite3 *db = pParse->db; p = pColl; if( !p ){ @@ -102,6 +103,9 @@ CollSeq *sqlite3GetCollSeq( p = 0; } assert( !p || p->xCmp ); + if( p==0 ){ + sqlite3ErrorMsg(pParse, "no such collation sequence: %s", zName); + } return p; } @@ -120,10 +124,8 @@ int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){ if( pColl ){ const char *zName = pColl->zName; sqlite3 *db = pParse->db; - CollSeq *p = sqlite3GetCollSeq(db, ENC(db), pColl, zName); + CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName); if( !p ){ - sqlite3ErrorMsg(pParse, "no such collation sequence: %s", zName); - pParse->nErr++; return SQLITE_ERROR; } assert( p==pColl ); diff --git a/src/sqliteInt.h b/src/sqliteInt.h index a03b7ac1e7..fe0ab3e1fc 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -3077,7 +3077,7 @@ int sqlite3ResolveOrderGroupBy(Parse*, Select*, ExprList*, const char*); void sqlite3ColumnDefault(Vdbe *, Table *, int, int); void sqlite3AlterFinishAddColumn(Parse *, Token *); void sqlite3AlterBeginAddColumn(Parse *, SrcList *); -CollSeq *sqlite3GetCollSeq(sqlite3*, u8, CollSeq *, const char*); +CollSeq *sqlite3GetCollSeq(Parse*, u8, CollSeq *, const char*); char sqlite3AffinityType(const char*); void sqlite3Analyze(Parse*, Token*, Token*); int sqlite3InvokeBusyHandler(BusyHandler*); diff --git a/src/where.c b/src/where.c index 0df9bb08d5..725e45cb7a 100644 --- a/src/where.c +++ b/src/where.c @@ -2415,10 +2415,8 @@ static int whereKeyStats( pColl = db->pDfltColl; assert( pColl->enc==SQLITE_UTF8 ); }else{ - pColl = sqlite3GetCollSeq(db, SQLITE_UTF8, 0, *pIdx->azColl); + pColl = sqlite3GetCollSeq(pParse, SQLITE_UTF8, 0, *pIdx->azColl); if( pColl==0 ){ - sqlite3ErrorMsg(pParse, "no such collation sequence: %s", - *pIdx->azColl); return SQLITE_ERROR; } z = (const u8 *)sqlite3ValueText(pVal, pColl->enc);