aboutsummaryrefslogtreecommitdiff
path: root/src/attach.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2004-06-19 16:06:10 +0000
committerdrh <drh@noemail.net>2004-06-19 16:06:10 +0000
commit124b27e65463e8897de17b067ce4a7b11b5602f5 (patch)
tree3d380d9062765447adf9b7bad7963a16f9823ce2 /src/attach.c
parentf92c7ff74a2fa6c9fb110321430f25e4b3179b23 (diff)
downloadsqlite-124b27e65463e8897de17b067ce4a7b11b5602f5.tar.gz
sqlite-124b27e65463e8897de17b067ce4a7b11b5602f5.zip
Omit the DB_Locked and DB_Cookie flags. Other minor cleanup. (CVS 1642)
FossilOrigin-Name: 01f74b420c3f24918c066172e09cebbb22568faf
Diffstat (limited to 'src/attach.c')
-rw-r--r--src/attach.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/attach.c b/src/attach.c
index 509db05a7..9468f203a 100644
--- a/src/attach.c
+++ b/src/attach.c
@@ -11,7 +11,7 @@
*************************************************************************
** This file contains code used to implement the ATTACH and DETACH commands.
**
-** $Id: attach.c,v 1.16 2004/06/19 14:49:12 drh Exp $
+** $Id: attach.c,v 1.17 2004/06/19 16:06:11 drh Exp $
*/
#include "sqliteInt.h"
@@ -59,7 +59,8 @@ void sqlite3Attach(Parse *pParse, Token *pFilename, Token *pDbname, Token *pKey)
zName = sqlite3NameFromToken(pDbname);
if( zName==0 ) return;
for(i=0; i<db->nDb; i++){
- if( db->aDb[i].zName && sqlite3StrICmp(db->aDb[i].zName, zName)==0 ){
+ char *z = db->aDb[i].zName;
+ if( z && sqlite3StrICmp(z, zName)==0 ){
sqlite3ErrorMsg(pParse, "database %z is already in use", zName);
pParse->rc = SQLITE_ERROR;
sqliteFree(zFile);
@@ -133,15 +134,17 @@ void sqlite3Detach(Parse *pParse, Token *pDbname){
int i;
sqlite *db;
Vdbe *v;
+ Db *pDb;
v = sqlite3GetVdbe(pParse);
sqlite3VdbeAddOp(v, OP_Halt, 0, 0);
if( pParse->explain ) return;
db = pParse->db;
for(i=0; i<db->nDb; i++){
- if( db->aDb[i].pBt==0 || db->aDb[i].zName==0 ) continue;
- if( strlen(db->aDb[i].zName)!=pDbname->n ) continue;
- if( sqlite3StrNICmp(db->aDb[i].zName, pDbname->z, pDbname->n)==0 ) break;
+ pDb = &db->aDb[i];
+ if( pDb->pBt==0 || pDb->zName==0 ) continue;
+ if( strlen(pDb->zName)!=pDbname->n ) continue;
+ if( sqlite3StrNICmp(pDb->zName, pDbname->z, pDbname->n)==0 ) break;
}
if( i>=db->nDb ){
sqlite3ErrorMsg(pParse, "no such database: %T", pDbname);
@@ -161,9 +164,9 @@ void sqlite3Detach(Parse *pParse, Token *pDbname){
return;
}
#endif /* SQLITE_OMIT_AUTHORIZATION */
- sqlite3BtreeClose(db->aDb[i].pBt);
- db->aDb[i].pBt = 0;
- sqliteFree(db->aDb[i].zName);
+ sqlite3BtreeClose(pDb->pBt);
+ pDb->pBt = 0;
+ sqliteFree(pDb->zName);
sqlite3ResetInternalSchema(db, i);
db->nDb--;
if( i<db->nDb ){