]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add the sqlite3TokenInit() utility function.
authordrh <drh@noemail.net>
Fri, 22 Jan 2016 17:48:09 +0000 (17:48 +0000)
committerdrh <drh@noemail.net>
Fri, 22 Jan 2016 17:48:09 +0000 (17:48 +0000)
FossilOrigin-Name: 7323175337b7ba85ac932ca892b28860f6a5b688

manifest
manifest.uuid
src/build.c
src/dbstat.c
src/expr.c
src/fkey.c
src/select.c
src/sqliteInt.h
src/trigger.c
src/util.c

index c4697a9a83e1b4c7324e420298ecf9f8c7c1d90a..6c3814c3d9db45df9e06a0142ab9034cbddc70dd 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Have\sthe\sdbstat\smodule\sdequote\sany\sargument\spassed\sto\sthe\sCREATE\sVIRTUAL\sTABLE\sstatement\sbefore\sattempting\sto\smatch\sit\sagainst\sthe\snames\sof\sattached\sdatabases.
-D 2016-01-22T15:44:07.317
+C Add\sthe\ssqlite3TokenInit()\sutility\sfunction.
+D 2016-01-22T17:48:09.470
 F Makefile.in 027c1603f255390c43a426671055a31c0a65fdb4
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc d2b93511a969c0c8fcf52aeb5e426571e8c610d2
@@ -291,16 +291,16 @@ F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
 F src/btree.c f224ae877fde69d1a9d430f502edaf8502752dbe
 F src/btree.h 526137361963e746949ab966a910c7f455ac6b04
 F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
-F src/build.c 31af80bba31ac159967951ef58f3144cc7db9d70
+F src/build.c b4eba1e84752ec9cae7ff3dacd5a8b6d1ab8deb9
 F src/callback.c 29ae4faba226c7ebb9aee93016b5ce8a8f071261
 F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f
 F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198
 F src/date.c 997651e3ee6c2818fbf7fcdb7156cef9eb3ece20
-F src/dbstat.c d33af6b426449d7bfd5b3d9f77911c20d1c8abdc
+F src/dbstat.c b2ec6793eef97aebb4d171d490a4ffdfa9f2475c
 F src/delete.c 00af9f08a15ddc5cba5962d3d3e5bf2d67b2e7da
-F src/expr.c df0d7c3230d59abd679da22ff5ce4cfd0e3a0e63
+F src/expr.c d10c1cdef5810cdbf73adc9f9b383684230b360a
 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
-F src/fkey.c e18b3dff7d47c7bcac5ac4fc178a89b9fd322b44
+F src/fkey.c c66d3e5b35d4d95b5c1e2ee6c12f5df13a7f9ad6
 F src/func.c ba6c03f9e440f5693086c08ee88e6e60212b3504
 F src/global.c bd5a0af3f30b0c01be6db756c626cd3c33a3d260
 F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
@@ -345,12 +345,12 @@ F src/printf.c af589a27b7d40f6f4f704e9eea99f02f18ad6d32
 F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
 F src/resolve.c 9f7ce3a3c087afb7597b7c916c99126ff3f12f0c
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
-F src/select.c 718954db86277d696c520fe671148db1e9c4ed3c
+F src/select.c 1db9a902e89201a0ae3ff5243a7a3f37842a3937
 F src/shell.c dcd7a83645ef2a58ee9c6d0ea4714d877d7835c4
 F src/sqlite.h.in 214476a62012e578f42133a9a3b4f97a9aa421a3
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
 F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d
-F src/sqliteInt.h 0403328581127bc8ad2f9cc7af2c3bb23d5316da
+F src/sqliteInt.h 74e10a74116df0aec9d4a3e134f1a86cc34c2f14
 F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
 F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba
 F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
@@ -405,10 +405,10 @@ F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
 F src/threads.c bbfb74450643cb5372a43ad4f6cffd7e9dfcecb0
 F src/tokenize.c 5606871a377f390af7040ec3c12e0d183512d785
 F src/treeview.c 78842e90c1f71269e7a73a1d4221b6fe360bab66
