OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sync/syncable/directory_backing_store.h" | 5 #include "sync/syncable/directory_backing_store.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 | 8 |
9 #include <limits> | 9 #include <limits> |
10 | 10 |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 DirectoryBackingStore::DirectoryBackingStore(const string& dir_name) | 199 DirectoryBackingStore::DirectoryBackingStore(const string& dir_name) |
200 : dir_name_(dir_name), | 200 : dir_name_(dir_name), |
201 database_page_size_(IsSyncBackingDatabase32KEnabled() ? 32768 : 4096), | 201 database_page_size_(IsSyncBackingDatabase32KEnabled() ? 32768 : 4096), |
202 needs_column_refresh_(false) { | 202 needs_column_refresh_(false) { |
203 DCHECK(base::ThreadTaskRunnerHandle::IsSet()); | 203 DCHECK(base::ThreadTaskRunnerHandle::IsSet()); |
204 ResetAndCreateConnection(); | 204 ResetAndCreateConnection(); |
205 } | 205 } |
206 | 206 |
207 DirectoryBackingStore::DirectoryBackingStore(const string& dir_name, | 207 DirectoryBackingStore::DirectoryBackingStore(const string& dir_name, |
208 sql::Connection* db) | 208 sql::Connection* db) |
209 : db_(db), | 209 : dir_name_(dir_name), |
210 dir_name_(dir_name), | |
211 database_page_size_(IsSyncBackingDatabase32KEnabled() ? 32768 : 4096), | 210 database_page_size_(IsSyncBackingDatabase32KEnabled() ? 32768 : 4096), |
| 211 db_(db), |
212 needs_column_refresh_(false) { | 212 needs_column_refresh_(false) { |
213 DCHECK(base::ThreadTaskRunnerHandle::IsSet()); | 213 DCHECK(base::ThreadTaskRunnerHandle::IsSet()); |
214 } | 214 } |
215 | 215 |
216 DirectoryBackingStore::~DirectoryBackingStore() { | 216 DirectoryBackingStore::~DirectoryBackingStore() { |
217 } | 217 } |
218 | 218 |
219 bool DirectoryBackingStore::DeleteEntries(EntryTable from, | 219 bool DirectoryBackingStore::DeleteEntries(EntryTable from, |
220 const MetahandleSet& handles) { | 220 const MetahandleSet& handles) { |
221 if (handles.empty()) | 221 if (handles.empty()) |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 if (!s2.Run()) | 327 if (!s2.Run()) |
328 return false; | 328 return false; |
329 DCHECK_EQ(db_->GetLastChangeCount(), 1); | 329 DCHECK_EQ(db_->GetLastChangeCount(), 1); |
330 s2.Reset(true); | 330 s2.Reset(true); |
331 } | 331 } |
332 } | 332 } |
333 | 333 |
334 return transaction.Commit(); | 334 return transaction.Commit(); |
335 } | 335 } |
336 | 336 |
| 337 sql::Connection* DirectoryBackingStore::db() { |
| 338 return db_.get(); |
| 339 } |
| 340 |
| 341 bool DirectoryBackingStore::IsOpen() const { |
| 342 return db_->is_open(); |
| 343 } |
| 344 |
| 345 bool DirectoryBackingStore::Open(const base::FilePath& path) { |
| 346 DCHECK(!db_->is_open()); |
| 347 return db_->Open(path); |
| 348 } |
| 349 |
| 350 bool DirectoryBackingStore::OpenInMemory() { |
| 351 DCHECK(!db_->is_open()); |
| 352 return db_->OpenInMemory(); |
| 353 } |
| 354 |
337 bool DirectoryBackingStore::InitializeTables() { | 355 bool DirectoryBackingStore::InitializeTables() { |
338 int page_size = 0; | 356 int page_size = 0; |
339 if (IsSyncBackingDatabase32KEnabled() && GetDatabasePageSize(&page_size) && | 357 if (IsSyncBackingDatabase32KEnabled() && GetDatabasePageSize(&page_size) && |
340 page_size == 4096) { | 358 page_size == 4096) { |
341 IncreasePageSizeTo32K(); | 359 IncreasePageSizeTo32K(); |
342 } | 360 } |
343 sql::Transaction transaction(db_.get()); | 361 sql::Transaction transaction(db_.get()); |
344 if (!transaction.Begin()) | 362 if (!transaction.Begin()) |
345 return false; | 363 return false; |
346 | 364 |
(...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1667 DCHECK(CalledOnValidThread()); | 1685 DCHECK(CalledOnValidThread()); |
1668 DCHECK(!catastrophic_error_handler.is_null()); | 1686 DCHECK(!catastrophic_error_handler.is_null()); |
1669 catastrophic_error_handler_ = catastrophic_error_handler; | 1687 catastrophic_error_handler_ = catastrophic_error_handler; |
1670 sql::Connection::ErrorCallback error_callback = | 1688 sql::Connection::ErrorCallback error_callback = |
1671 base::Bind(&OnSqliteError, catastrophic_error_handler_); | 1689 base::Bind(&OnSqliteError, catastrophic_error_handler_); |
1672 db_->set_error_callback(error_callback); | 1690 db_->set_error_callback(error_callback); |
1673 } | 1691 } |
1674 | 1692 |
1675 } // namespace syncable | 1693 } // namespace syncable |
1676 } // namespace syncer | 1694 } // namespace syncer |
OLD | NEW |