Lines Matching refs:pGroup
105 quotaGroup *pGroup; /* Quota group to which this file belongs */ member
181 quotaGroup *pGroup; member
195 static int quotaGroupOpenFileCount(quotaGroup *pGroup){ in quotaGroupOpenFileCount() argument
197 quotaFile *pFile = pGroup->pFiles; in quotaGroupOpenFileCount()
208 quotaGroup *pGroup = pFile->pGroup; in quotaRemoveFile() local
209 pGroup->iSize -= pFile->iSize; in quotaRemoveFile()
218 static void quotaRemoveAllFiles(quotaGroup *pGroup){ in quotaRemoveAllFiles() argument
219 while( pGroup->pFiles ){ in quotaRemoveAllFiles()
220 assert( pGroup->pFiles->nRef==0 ); in quotaRemoveAllFiles()
221 quotaRemoveFile(pGroup->pFiles); in quotaRemoveAllFiles()
229 static void quotaGroupDeref(quotaGroup *pGroup){ in quotaGroupDeref() argument
230 if( pGroup->iLimit==0 && quotaGroupOpenFileCount(pGroup)==0 ){ in quotaGroupDeref()
231 quotaRemoveAllFiles(pGroup); in quotaGroupDeref()
232 *pGroup->ppPrev = pGroup->pNext; in quotaGroupDeref()
233 if( pGroup->pNext ) pGroup->pNext->ppPrev = pGroup->ppPrev; in quotaGroupDeref()
234 if( pGroup->xDestroy ) pGroup->xDestroy(pGroup->pArg); in quotaGroupDeref()
235 sqlite3_free(pGroup); in quotaGroupDeref()
331 for(p=gQuota.pGroup; p && quotaStrglob(p->zPattern, zFilename)==0; in quotaGroupFind()
348 quotaGroup *pGroup, /* Group in which to look for the file */ in quotaFindFile() argument
352 quotaFile *pFile = pGroup->pFiles; in quotaFindFile()
363 pFile->pNext = pGroup->pFiles; in quotaFindFile()
364 if( pGroup->pFiles ) pGroup->pFiles->ppPrev = &pFile->pNext; in quotaFindFile()
365 pFile->ppPrev = &pGroup->pFiles; in quotaFindFile()
366 pGroup->pFiles = pFile; in quotaFindFile()
367 pFile->pGroup = pGroup; in quotaFindFile()
434 quotaGroup *pGroup; /* The group file belongs to */ in quotaOpen() local
449 pGroup = quotaGroupFind(zName); in quotaOpen()
450 if( pGroup==0 ){ in quotaOpen()
459 pFile = quotaFindFile(pGroup, zName, 1); in quotaOpen()
493 quotaGroup *pGroup; /* The group file belongs to */ in quotaDelete() local
504 pGroup = quotaGroupFind(zName); in quotaDelete()
505 if( pGroup ){ in quotaDelete()
506 pFile = quotaFindFile(pGroup, zName, 0); in quotaDelete()
512 quotaGroupDeref(pGroup); in quotaDelete()
537 quotaGroup *pGroup = pFile->pGroup; in quotaClose() local
542 quotaGroupDeref(pGroup); in quotaClose()
574 quotaGroup *pGroup; in quotaWrite() local
579 pGroup = pFile->pGroup; in quotaWrite()
581 szNew = pGroup->iSize - pFile->iSize + iEnd; in quotaWrite()
582 if( szNew>pGroup->iLimit && pGroup->iLimit>0 ){ in quotaWrite()
583 if( pGroup->xCallback ){ in quotaWrite()
584 pGroup->xCallback(pFile->zFilename, &pGroup->iLimit, szNew, in quotaWrite()
585 pGroup->pArg); in quotaWrite()
587 if( szNew>pGroup->iLimit && pGroup->iLimit>0 ){ in quotaWrite()
592 pGroup->iSize = szNew; in quotaWrite()
607 quotaGroup *pGroup; in quotaTruncate() local
610 pGroup = pFile->pGroup; in quotaTruncate()
611 pGroup->iSize -= pFile->iSize; in quotaTruncate()
613 pGroup->iSize += size; in quotaTruncate()
633 quotaGroup *pGroup; in quotaFileSize() local
640 pGroup = pFile->pGroup; in quotaFileSize()
641 pGroup->iSize -= pFile->iSize; in quotaFileSize()
643 pGroup->iSize += sz; in quotaFileSize()
799 quotaGroup *pGroup; in sqlite3_quota_shutdown() local
801 for(pGroup=gQuota.pGroup; pGroup; pGroup=pGroup->pNext){ in sqlite3_quota_shutdown()
802 if( quotaGroupOpenFileCount(pGroup)>0 ) return SQLITE_MISUSE; in sqlite3_quota_shutdown()
804 while( gQuota.pGroup ){ in sqlite3_quota_shutdown()
805 pGroup = gQuota.pGroup; in sqlite3_quota_shutdown()
806 gQuota.pGroup = pGroup->pNext; in sqlite3_quota_shutdown()
807 pGroup->iLimit = 0; in sqlite3_quota_shutdown()
808 assert( quotaGroupOpenFileCount(pGroup)==0 ); in sqlite3_quota_shutdown()
809 quotaGroupDeref(pGroup); in sqlite3_quota_shutdown()
850 quotaGroup *pGroup; in sqlite3_quota_set() local
852 pGroup = gQuota.pGroup; in sqlite3_quota_set()
853 while( pGroup && strcmp(pGroup->zPattern, zPattern)!=0 ){ in sqlite3_quota_set()
854 pGroup = pGroup->pNext; in sqlite3_quota_set()
856 if( pGroup==0 ){ in sqlite3_quota_set()
862 pGroup = (quotaGroup *)sqlite3_malloc( sizeof(*pGroup) + nPattern + 1 ); in sqlite3_quota_set()
863 if( pGroup==0 ){ in sqlite3_quota_set()
867 memset(pGroup, 0, sizeof(*pGroup)); in sqlite3_quota_set()
868 pGroup->zPattern = (char*)&pGroup[1]; in sqlite3_quota_set()
869 memcpy((char *)pGroup->zPattern, zPattern, nPattern+1); in sqlite3_quota_set()
870 if( gQuota.pGroup ) gQuota.pGroup->ppPrev = &pGroup->pNext; in sqlite3_quota_set()
871 pGroup->pNext = gQuota.pGroup; in sqlite3_quota_set()
872 pGroup->ppPrev = &gQuota.pGroup; in sqlite3_quota_set()
873 gQuota.pGroup = pGroup; in sqlite3_quota_set()
875 pGroup->iLimit = iLimit; in sqlite3_quota_set()
876 pGroup->xCallback = xCallback; in sqlite3_quota_set()
877 if( pGroup->xDestroy && pGroup->pArg!=pArg ){ in sqlite3_quota_set()
878 pGroup->xDestroy(pGroup->pArg); in sqlite3_quota_set()
880 pGroup->pArg = pArg; in sqlite3_quota_set()
881 pGroup->xDestroy = xDestroy; in sqlite3_quota_set()
882 quotaGroupDeref(pGroup); in sqlite3_quota_set()
917 quotaGroup *pGroup; in sqlite3_quota_file() local
920 pGroup = quotaGroupFind(zFull); in sqlite3_quota_file()
921 if( pGroup ){ in sqlite3_quota_file()
922 pFile = quotaFindFile(pGroup, zFull, 0); in sqlite3_quota_file()
941 quotaGroup *pGroup; in sqlite3_quota_fopen() local
957 pGroup = quotaGroupFind(zFull); in sqlite3_quota_fopen()
958 if( pGroup ){ in sqlite3_quota_fopen()
959 pFile = quotaFindFile(pGroup, zFull, 1); in sqlite3_quota_fopen()
1014 quotaGroup *pGroup = pFile->pGroup; in sqlite3_quota_fwrite() local
1016 szNew = pGroup->iSize - pFile->iSize + iEnd; in sqlite3_quota_fwrite()
1017 if( szNew>pGroup->iLimit && pGroup->iLimit>0 ){ in sqlite3_quota_fwrite()
1018 if( pGroup->xCallback ){ in sqlite3_quota_fwrite()
1019 pGroup->xCallback(pFile->zFilename, &pGroup->iLimit, szNew, in sqlite3_quota_fwrite()
1020 pGroup->pArg); in sqlite3_quota_fwrite()
1022 if( szNew>pGroup->iLimit && pGroup->iLimit>0 ){ in sqlite3_quota_fwrite()
1023 iEnd = pGroup->iLimit - pGroup->iSize + pFile->iSize; in sqlite3_quota_fwrite()
1026 szNew = pGroup->iSize - pFile->iSize + iEnd; in sqlite3_quota_fwrite()
1029 pGroup->iSize = szNew; in sqlite3_quota_fwrite()
1044 pFile->pGroup->iSize += iNewEnd - pFile->iSize; in sqlite3_quota_fwrite()
1063 quotaGroup *pGroup = pFile->pGroup; in sqlite3_quota_fclose() local
1068 quotaGroupDeref(pGroup); in sqlite3_quota_fclose()
1131 quotaGroup *pGroup; in sqlite3_quota_ftruncate() local
1137 pGroup = pFile->pGroup; in sqlite3_quota_ftruncate()
1139 pGroup->iSize += szNew - pFile->iSize; in sqlite3_quota_ftruncate()
1155 quotaGroup *pGroup = pFile->pGroup; in sqlite3_quota_ftruncate() local
1157 pGroup->iSize += szNew - pFile->iSize; in sqlite3_quota_ftruncate()
1233 quotaGroup *pGroup; /* Group containing zFilename */ in sqlite3_quota_remove() local
1258 pGroup = quotaGroupFind(zFull); in sqlite3_quota_remove()
1259 if( pGroup ){ in sqlite3_quota_remove()
1260 for(pFile=pGroup->pFiles; pFile && rc==SQLITE_OK; pFile=pNextFile){ in sqlite3_quota_remove()
1269 quotaGroupDeref(pGroup); in sqlite3_quota_remove()
1501 quotaGroup *pGroup; in test_quota_dump() local
1506 for(pGroup=gQuota.pGroup; pGroup; pGroup=pGroup->pNext){ in test_quota_dump()
1509 Tcl_NewStringObj(pGroup->zPattern, -1)); in test_quota_dump()
1511 Tcl_NewWideIntObj(pGroup->iLimit)); in test_quota_dump()
1513 Tcl_NewWideIntObj(pGroup->iSize)); in test_quota_dump()
1514 for(pFile=pGroup->pFiles; pFile; pFile=pFile->pNext){ in test_quota_dump()