Below is the list of changes that have just been committed into a local
6.0-falcon repository of . When does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2007-06-06 17:54:08-04:00, jas@rowvwade. +11 -0
Additional table space debugging.
storage/falcon/Database.cpp@stripped, 2007-06-06 17:53:57-04:00, jas@rowvwade. +10 -1
Phased out interface layer to Dbb that was obscuring
table spaces.
storage/falcon/Database.h@stripped, 2007-06-06 17:53:57-04:00, jas@rowvwade. +42 -49
Phased out interface layer to Dbb that was obscuring
table spaces.
storage/falcon/Dbb.cpp@stripped, 2007-06-06 17:53:58-04:00, jas@rowvwade. +6 -0
Phased out interface layer to Dbb that was obscuring
table spaces.
storage/falcon/Dbb.h@stripped, 2007-06-06 17:53:58-04:00, jas@rowvwade. +2 -0
Phased out interface layer to Dbb that was obscuring
table spaces.
storage/falcon/Index.cpp@stripped, 2007-06-06 17:53:58-04:00, jas@rowvwade. +4 -4
Eliminated Database interface layer in favor of direct
call to Dbb for full table space support.
storage/falcon/SRLDropTable.cpp@stripped, 2007-06-06 17:53:59-04:00, jas@rowvwade. +0 -1
Fixed double put of table space id.
storage/falcon/Table.cpp@stripped, 2007-06-06 17:53:59-04:00, jas@rowvwade. +3 -3
Eliminated Database interface layer in favor of direct
call to Dbb for full table space support.
storage/falcon/TableSpace.cpp@stripped, 2007-06-06 17:54:00-04:00, jas@rowvwade. +5 -0
Added table space support for "drop database".
storage/falcon/TableSpace.h@stripped, 2007-06-06 17:54:00-04:00, jas@rowvwade. +1 -0
Added table space support for "drop database".
storage/falcon/TableSpaceManager.cpp@stripped, 2007-06-06 17:54:00-04:00, jas@rowvwade. +7 -0
Added table space support for "drop database".
storage/falcon/TableSpaceManager.h@stripped, 2007-06-06 17:54:01-04:00, jas@rowvwade. +1 -0
Added table space support for "drop database".
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: jas
# Host: rowvwade.
# Root: D:/MySQL/mysql-5.1-falcon
--- 1.2/storage/falcon/TableSpace.cpp 2007-06-06 17:54:36 -04:00
+++ 1.3/storage/falcon/TableSpace.cpp 2007-06-06 17:54:36 -04:00
@@ -112,3 +112,8 @@
{
dbb->shutdown(transId);
}
+
+void TableSpace::dropDatabase(void)
+{
+ dbb->dropDatabase();
+}
--- 1.3/storage/falcon/TableSpace.h 2007-06-06 17:54:36 -04:00
+++ 1.4/storage/falcon/TableSpace.h 2007-06-06 17:54:36 -04:00
@@ -43,6 +43,7 @@
Database *database;
int tableSpaceId;
void shutdown(TransId transId);
+ void dropDatabase(void);
};
#endif // !defined(AFX_TABLESPACE_H__FAD68264_27D0_4E8B_B19C_911F9DC25A89__INCLUDED_)
--- 1.3/storage/falcon/TableSpaceManager.cpp 2007-06-06 17:54:36 -04:00
+++ 1.4/storage/falcon/TableSpaceManager.cpp 2007-06-06 17:54:36 -04:00
@@ -214,3 +214,10 @@
for (TableSpace *tableSpace = nameHash[n]; tableSpace; tableSpace = tableSpace->nameCollision)
tableSpace->shutdown(transId);
}
+
+void TableSpaceManager::dropDatabase(void)
+{
+ for (int n = 0; n < TS_HASH_SIZE; ++n)
+ for (TableSpace *tableSpace = nameHash[n]; tableSpace; tableSpace = tableSpace->nameCollision)
+ tableSpace->dropDatabase();
+}
--- 1.3/storage/falcon/TableSpaceManager.h 2007-06-06 17:54:37 -04:00
+++ 1.4/storage/falcon/TableSpaceManager.h 2007-06-06 17:54:37 -04:00
@@ -50,6 +50,7 @@
TableSpace *idHash[TS_HASH_SIZE];
SyncObject syncObject;
void shutdown(TransId transId);
+ void dropDatabase(void);
};
#endif // !defined(AFX_TABLESPACEMANAGER_H__BD1D39F6_2201_4136_899C_7CB106E99B8C__INCLUDED_)
--- 1.69/storage/falcon/Database.cpp 2007-06-06 17:54:37 -04:00
+++ 1.70/storage/falcon/Database.cpp 2007-06-06 17:54:37 -04:00
@@ -1201,11 +1201,13 @@
}
***/
+/***
void Database::updateBlob(int32 section, int32 recordNumber, Stream *stream, Transaction *transaction)
{
dbb->updateBlob (section, recordNumber, stream, TRANSACTION_ID(transaction));
transaction->pendingPageWrites = true;
}
+***/
/***
void Database::expungeRecord(int32 section, int32 recordNumber)
@@ -1249,15 +1251,19 @@
}
***/
+/***
bool Database::addIndexEntry(int32 indexId, int indexVersion, IndexKey *key, int32 recordNumber, Transaction *transaction)
{
return dbb->addIndexEntry (indexId, indexVersion, key, recordNumber, TRANSACTION_ID(transaction));
}
+***/
+/***
void Database::deleteIndex(int32 indexId, int indexVersion, Transaction *transaction)
{
dbb->deleteIndex (indexId, indexVersion, TRANSACTION_ID(transaction));
}
+***/
void Database::setDebug()
{
@@ -1540,6 +1546,7 @@
void Database::deleteSection(int32 sectionId, Transaction *transaction)
{
dbb->deleteSection (sectionId, TRANSACTION_ID(transaction));
+
if (transaction)
transaction->hasUpdates = true;
@@ -1768,11 +1775,12 @@
(total > recordMemoryUpper) ? " -- scavenge" : "");
}
-
+/***
bool Database::deleteIndexEntry(int32 indexId, int indexVersion, IndexKey *key, int32 recordNumber, Transaction *transaction)
{
return dbb->deleteIndexEntry (indexId, indexVersion, key, recordNumber, TRANSACTION_ID(transaction));
}
+***/
void Database::ticker(void * database)
{
@@ -2158,6 +2166,7 @@
if (serialLog)
serialLog->dropDatabase();
+ tableSpaceManager->dropDatabase();
dbb->dropDatabase();
}
--- 1.33/storage/falcon/Database.h 2007-06-06 17:54:37 -04:00
+++ 1.34/storage/falcon/Database.h 2007-06-06 17:54:37 -04:00
@@ -102,49 +102,48 @@
Database(const char *dbName, Configuration *config, Threads *parent);
virtual ~Database();
- void shutdownNow();
- void dropDatabase();
- void rollback (Transaction *transaction);
- void updateBlob(int32 section, int32 recordNumber, Stream *stream, Transaction *transaction);
- void commit (Transaction *transaction);
- void start();
- void deleteRepositoryBlob(const char *schema, const char *repositoryName, int volume, int64 blobId, Transaction *transaction);
- void deleteRepository (Repository *repository);
- Schema* getSchema (const char *schemaName);
- Repository* createRepository(const char *name, const char *schema, Sequence *sequence, const char *fileName, int volume, const char *rolloverString);
- Repository* getRepository(const char *schema, const char *name);
- Repository* findRepository(const char *schema, const char *name);
- const char* fetchTemplate (JString applicationName, JString templateName, TemplateContext *context);
- void licenseCheck();
- void cleanupRecords (int threshold, TransId oldestActiveTransaction);
- void serverOperation (int op, Parameters *parameters);
- void printRecordMemory(int64 threshold, int64 tota);
- void retireRecords();
- int getMemorySize (const char *string);
- JString analyze(int mask);
- void upgradeSystemTables();
- const char* getString (const char *string);
- const char* getSymbol (const WCString *string);
- bool isSymbol (const char *string);
- const char* getSymbol (const char *string);
- Role* findRole (const WCString *schema, const WCString *roleName);
+ void shutdownNow();
+ void dropDatabase();
+ void rollback (Transaction *transaction);
+ //void updateBlob(int32 section, int32 recordNumber, Stream *stream, Transaction *transaction);
+ void commit (Transaction *transaction);
+ void start();
+ void deleteRepositoryBlob(const char *schema, const char *repositoryName, int volume, int64 blobId, Transaction *transaction);
+ void deleteRepository (Repository *repository);
+ Schema* getSchema (const char *schemaName);
+ Repository* createRepository(const char *name, const char *schema, Sequence *sequence, const char *fileName, int volume, const char *rolloverString);
+ Repository* getRepository(const char *schema, const char *name);
+ Repository* findRepository(const char *schema, const char *name);
+ const char* fetchTemplate (JString applicationName, JString templateName, TemplateContext *context);
+ void licenseCheck();
+ void cleanupRecords (int threshold, TransId oldestActiveTransaction);
+ void serverOperation (int op, Parameters *parameters);
+ void printRecordMemory(int64 threshold, int64 tota);
+ void retireRecords();
+ int getMemorySize (const char *string);
+ JString analyze(int mask);
+ void upgradeSystemTables();
+ const char* getString (const char *string);
+ const char* getSymbol (const WCString *string);
+ bool isSymbol (const char *string);
+ const char* getSymbol (const char *string);
+ Role* findRole (const WCString *schema, const WCString *roleName);
PreparedStatement* prepareStatement (Connection *connection, const WCString *sqlStr);
CompiledStatement* compileStatement (Connection *connection, JString sqlString);
CompiledStatement* getCompiledStatement (Connection *connection, const WCString *sqlString);
- void rebuildIndexes();
- void removeFromInversion (InversionFilter *filter, Transaction *transaction);
- Transaction* getSystemTransaction();
- int64 updateSequence (int sequenceId, int64 delta, Transaction *transaction);
- int createSequence(int64 initialValue);
- void ticker();
- static void ticker (void *database);
- bool deleteIndexEntry (int32 indexId, int indexVersion, IndexKey *key, int32 recordNumber, Transaction *transaction);
- void scavenge();
- void validate (int optionMask);
- Role* findRole(const char *schemaName, const char * roleName);
- User* findUser (const char *account);
- User* createUser (const char *account, const char *password, bool encrypted, Coterie *coterie);
- int getMaxKeyLength(void);
+ void rebuildIndexes();
+ void removeFromInversion (InversionFilter *filter, Transaction *transaction);
+ Transaction* getSystemTransaction();
+ int64 updateSequence (int sequenceId, int64 delta, Transaction *transaction);
+ int createSequence(int64 initialValue);
+ void ticker();
+ static void ticker (void *database);
+ void scavenge();
+ void validate (int optionMask);
+ Role* findRole(const char *schemaName, const char * roleName);
+ User* findUser (const char *account);
+ User* createUser (const char *account, const char *password, bool encrypted, Coterie *coterie);
+ int getMaxKeyLength(void);
#ifndef STORAGE_ENGINE
void startSessionManager();
@@ -175,19 +174,13 @@
int32 addInversion (InversionFilter *filter, Transaction *transaction);
void clearDebug();
void setDebug();
- void deleteIndex (int32 indexId, int indexVersion, Transaction *transaction);
- bool addIndexEntry (int32 indexId, int indexVersion, IndexKey *key, int32 recordNumber, Transaction *transaction);
+ //bool addIndexEntry (int32 indexId, int indexVersion, IndexKey *key, int32 recordNumber, Transaction *transaction);
//int32 createIndex(Transaction *transaction);
+ //void deleteIndex (int32 indexId, int indexVersion, Transaction *transaction);
+ //bool deleteIndexEntry (int32 indexId, int indexVersion, IndexKey *key, int32 recordNumber, Transaction *transaction);
void commitSystemTransaction();
void flush();
- //bool fetchRecord (int32 sectionId, int32 recordNumber, Stream *stream);
- //int32 findNextRecord (int32 sectionId, int32 recordNumber, Stream *stream);
- //void logRecord (int32 section, int32 recordNumber, Stream *stream, Transaction *transaction);
- //int32 insertStub (int32 recordSection, Transaction *transaction);
- //void updateRecord(int32 section, int32 recordNumber, Stream * stream, Transaction *transaction);
- //void expungeRecord (int32 section, int32 recordNumber);
-
Transaction* startTransaction(Connection *connection);
CompiledStatement* getCompiledStatement (Connection *connection, const char *sqlString);
void openDatabase (const char *filename);
--- 1.70/storage/falcon/Dbb.cpp 2007-06-06 17:54:37 -04:00
+++ 1.71/storage/falcon/Dbb.cpp 2007-06-06 17:54:37 -04:00
@@ -1321,3 +1321,9 @@
header->tableSpaceSectionId = id;
bdb->release();
}
+
+void Dbb::updateBlob(int blobSectionId, int recordNumber, Stream* stream, Transaction* transaction)
+{
+ updateBlob(blobSectionId, recordNumber, stream, TRANSACTION_ID(transaction));
+ transaction->pendingPageWrites = true;
+}
--- 1.42/storage/falcon/Dbb.h 2007-06-06 17:54:37 -04:00
+++ 1.43/storage/falcon/Dbb.h 2007-06-06 17:54:37 -04:00
@@ -98,6 +98,7 @@
class DeferredIndex;
class DatabaseCopy;
class DatabaseClone;
+class DatabaseClone;
class Dbb : public IO
{
@@ -183,6 +184,7 @@
void addShadow(DatabaseCopy* shadow);
void skewHeader(Hdr* header);
void printPage(Bdb* bdb);
+ void updateBlob(int blobSectionId, int recordNumber, Stream* blob, Transaction* transaction);
Cache *cache;
Database *database;
--- 1.55/storage/falcon/Index.cpp 2007-06-06 17:54:37 -04:00
+++ 1.56/storage/falcon/Index.cpp 2007-06-06 17:54:37 -04:00
@@ -383,7 +383,7 @@
{
if (!damaged && indexId != -1)
{
- database->deleteIndex (indexId, indexVersion, transaction);
+ dbb->deleteIndex(indexId, indexVersion, TRANSACTION_ID(transaction));
indexId = -1;
}
}
@@ -559,7 +559,7 @@
hit = true;
}
- if (database->deleteIndexEntry (indexId, indexVersion, &key, record->recordNumber, transaction))
+ if (dbb->deleteIndexEntry(indexId, indexVersion, &key, record->recordNumber, TRANSACTION_ID(transaction)))
hit = true;
if (!hit && !quiet)
@@ -568,7 +568,7 @@
record->recordNumber, n, table->schemaName, table->name, (const char*) name);
//int prevDebug = dbb->debug
//dbb->debug = DEBUG_PAGES | DEBUG_KEYS;
- database->deleteIndexEntry (indexId, indexVersion, &key, record->recordNumber, transaction);
+ dbb->deleteIndexEntry(indexId, indexVersion, &key, record->recordNumber, TRANSACTION_ID(transaction));
//dbb->debug = prevDebug ;
}
}
@@ -680,7 +680,7 @@
throw SQLEXCEPTION (DDL_ERROR, "couldn't update system.indexs for %s", (const char*) name);
if (oldId != indexId)
- database->deleteIndex (oldId, indexVersion, transaction);
+ dbb->deleteIndex(oldId, indexVersion, TRANSACTION_ID(transaction));
}
void Index::setDamaged()
--- 1.19/storage/falcon/SRLDropTable.cpp 2007-06-06 17:54:37 -04:00
+++ 1.20/storage/falcon/SRLDropTable.cpp 2007-06-06 17:54:37 -04:00
@@ -53,7 +53,6 @@
putInt(dbb->tableSpaceId);
log->getTransaction(transId);
log->setSectionInactive(section, dbb->tableSpaceId);
- putInt(dbb->tableSpaceId);
putInt(transId);
putInt(section);
}
--- 1.116/storage/falcon/Table.cpp 2007-06-06 17:54:37 -04:00
+++ 1.117/storage/falcon/Table.cpp 2007-06-06 17:54:37 -04:00
@@ -913,7 +913,7 @@
Blob *blob = value->getBlob();
int32 recordNumber = dbb->insertStub(blobSectionId, transaction);
blob->length();
- database->updateBlob(blobSectionId, recordNumber, (BinaryBlob*) blob, transaction);
+ dbb->updateBlob(blobSectionId, recordNumber, (BinaryBlob*) blob, transaction);
blob->release();
return recordNumber;
@@ -931,7 +931,7 @@
Stream refData;
reference->getReference(&refData);
int32 recordNumber = dbb->insertStub(blobSectionId, transaction);
- database->updateBlob(blobSectionId, recordNumber, &refData, transaction);
+ dbb->updateBlob(blobSectionId, recordNumber, &refData, transaction);
return (recordNumber) ? -recordNumber : ZERO_REPOSITORY_PLACE;
}
@@ -2741,7 +2741,7 @@
int32 recordNumber = dbb->insertStub(blobSection, transaction);
Stream stream;
stream.putSegment((int) length, (const char*) data, false);
- database->updateBlob(blobSectionId, recordNumber, &stream, transaction);
+ dbb->updateBlob(blobSectionId, recordNumber, &stream, transaction);
return recordNumber;
}
| Thread |
|---|
| • bk commit into 6.0-falcon tree (jas:1.2554) | U-ROWVWADEjas | 6 Jun |