Lines Matching refs:db
52 int sqlite3DbIsNamed(sqlite3 *db, int iDb, const char *zName){ in sqlite3DbIsNamed() argument
54 sqlite3StrICmp(db->aDb[iDb].zDbSName, zName)==0 in sqlite3DbIsNamed()
81 sqlite3 *db = sqlite3_context_db_handle(context); in attachFunc() local
99 # define REOPEN_AS_MEMDB(db) (db->init.reopenMemdb) in attachFunc() argument
101 # define REOPEN_AS_MEMDB(db) (0) in attachFunc() argument
104 if( REOPEN_AS_MEMDB(db) ){ in attachFunc()
110 pNew = &db->aDb[db->init.iDb]; in attachFunc()
114 rc = sqlite3BtreeOpen(pVfs, "x\0", db, &pNew->pBt, 0, SQLITE_OPEN_MAIN_DB); in attachFunc()
124 if( db->nDb>=db->aLimit[SQLITE_LIMIT_ATTACHED]+2 ){ in attachFunc()
125 zErrDyn = sqlite3MPrintf(db, "too many attached databases - max %d", in attachFunc()
126 db->aLimit[SQLITE_LIMIT_ATTACHED] in attachFunc()
130 for(i=0; i<db->nDb; i++){ in attachFunc()
132 if( sqlite3DbIsNamed(db, i, zName) ){ in attachFunc()
133 zErrDyn = sqlite3MPrintf(db, "database %s is already in use", zName); in attachFunc()
141 if( db->aDb==db->aDbStatic ){ in attachFunc()
142 aNew = sqlite3DbMallocRawNN(db, sizeof(db->aDb[0])*3 ); in attachFunc()
144 memcpy(aNew, db->aDb, sizeof(db->aDb[0])*2); in attachFunc()
146 aNew = sqlite3DbRealloc(db, db->aDb, sizeof(db->aDb[0])*(db->nDb+1) ); in attachFunc()
149 db->aDb = aNew; in attachFunc()
150 pNew = &db->aDb[db->nDb]; in attachFunc()
157 flags = db->openFlags; in attachFunc()
158 rc = sqlite3ParseUri(db->pVfs->zName, zFile, &flags, &pVfs, &zPath, &zErr); in attachFunc()
160 if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); in attachFunc()
167 rc = sqlite3BtreeOpen(pVfs, zPath, db, &pNew->pBt, 0, flags); in attachFunc()
168 db->nDb++; in attachFunc()
169 pNew->zDbSName = sqlite3DbStrDup(db, zName); in attachFunc()
171 db->noSharedCache = 0; in attachFunc()
174 zErrDyn = sqlite3MPrintf(db, "database is already attached"); in attachFunc()
177 pNew->pSchema = sqlite3SchemaGet(db, pNew->pBt); in attachFunc()
180 }else if( pNew->pSchema->file_format && pNew->pSchema->enc!=ENC(db) ){ in attachFunc()
181 zErrDyn = sqlite3MPrintf(db, in attachFunc()
187 sqlite3PagerLockingMode(pPager, db->dfltLockMode); in attachFunc()
189 sqlite3BtreeSecureDelete(db->aDb[0].pBt,-1) ); in attachFunc()
192 PAGER_SYNCHRONOUS_FULL | (db->flags & PAGER_FLAGS_MASK)); in attachFunc()
208 sqlite3BtreeEnterAll(db); in attachFunc()
209 db->init.iDb = 0; in attachFunc()
210 db->mDbFlags &= ~(DBFLAG_SchemaKnownOk); in attachFunc()
211 if( !REOPEN_AS_MEMDB(db) ){ in attachFunc()
212 rc = sqlite3Init(db, &zErrDyn); in attachFunc()
214 sqlite3BtreeLeaveAll(db); in attachFunc()
218 if( rc==SQLITE_OK && !REOPEN_AS_MEMDB(db) ){ in attachFunc()
220 rc = sqlite3UserAuthCheckLogin(db, zName, &newAuth); in attachFunc()
221 if( newAuth<db->auth.authLevel ){ in attachFunc()
227 if( !REOPEN_AS_MEMDB(db) ){ in attachFunc()
228 int iDb = db->nDb - 1; in attachFunc()
230 if( db->aDb[iDb].pBt ){ in attachFunc()
231 sqlite3BtreeClose(db->aDb[iDb].pBt); in attachFunc()
232 db->aDb[iDb].pBt = 0; in attachFunc()
233 db->aDb[iDb].pSchema = 0; in attachFunc()
235 sqlite3ResetAllSchemasOfConnection(db); in attachFunc()
236 db->nDb = iDb; in attachFunc()
238 sqlite3OomFault(db); in attachFunc()
239 sqlite3DbFree(db, zErrDyn); in attachFunc()
240 zErrDyn = sqlite3MPrintf(db, "out of memory"); in attachFunc()
242 zErrDyn = sqlite3MPrintf(db, "unable to open database: %s", zFile); in attachFunc()
254 sqlite3DbFree(db, zErrDyn); in attachFunc()
273 sqlite3 *db = sqlite3_context_db_handle(context); in detachFunc() local
282 for(i=0; i<db->nDb; i++){ in detachFunc()
283 pDb = &db->aDb[i]; in detachFunc()
285 if( sqlite3DbIsNamed(db, i, zName) ) break; in detachFunc()
288 if( i>=db->nDb ){ in detachFunc()
305 assert( db->aDb[1].pSchema ); in detachFunc()
306 pEntry = sqliteHashFirst(&db->aDb[1].pSchema->trigHash); in detachFunc()
318 sqlite3CollapseDatabaseArray(db); in detachFunc()
341 sqlite3* db = pParse->db; in codeAttach() local
379 assert( v || db->mallocFailed ); in codeAttach()
391 sqlite3ExprDelete(db, pFilename); in codeAttach()
392 sqlite3ExprDelete(db, pDbname); in codeAttach()
393 sqlite3ExprDelete(db, pKey); in codeAttach()
444 if( pFix->pParse->db->init.busy ){ in fixExprCb()
461 sqlite3 *db = pFix->pParse->db; in fixSelectCb() local
462 int iDb = sqlite3FindDbName(db, pFix->zDb); in fixSelectCb()
469 if( iDb!=sqlite3FindDbName(db, pItem->zDatabase) ){ in fixSelectCb()
475 sqlite3DbFree(db, pItem->zDatabase); in fixSelectCb()
511 sqlite3 *db = pParse->db; in sqlite3FixInit() local
512 assert( db->nDb>iDb ); in sqlite3FixInit()
514 pFix->zDb = db->aDb[iDb].zDbSName; in sqlite3FixInit()
515 pFix->pSchema = db->aDb[iDb].pSchema; in sqlite3FixInit()