Lines Matching refs:db
27 sqlite3 *db = pData->db; in corruptSchema() local
28 if( db->mallocFailed ){ in corruptSchema()
38 *pData->pzErrMsg = sqlite3MPrintf(db, in corruptSchema()
44 }else if( db->flags & SQLITE_WriteSchema ){ in corruptSchema()
49 z = sqlite3MPrintf(db, "malformed database schema (%s)", zObj); in corruptSchema()
50 if( zExtra && zExtra[0] ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra); in corruptSchema()
71 sqlite3 *db, /* Database handle. */
97 sqlite3 *db = pData->db; in sqlite3InitCallback() local
102 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3InitCallback()
103 db->mDbFlags |= DBFLAG_EncodingFixed; in sqlite3InitCallback()
106 if( db->mallocFailed ){ in sqlite3InitCallback()
111 assert( iDb>=0 && iDb<db->nDb ); in sqlite3InitCallback()
128 u8 saved_iDb = db->init.iDb; in sqlite3InitCallback()
132 assert( db->init.busy ); in sqlite3InitCallback()
133 db->init.iDb = iDb; in sqlite3InitCallback()
134 if( sqlite3GetUInt32(argv[3], &db->init.newTnum)==0 in sqlite3InitCallback()
135 || (db->init.newTnum>pData->mxPage && pData->mxPage>0) in sqlite3InitCallback()
141 db->init.orphanTrigger = 0; in sqlite3InitCallback()
142 db->init.azInit = (const char**)argv; in sqlite3InitCallback()
144 TESTONLY(rcp = ) sqlite3Prepare(db, argv[4], -1, 0, 0, &pStmt, 0); in sqlite3InitCallback()
145 rc = db->errCode; in sqlite3InitCallback()
147 db->init.iDb = saved_iDb; in sqlite3InitCallback()
150 if( db->init.orphanTrigger ){ in sqlite3InitCallback()
155 sqlite3OomFault(db); in sqlite3InitCallback()
157 corruptSchema(pData, argv, sqlite3_errmsg(db)); in sqlite3InitCallback()
161 db->init.azInit = sqlite3StdType; /* Any array of string ptrs will do */ in sqlite3InitCallback()
173 pIndex = sqlite3FindIndex(db, argv[1], db->aDb[iDb].zDbSName); in sqlite3InitCallback()
198 int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg, u32 mFlags){ in sqlite3InitOne() argument
210 int mask = ((db->mDbFlags & DBFLAG_EncodingFixed) | ~DBFLAG_EncodingFixed); in sqlite3InitOne()
212 assert( (db->mDbFlags & DBFLAG_SchemaKnownOk)==0 ); in sqlite3InitOne()
213 assert( iDb>=0 && iDb<db->nDb ); in sqlite3InitOne()
214 assert( db->aDb[iDb].pSchema ); in sqlite3InitOne()
215 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3InitOne()
216 assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) ); in sqlite3InitOne()
218 db->init.busy = 1; in sqlite3InitOne()
232 initData.db = db; in sqlite3InitOne()
240 db->mDbFlags &= mask; in sqlite3InitOne()
248 pDb = &db->aDb[iDb]; in sqlite3InitOne()
251 DbSetProperty(db, 1, DB_SchemaLoaded); in sqlite3InitOne()
263 sqlite3SetString(pzErrMsg, db, sqlite3ErrStr(rc)); in sqlite3InitOne()
289 if( (db->flags & SQLITE_ResetDatabase)!=0 ){ in sqlite3InitOne()
300 if( iDb==0 && (db->mDbFlags & DBFLAG_EncodingFixed)==0 ){ in sqlite3InitOne()
309 sqlite3SetTextEncoding(db, encoding); in sqlite3InitOne()
312 if( (meta[BTREE_TEXT_ENCODING-1] & 3)!=ENC(db) ){ in sqlite3InitOne()
313 sqlite3SetString(pzErrMsg, db, "attached databases must use the same" in sqlite3InitOne()
320 pDb->pSchema->enc = ENC(db); in sqlite3InitOne()
344 sqlite3SetString(pzErrMsg, db, "unsupported file format"); in sqlite3InitOne()
355 db->flags &= ~(u64)SQLITE_LegacyFileFmt; in sqlite3InitOne()
360 assert( db->init.busy ); in sqlite3InitOne()
364 zSql = sqlite3MPrintf(db, in sqlite3InitOne()
366 db->aDb[iDb].zDbSName, zSchemaTabName); in sqlite3InitOne()
370 xAuth = db->xAuth; in sqlite3InitOne()
371 db->xAuth = 0; in sqlite3InitOne()
373 rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0); in sqlite3InitOne()
375 db->xAuth = xAuth; in sqlite3InitOne()
379 sqlite3DbFree(db, zSql); in sqlite3InitOne()
382 sqlite3AnalysisLoad(db, iDb); in sqlite3InitOne()
386 assert( pDb == &(db->aDb[iDb]) ); in sqlite3InitOne()
387 if( db->mallocFailed ){ in sqlite3InitOne()
389 sqlite3ResetAllSchemasOfConnection(db); in sqlite3InitOne()
390 pDb = &db->aDb[iDb]; in sqlite3InitOne()
392 if( rc==SQLITE_OK || ((db->flags&SQLITE_NoSchemaError) && rc!=SQLITE_NOMEM)){ in sqlite3InitOne()
403 DbSetProperty(db, iDb, DB_SchemaLoaded); in sqlite3InitOne()
420 sqlite3OomFault(db); in sqlite3InitOne()
422 sqlite3ResetOneSchema(db, iDb); in sqlite3InitOne()
424 db->init.busy = 0; in sqlite3InitOne()
437 int sqlite3Init(sqlite3 *db, char **pzErrMsg){ in sqlite3Init() argument
439 int commit_internal = !(db->mDbFlags&DBFLAG_SchemaChange); in sqlite3Init()
441 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3Init()
442 assert( sqlite3BtreeHoldsMutex(db->aDb[0].pBt) ); in sqlite3Init()
443 assert( db->init.busy==0 ); in sqlite3Init()
444 ENC(db) = SCHEMA_ENC(db); in sqlite3Init()
445 assert( db->nDb>0 ); in sqlite3Init()
447 if( !DbHasProperty(db, 0, DB_SchemaLoaded) ){ in sqlite3Init()
448 rc = sqlite3InitOne(db, 0, pzErrMsg, 0); in sqlite3Init()
452 for(i=db->nDb-1; i>0; i--){ in sqlite3Init()
453 assert( i==1 || sqlite3BtreeHoldsMutex(db->aDb[i].pBt) ); in sqlite3Init()
454 if( !DbHasProperty(db, i, DB_SchemaLoaded) ){ in sqlite3Init()
455 rc = sqlite3InitOne(db, i, pzErrMsg, 0); in sqlite3Init()
460 sqlite3CommitInternalChanges(db); in sqlite3Init()
471 sqlite3 *db = pParse->db; in sqlite3ReadSchema() local
472 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3ReadSchema()
473 if( !db->init.busy ){ in sqlite3ReadSchema()
474 rc = sqlite3Init(db, &pParse->zErrMsg); in sqlite3ReadSchema()
478 }else if( db->noSharedCache ){ in sqlite3ReadSchema()
479 db->mDbFlags |= DBFLAG_SchemaKnownOk; in sqlite3ReadSchema()
492 sqlite3 *db = pParse->db; in schemaIsValid() local
498 assert( sqlite3_mutex_held(db->mutex) ); in schemaIsValid()
499 for(iDb=0; iDb<db->nDb; iDb++){ in schemaIsValid()
501 Btree *pBt = db->aDb[iDb].pBt; /* Btree database to read cookie from */ in schemaIsValid()
510 sqlite3OomFault(db); in schemaIsValid()
521 assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); in schemaIsValid()
522 if( cookie!=db->aDb[iDb].pSchema->schema_cookie ){ in schemaIsValid()
523 sqlite3ResetOneSchema(db, iDb); in schemaIsValid()
541 int sqlite3SchemaToIndex(sqlite3 *db, Schema *pSchema){ in sqlite3SchemaToIndex() argument
555 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3SchemaToIndex()
558 assert( i<db->nDb ); in sqlite3SchemaToIndex()
559 if( db->aDb[i].pSchema==pSchema ){ in sqlite3SchemaToIndex()
563 assert( i>=0 && i<db->nDb ); in sqlite3SchemaToIndex()
572 sqlite3 *db = pParse->db; in sqlite3ParseObjectReset() local
573 assert( db!=0 ); in sqlite3ParseObjectReset()
574 assert( db->pParse==pParse ); in sqlite3ParseObjectReset()
577 if( pParse->aTableLock ) sqlite3DbNNFreeNN(db, pParse->aTableLock); in sqlite3ParseObjectReset()
582 pCleanup->xCleanup(db, pCleanup->pPtr); in sqlite3ParseObjectReset()
583 sqlite3DbNNFreeNN(db, pCleanup); in sqlite3ParseObjectReset()
585 if( pParse->aLabel ) sqlite3DbNNFreeNN(db, pParse->aLabel); in sqlite3ParseObjectReset()
587 sqlite3ExprListDelete(db, pParse->pConstExpr); in sqlite3ParseObjectReset()
589 assert( db->lookaside.bDisable >= pParse->disableLookaside ); in sqlite3ParseObjectReset()
590 db->lookaside.bDisable -= pParse->disableLookaside; in sqlite3ParseObjectReset()
591 db->lookaside.sz = db->lookaside.bDisable ? 0 : db->lookaside.szTrue; in sqlite3ParseObjectReset()
592 assert( pParse->db->pParse==pParse ); in sqlite3ParseObjectReset()
593 db->pParse = pParse->pOuterParse; in sqlite3ParseObjectReset()
594 pParse->db = 0; in sqlite3ParseObjectReset()
631 ParseCleanup *pCleanup = sqlite3DbMallocRaw(pParse->db, sizeof(*pCleanup)); in sqlite3ParserAddCleanup()
638 xCleanup(pParse->db, pPtr); in sqlite3ParserAddCleanup()
656 void sqlite3ParseObjectInit(Parse *pParse, sqlite3 *db){ in sqlite3ParseObjectInit() argument
659 assert( db->pParse!=pParse ); in sqlite3ParseObjectInit()
660 pParse->pOuterParse = db->pParse; in sqlite3ParseObjectInit()
661 db->pParse = pParse; in sqlite3ParseObjectInit()
662 pParse->db = db; in sqlite3ParseObjectInit()
663 if( db->mallocFailed ) sqlite3ErrorMsg(pParse, "out of memory"); in sqlite3ParseObjectInit()
678 sqlite3 *db, /* Database handle. */ in sqlite3Prepare() argument
693 sParse.pOuterParse = db->pParse; in sqlite3Prepare()
694 db->pParse = &sParse; in sqlite3Prepare()
695 sParse.db = db; in sqlite3Prepare()
698 if( db->mallocFailed ) sqlite3ErrorMsg(&sParse, "out of memory"); in sqlite3Prepare()
699 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3Prepare()
733 if( !db->noSharedCache ){ in sqlite3Prepare()
734 for(i=0; i<db->nDb; i++) { in sqlite3Prepare()
735 Btree *pBt = db->aDb[i].pBt; in sqlite3Prepare()
740 const char *zDb = db->aDb[i].zDbSName; in sqlite3Prepare()
741 sqlite3ErrorWithMsg(db, rc, "database schema is locked: %s", zDb); in sqlite3Prepare()
742 testcase( db->flags & SQLITE_ReadUncommit ); in sqlite3Prepare()
750 if( db->pDisconnect ) sqlite3VtabUnlockList(db); in sqlite3Prepare()
755 int mxLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH]; in sqlite3Prepare()
759 sqlite3ErrorWithMsg(db, SQLITE_TOOBIG, "statement too long"); in sqlite3Prepare()
760 rc = sqlite3ApiExit(db, SQLITE_TOOBIG); in sqlite3Prepare()
763 zSqlCopy = sqlite3DbStrNDup(db, zSql, nBytes); in sqlite3Prepare()
767 sqlite3DbFree(db, zSqlCopy); in sqlite3Prepare()
780 if( db->init.busy==0 ){ in sqlite3Prepare()
783 if( db->mallocFailed ){ in sqlite3Prepare()
788 if( sParse.checkSchema && db->init.busy==0 ){ in sqlite3Prepare()
797 sqlite3ErrorWithMsg(db, rc, "%s", sParse.zErrMsg); in sqlite3Prepare()
798 sqlite3DbFree(db, sParse.zErrMsg); in sqlite3Prepare()
800 sqlite3Error(db, rc); in sqlite3Prepare()
806 sqlite3ErrorClear(db); in sqlite3Prepare()
814 sqlite3DbFree(db, pT); in sqlite3Prepare()
823 sqlite3 *db, /* Database handle. */ in sqlite3LockAndPrepare() argument
838 if( !sqlite3SafetyCheckOk(db)||zSql==0 ){ in sqlite3LockAndPrepare()
841 sqlite3_mutex_enter(db->mutex); in sqlite3LockAndPrepare()
842 sqlite3BtreeEnterAll(db); in sqlite3LockAndPrepare()
847 rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail); in sqlite3LockAndPrepare()
849 if( rc==SQLITE_OK || db->mallocFailed ) break; in sqlite3LockAndPrepare()
851 || (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt++)==0) ); in sqlite3LockAndPrepare()
852 sqlite3BtreeLeaveAll(db); in sqlite3LockAndPrepare()
853 rc = sqlite3ApiExit(db, rc); in sqlite3LockAndPrepare()
854 assert( (rc&db->errMask)==rc ); in sqlite3LockAndPrepare()
855 db->busyHandler.nBusy = 0; in sqlite3LockAndPrepare()
856 sqlite3_mutex_leave(db->mutex); in sqlite3LockAndPrepare()
873 sqlite3 *db; in sqlite3Reprepare() local
879 db = sqlite3VdbeDb(p); in sqlite3Reprepare()
880 assert( sqlite3_mutex_held(db->mutex) ); in sqlite3Reprepare()
882 rc = sqlite3LockAndPrepare(db, zSql, -1, prepFlags, p, &pNew, 0); in sqlite3Reprepare()
885 sqlite3OomFault(db); in sqlite3Reprepare()
909 sqlite3 *db, /* Database handle. */ in sqlite3_prepare() argument
916 rc = sqlite3LockAndPrepare(db,zSql,nBytes,0,0,ppStmt,pzTail); in sqlite3_prepare()
921 sqlite3 *db, /* Database handle. */ in sqlite3_prepare_v2() argument
933 rc = sqlite3LockAndPrepare(db,zSql,nBytes,SQLITE_PREPARE_SAVESQL,0, in sqlite3_prepare_v2()
939 sqlite3 *db, /* Database handle. */ in sqlite3_prepare_v3() argument
954 rc = sqlite3LockAndPrepare(db,zSql,nBytes, in sqlite3_prepare_v3()
967 sqlite3 *db, /* Database handle. */ in sqlite3Prepare16() argument
986 if( !sqlite3SafetyCheckOk(db)||zSql==0 ){ in sqlite3Prepare16()
995 sqlite3_mutex_enter(db->mutex); in sqlite3Prepare16()
996 zSql8 = sqlite3Utf16to8(db, zSql, nBytes, SQLITE_UTF16NATIVE); in sqlite3Prepare16()
998 rc = sqlite3LockAndPrepare(db, zSql8, -1, prepFlags, 0, ppStmt, &zTail8); in sqlite3Prepare16()
1010 sqlite3DbFree(db, zSql8); in sqlite3Prepare16()
1011 rc = sqlite3ApiExit(db, rc); in sqlite3Prepare16()
1012 sqlite3_mutex_leave(db->mutex); in sqlite3Prepare16()
1025 sqlite3 *db, /* Database handle. */ in sqlite3_prepare16() argument
1032 rc = sqlite3Prepare16(db,zSql,nBytes,0,ppStmt,pzTail); in sqlite3_prepare16()
1037 sqlite3 *db, /* Database handle. */ in sqlite3_prepare16_v2() argument
1044 rc = sqlite3Prepare16(db,zSql,nBytes,SQLITE_PREPARE_SAVESQL,ppStmt,pzTail); in sqlite3_prepare16_v2()
1049 sqlite3 *db, /* Database handle. */ in sqlite3_prepare16_v3() argument
1057 rc = sqlite3Prepare16(db,zSql,nBytes, in sqlite3_prepare16_v3()