diff options
author | Aaron <aaron@10gen.com> | 2008-12-28 20:28:49 -0500 |
---|---|---|
committer | Aaron <aaron@10gen.com> | 2008-12-28 20:28:49 -0500 |
commit | b7cbd301124045fccab665f939a68d703e70629b (patch) | |
tree | e7796053c090b4ee242ef5d1d960e6d78f57ec2b /db/database.h | |
parent | b53f593e1bc3d13fc831089541f23116fcc1803a (diff) | |
download | mongo-b7cbd301124045fccab665f939a68d703e70629b.tar.gz |
Replace tab indentation with spaces
Diffstat (limited to 'db/database.h')
-rw-r--r-- | db/database.h | 134 |
1 files changed, 68 insertions, 66 deletions
diff --git a/db/database.h b/db/database.h index 898e371a76e..dc329435a98 100644 --- a/db/database.h +++ b/db/database.h @@ -2,113 +2,115 @@ /** * Copyright (C) 2008 10gen Inc. -* +* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License, version 3, * as published by the Free Software Foundation. -* +* * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. -* +* * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #pragma once -/* Database represents a database database +/* Database represents a database database Each database database has its own set of files -- dbname.ns, dbname.0, dbname.1, ... */ -class Database { +class Database { public: - Database(const char *nm, bool& justCreated, const char *_path = dbpath) : - name(nm), - path(_path) { - assert( !string( nm ).empty() ); - justCreated = namespaceIndex.init(_path, nm); - profile = 0; - profileName = name + ".system.profile"; - } - ~Database() { - int n = files.size(); - for( int i = 0; i < n; i++ ) - delete files[i]; - } + Database(const char *nm, bool& justCreated, const char *_path = dbpath) : + name(nm), + path(_path) { + assert( !string( nm ).empty() ); + justCreated = namespaceIndex.init(_path, nm); + profile = 0; + profileName = name + ".system.profile"; + } + ~Database() { + int n = files.size(); + for ( int i = 0; i < n; i++ ) + delete files[i]; + } - PhysicalDataFile* getFile(int n) { - assert(this); + PhysicalDataFile* getFile(int n) { + assert(this); - if( n < 0 || n >= DiskLoc::MaxFiles ) { - cout << "getFile(): n=" << n << endl; - assert( n >= 0 && n < DiskLoc::MaxFiles ); - } - DEV { - if( n > 100 ) - cout << "getFile(): n=" << n << "?" << endl; - } - while( n >= (int) files.size() ) - files.push_back(0); - PhysicalDataFile* p = files[n]; - if( p == 0 ) { - stringstream ss; - ss << name << '.' << n; - boost::filesystem::path fullName; - fullName = boost::filesystem::path(path) / ss.str(); - string fullNameString = fullName.string(); - p = new PhysicalDataFile(n); - try { + if ( n < 0 || n >= DiskLoc::MaxFiles ) { + cout << "getFile(): n=" << n << endl; + assert( n >= 0 && n < DiskLoc::MaxFiles ); + } + DEV { + if ( n > 100 ) + cout << "getFile(): n=" << n << "?" << endl; + } + while ( n >= (int) files.size() ) + files.push_back(0); + PhysicalDataFile* p = files[n]; + if ( p == 0 ) { + stringstream ss; + ss << name << '.' << n; + boost::filesystem::path fullName; + fullName = boost::filesystem::path(path) / ss.str(); + string fullNameString = fullName.string(); + p = new PhysicalDataFile(n); + try { p->open(n, fullNameString.c_str() ); - } - catch( AssertionException& u ) { + } + catch ( AssertionException& u ) { delete p; throw u; } - files[n] = p; - } - return p; - } + files[n] = p; + } + return p; + } - PhysicalDataFile* addAFile() { - int n = (int) files.size(); - return getFile(n); - } + PhysicalDataFile* addAFile() { + int n = (int) files.size(); + return getFile(n); + } - PhysicalDataFile* suitableFile(int sizeNeeded) { + PhysicalDataFile* suitableFile(int sizeNeeded) { PhysicalDataFile* f = newestFile(); - for( int i = 0; i < 8; i++ ) { - if( f->getHeader()->unusedLength >= sizeNeeded ) + for ( int i = 0; i < 8; i++ ) { + if ( f->getHeader()->unusedLength >= sizeNeeded ) break; f = addAFile(); - if( f->getHeader()->fileLength > 1500000000 ) // this is as big as they get so might as well stop + if ( f->getHeader()->fileLength > 1500000000 ) // this is as big as they get so might as well stop break; } return f; } - PhysicalDataFile* newestFile() { - int n = (int) files.size(); - if( n > 0 ) n--; - return getFile(n); - } + PhysicalDataFile* newestFile() { + int n = (int) files.size(); + if ( n > 0 ) n--; + return getFile(n); + } void finishInit(); // ugly... - vector<PhysicalDataFile*> files; - string name; // "alleyinsider" - string path; - NamespaceIndex namespaceIndex; - int profile; // 0=off. - string profileName; // "alleyinsider.system.profile" + vector<PhysicalDataFile*> files; + string name; // "alleyinsider" + string path; + NamespaceIndex namespaceIndex; + int profile; // 0=off. + string profileName; // "alleyinsider.system.profile" QueryOptimizer optimizer; - bool haveLogged() { return _haveLogged; } + bool haveLogged() { + return _haveLogged; + } void setHaveLogged(); private: // see dbinfo.h description. if true, we have logged to the replication log. - bool _haveLogged; + bool _haveLogged; }; |