List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:June 6 2007 9:54pm
Subject:bk commit into 6.0-falcon tree (jas:1.2554)
View as plain text  
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-ROWVWADEjas6 Jun