Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(242)

Side by Side Diff: third_party/sqlite/sqlite-src-3070603/src/pager.c

Issue 826543003: [sql] Import reference version of SQLite 3.7.6.3. (Closed) Base URL: http://chromium.googlesource.com/chromium/src.git@master
Patch Set: gitignore forgot some files for me. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 ** 2001 September 15 2 ** 2001 September 15
3 ** 3 **
4 ** The author disclaims copyright to this source code. In place of 4 ** The author disclaims copyright to this source code. In place of
5 ** a legal notice, here is a blessing: 5 ** a legal notice, here is a blessing:
6 ** 6 **
7 ** May you do good and not evil. 7 ** May you do good and not evil.
8 ** May you find forgiveness for yourself and forgive others. 8 ** May you find forgiveness for yourself and forgive others.
9 ** May you share freely, never taking more than you give. 9 ** May you share freely, never taking more than you give.
10 ** 10 **
(...skipping 5075 matching lines...) Expand 10 before | Expand all | Expand 10 after
5086 ** removed. 5086 ** removed.
5087 */ 5087 */
5088 void sqlite3PagerUnref(DbPage *pPg){ 5088 void sqlite3PagerUnref(DbPage *pPg){
5089 if( pPg ){ 5089 if( pPg ){
5090 Pager *pPager = pPg->pPager; 5090 Pager *pPager = pPg->pPager;
5091 sqlite3PcacheRelease(pPg); 5091 sqlite3PcacheRelease(pPg);
5092 pagerUnlockIfUnused(pPager); 5092 pagerUnlockIfUnused(pPager);
5093 } 5093 }
5094 } 5094 }
5095 5095
5096 #if defined(__APPLE__)
5097 /*
5098 ** Create and return a CFURLRef given a cstring containing the path to a file.
5099 */
5100 static CFURLRef create_cfurl_from_cstring(const char* filePath){
5101 CFStringRef urlString = CFStringCreateWithFileSystemRepresentation(
5102 kCFAllocatorDefault, filePath);
5103 CFURLRef urlRef = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
5104 urlString, kCFURLPOSIXPathStyle, FALSE);
5105 CFRelease(urlString);
5106 return urlRef;
5107 }
5108 #endif
5109
5110 /* 5096 /*
5111 ** This function is called at the start of every write transaction. 5097 ** This function is called at the start of every write transaction.
5112 ** There must already be a RESERVED or EXCLUSIVE lock on the database 5098 ** There must already be a RESERVED or EXCLUSIVE lock on the database
5113 ** file when this routine is called. 5099 ** file when this routine is called.
5114 ** 5100 **
5115 ** Open the journal file for pager pPager and write a journal header 5101 ** Open the journal file for pager pPager and write a journal header
5116 ** to the start of it. If there are active savepoints, open the sub-journal 5102 ** to the start of it. If there are active savepoints, open the sub-journal
5117 ** as well. This function is only used when the journal file is being 5103 ** as well. This function is only used when the journal file is being
5118 ** opened to write a rollback log for a transaction. It is not used 5104 ** opened to write a rollback log for a transaction. It is not used
5119 ** when opening a hot journal file to roll it back. 5105 ** when opening a hot journal file to roll it back.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
5159 (SQLITE_OPEN_DELETEONCLOSE|SQLITE_OPEN_TEMP_JOURNAL): 5145 (SQLITE_OPEN_DELETEONCLOSE|SQLITE_OPEN_TEMP_JOURNAL):
5160 (SQLITE_OPEN_MAIN_JOURNAL) 5146 (SQLITE_OPEN_MAIN_JOURNAL)
5161 ); 5147 );
5162 #ifdef SQLITE_ENABLE_ATOMIC_WRITE 5148 #ifdef SQLITE_ENABLE_ATOMIC_WRITE
5163 rc = sqlite3JournalOpen( 5149 rc = sqlite3JournalOpen(
5164 pVfs, pPager->zJournal, pPager->jfd, flags, jrnlBufferSize(pPager) 5150 pVfs, pPager->zJournal, pPager->jfd, flags, jrnlBufferSize(pPager)
5165 ); 5151 );
5166 #else 5152 #else
5167 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0); 5153 rc = sqlite3OsOpen(pVfs, pPager->zJournal, pPager->jfd, flags, 0);
5168 #endif 5154 #endif
5169 #if defined(__APPLE__)
5170 /* Set the TimeMachine exclusion metadata for the journal if it has
5171 ** been set for the database. Only do this for unix-type vfs
5172 ** implementations. */
5173 if( rc==SQLITE_OK && pPager->zFilename!=NULL
5174 && strlen(pPager->zFilename)>0
5175 && strncmp(pVfs->zName, "unix", 4)==0
5176 && ( pVfs->zName[4]=='-' || pVfs->zName[4]=='\0' ) ){
5177 CFURLRef database = create_cfurl_from_cstring(pPager->zFilename);
5178 if( CSBackupIsItemExcluded(database, NULL) ){
5179 CFURLRef journal = create_cfurl_from_cstring(pPager->zJournal);
5180 /* Ignore errors from the following exclusion call. */
5181 CSBackupSetItemExcluded(journal, TRUE, FALSE);
5182 CFRelease(journal);
5183 }
5184 CFRelease(database);
5185 }
5186 #endif
5187 } 5155 }
5188 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) ); 5156 assert( rc!=SQLITE_OK || isOpen(pPager->jfd) );
5189 } 5157 }
5190 5158
5191 5159
5192 /* Write the first journal header to the journal file and open 5160 /* Write the first journal header to the journal file and open
5193 ** the sub-journal if necessary. 5161 ** the sub-journal if necessary.
5194 */ 5162 */
5195 if( rc==SQLITE_OK ){ 5163 if( rc==SQLITE_OK ){
5196 /* TODO: Check if all of these are really required. */ 5164 /* TODO: Check if all of these are really required. */
(...skipping 1642 matching lines...) Expand 10 before | Expand all | Expand 10 after
6839 void *sqlite3PagerCodec(PgHdr *pPg){ 6807 void *sqlite3PagerCodec(PgHdr *pPg){
6840 void *aData = 0; 6808 void *aData = 0;
6841 CODEC2(pPg->pPager, pPg->pData, pPg->pgno, 6, return 0, aData); 6809 CODEC2(pPg->pPager, pPg->pData, pPg->pgno, 6, return 0, aData);
6842 return aData; 6810 return aData;
6843 } 6811 }
6844 #endif /* SQLITE_HAS_CODEC */ 6812 #endif /* SQLITE_HAS_CODEC */
6845 6813
6846 #endif /* !SQLITE_OMIT_WAL */ 6814 #endif /* !SQLITE_OMIT_WAL */
6847 6815
6848 #endif /* SQLITE_OMIT_DISKIO */ 6816 #endif /* SQLITE_OMIT_DISKIO */
OLDNEW
« no previous file with comments | « third_party/sqlite/sqlite-src-3070603/src/pager.h ('k') | third_party/sqlite/sqlite-src-3070603/src/parse.y » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698