mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Add the sqlite3TokenInit() utility function.
FossilOrigin-Name: 7323175337b7ba85ac932ca892b28860f6a5b688
This commit is contained in:
28
manifest
28
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
|
||||
|
@@ -1 +1 @@
|
||||
e60461e984b8df09256bb0d733dbfae52568a145
|
||||
7323175337b7ba85ac932ca892b28860f6a5b688
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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];
|
||||
|
@@ -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*);
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user