-F src/trigger.c 056e51182a3677434423e3be0c74e61b90b4a663
+F src/trigger.c 72d876b2d0c66604a112362bdae07dae9b104816
 F src/update.c 17332f9fe818cbc0444c36a811800af8498af4c3
 F src/utf.c 32d7f82aa921322f3e1c956f4b58f019ebd2c6b3
-F src/util.c e802e8e311a0d6c48cd1b3e89db164f6f0248d70
+F src/util.c 72d40df0a52d3f30b462a15f0e094fcbade6dc82
 F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
 F src/vdbe.c b90d9d38e5e0260c2eafa3cb4c2274d8ea94da27
 F src/vdbe.h 7a733ea8aac1b77305a67698e784fa3484ee3337
@@ -1419,7 +1419,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P e4c07df557cd50786b05eecf011bf94708e6e31b
-R ccbd95b5668f9b5a41b204404932d800
-U dan
-Z ad5fc4f27f7e976928da8b4460d48d82
+P e60461e984b8df09256bb0d733dbfae52568a145
+R 03ab6310cefadc63b5c7c7da966c2348
+U drh
+Z 0c42ba520d71deaa3e0a21b23ff67f9d
index 800a36102ebc1e81cff762c7fd9f2a056eae2e75..e9fd60917b77e5ae38a410fdef20f7c4432ae9d9 100644 (file)
@@ -1 +1 @@
-e60461e984b8df09256bb0d733dbfae52568a145
\ No newline at end of file
+7323175337b7ba85ac932ca892b28860f6a5b688
\ No newline at end of file
index f7074ab417f57c6e969a640087df1b442d84e1df..06f5433e37d625341a841853271bb34423cd675d 100644 (file)
@@ -1708,8 +1708,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){
   if( pTab->iPKey>=0 ){
     ExprList *pList;
     Token ipkToken;
-    ipkToken.z = pTab->aCol[pTab->iPKey].zName;
-    ipkToken.n = sqlite3Strlen30(ipkToken.z);
+    sqlite3TokenInit(&ipkToken, pTab->aCol[pTab->iPKey].zName);
     pList = sqlite3ExprListAppend(pParse, 0, 
                   sqlite3ExprAlloc(db, TK_ID, &ipkToken, 0));
     if( pList==0 ) return;
@@ -3057,8 +3056,7 @@ Index *sqlite3CreateIndex(
   */
   if( pList==0 ){
     Token prevCol;
-    prevCol.z = pTab->aCol[pTab->nCol-1].zName;
-    prevCol.n = sqlite3Strlen30(prevCol.z);
+    sqlite3TokenInit(&prevCol, pTab->aCol[pTab->nCol-1].zName);
     pList = sqlite3ExprListAppend(pParse, 0,
               sqlite3ExprAlloc(db, TK_ID, &prevCol, 0));
     if( pList==0 ) goto exit_create_index;
index e404c71dd3456db37dab159064251635c7b64485..5e42cdfe38ff58c10787cb40498dd3c778d409e2 100644 (file)
@@ -149,11 +149,9 @@ static int statConnect(
   int iDb;
 
   if( argc>=4 ){
-    char *zDb = sqlite3DbStrDup(db, argv[3]);
-    if( zDb==0 ) return SQLITE_NOMEM;
-    sqlite3Dequote(zDb);
-    iDb = sqlite3FindDbName(db, zDb);
-    sqlite3DbFree(db, zDb);
+    Token nm;
+    sqlite3TokenInit(&nm, (char*)argv[3]);
+    iDb = sqlite3FindDb(db, &nm);
     if( iDb<0 ){
       *pzErr = sqlite3_mprintf("no such database: %s", argv[3]);
       return SQLITE_ERROR;
index 403e81cf3487815aabcfd10f2e59aea2aef7cb7f..c91db2834fbe50b83244374f676edc4678d8cec5 100644 (file)
@@ -85,8 +85,7 @@ Expr *sqlite3ExprAddCollateToken(
 Expr *sqlite3ExprAddCollateString(Parse *pParse, Expr *pExpr, const char *zC){
   Token s;
   assert( zC!=0 );
-  s.z = zC;
-  s.n = sqlite3Strlen30(s.z);
+  sqlite3TokenInit(&s, (char*)zC);
   return sqlite3ExprAddCollateToken(pParse, pExpr, &s, 0);
 }
 
index 2abd06c693b7614977c4bc8c221b0a889ed80b69..7eb188924d59d94f12a9a9333803806a212971a6 100644 (file)
@@ -1192,11 +1192,9 @@ static Trigger *fkActionTrigger(
       assert( iFromCol>=0 );
       assert( pIdx!=0 || (pTab->iPKey>=0 && pTab->iPKey<pTab->nCol) );
       assert( pIdx==0 || pIdx->aiColumn[i]>=0 );
-      tToCol.z = pTab->aCol[pIdx ? pIdx->aiColumn[i] : pTab->iPKey].zName;
-      tFromCol.z = pFKey->pFrom->aCol[iFromCol].zName;
-
-      tToCol.n = sqlite3Strlen30(tToCol.z);
-      tFromCol.n = sqlite3Strlen30(tFromCol.z);
+      sqlite3TokenInit(&tToCol,
+                   pTab->aCol[pIdx ? pIdx->aiColumn[i] : pTab->iPKey].zName);
+      sqlite3TokenInit(&tFromCol, pFKey->pFrom->aCol[iFromCol].zName);
 
       /* Create the expression "OLD.zToCol = zFromCol". It is important
       ** that the "OLD.zToCol" term is on the LHS of the = operator, so
index 9eb6279c1089e19603a0d468d997a9a26af42ad1..ffc0ec2415ca48fe82c9a0aa15cbcfb9a36a9b1f 100644 (file)
@@ -4438,8 +4438,7 @@ static int selectExpander(Walker *pWalker, Select *p){
               pExpr = pRight;
             }
             pNew = sqlite3ExprListAppend(pParse, pNew, pExpr);
-            sColname.z = zColname;
-            sColname.n = sqlite3Strlen30(zColname);
+            sqlite3TokenInit(&sColname, zColname);
             sqlite3ExprListSetName(pParse, pNew, &sColname, 0);
             if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){
               struct ExprList_item *pX = &pNew->a[pNew->nExpr-1];
index b536b8ab280b25dc13c321e7ee1738601df233e1..1a8a5d3a5befb53497766f4d1fef17fe32dd0e4a 100644 (file)
@@ -3322,6 +3322,7 @@ char *sqlite3VMPrintf(sqlite3*,const char*, va_list);
 void sqlite3SetString(char **, sqlite3*, const char*);
 void sqlite3ErrorMsg(Parse*, const char*, ...);
 int sqlite3Dequote(char*);
+void sqlite3TokenInit(Token*,char*);
 int sqlite3KeywordCode(const unsigned char*, int);
 int sqlite3RunParser(Parse*, const char*, char **);
 void sqlite3FinishCoding(Parse*);
index 48d6772992dd1944bc01deb972adec9f0a303e60..4bfb55af696404c15376906ede249f4849045227 100644 (file)
@@ -287,8 +287,7 @@ void sqlite3FinishTrigger(
     pStepList->pTrig = pTrig;
     pStepList = pStepList->pNext;
   }
-  nameToken.z = pTrig->zName;
-  nameToken.n = sqlite3Strlen30(nameToken.z);
+  sqlite3TokenInit(&nameToken, pTrig->zName);
   sqlite3FixInit(&sFix, pParse, iDb, "trigger", &nameToken);
   if( sqlite3FixTriggerStep(&sFix, pTrig->step_list) 
    || sqlite3FixExpr(&sFix, pTrig->pWhen) 
index b4c5e62bb308f772a675057b63effab6e269b9e0..96f7c7f3dcfe9b9328beb48b9672d084d06f3e0d 100644 (file)
@@ -234,6 +234,14 @@ int sqlite3Dequote(char *z){
   return j;
 }
 
+/*
+** Generate a Token object from a string
+*/
+void sqlite3TokenInit(Token *p, char *z){
+  p->z = z;
+  p->n = sqlite3Strlen30(z);
+}
+
 /* Convenient short-hand */
 #define UpperToLower sqlite3UpperToLower