]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Consolidate all occurrences of the "no such collation sequence" error message
authordrh <drh@noemail.net>
Fri, 5 Oct 2012 14:43:40 +0000 (14:43 +0000)
committerdrh <drh@noemail.net>
Fri, 5 Oct 2012 14:43:40 +0000 (14:43 +0000)
into a single spot.

FossilOrigin-Name: 8ea67522fb03134f355ecb776b70c6917241cab2

manifest
manifest.uuid
src/build.c
src/callback.c
src/sqliteInt.h
src/where.c

index 1dd4fd127ee0eaffbd832da3889ff84fdce7d067..e198ba9848f12da01e1ae282a19a3b3097575d42 100644 (file)
--- 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
index ff06a4f574a839dbb8ffa086bdecba3390369a55..ce97c943d42234e208c1baedacb1974599a00962 100644 (file)
@@ -1 +1 @@
-43155b1543bddbb84a8bc13a5b7344b228ddacb9
\ No newline at end of file
+8ea67522fb03134f355ecb776b70c6917241cab2
\ No newline at end of file
index 8910bbd98138df4cdfda5ff6d4af7bf074032a7b..221e476f14f2c30c6ab6223ae5ed75346d368ac0 100644 (file)
@@ -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;
index a515e05e2a051abae9b190e8f799fdd14231bcb9..d40c65cb924580296ad069a04bf9c9e9534ecaa7 100644 (file)
@@ -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 );
index a03b7ac1e7dad7fa35974da0a1204927892feb19..fe0ab3e1fcbb24f5d0f31ad7ad83b8a7210a057a 100644 (file)
@@ -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*);
index 0df9bb08d5d5066b27241abda43dba222f186a56..725e45cb7af28d929a0ec9bea5529c9b4ca0fabd 100644 (file)
@@ -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);