List:Commits« Previous MessageNext Message »
From:U-ROWVWADEjas Date:May 22 2007 3:11pm
Subject:bk commit into 6.0-falcon tree (jas:1.2530)
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-05-22 11:10:47-04:00, jas@rowvwade. +5 -0
  Fix problem with in-place upgrade of older Netfrastructure
  database files.

  storage/falcon/Applications.cpp@stripped, 2007-05-22 11:10:39-04:00, jas@rowvwade. +11 -0
    Edit for clarity (a non-Falcon file, incidentally).

  storage/falcon/Database.cpp@stripped, 2007-05-22 11:10:39-04:00, jas@rowvwade. +5 -1
    Fixed potential deadlock in cardinality computations.

  storage/falcon/Dbb.cpp@stripped, 2007-05-22 11:10:40-04:00, jas@rowvwade. +4 -1
    Fix inplace conversion of ancient Netfrastructure database
    files.

  storage/falcon/Engine.vcproj@stripped, 2007-05-22 11:10:40-04:00, jas@rowvwade. +26 -2
    MSVS induced change to Windows project file

  storage/falcon/Hdr.h@stripped, 2007-05-22 11:10:40-04:00, jas@rowvwade. +1 -0
    Added flag to indicate that the sequence section has been
    fixed.

# 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.10/storage/falcon/Engine.vcproj	2007-05-22 11:11:07 -04:00
+++ 1.11/storage/falcon/Engine.vcproj	2007-05-22 11:11:07 -04:00
@@ -6628,10 +6628,10 @@
 				RelativePath="..\..\..\netfrastructure\Word\MetaProperties.h">
 			</File>
 			<File
-				RelativePath="..\..\..\netfrastructure\Word\MSWord.h">
+				RelativePath="Word\MSWord.h">
 			</File>
 			<File
-				RelativePath="Word\MSWord.h">
+				RelativePath="..\..\..\netfrastructure\Word\MSWord.h">
 			</File>
 			<File
 				RelativePath="..\..\..\netfrastructure\Word\WordBinTable.cpp">
@@ -9113,6 +9113,30 @@
 				RelativePath="..\..\..\netfrastructure\ZLib\zutil.h">
 			</File>
 		</Filter>
+		<File
+			RelativePath=".\DatabaseBackup.cpp">
+		</File>
+		<File
+			RelativePath=".\DatabaseBackup.h">
+		</File>
+		<File
+			RelativePath=".\DatabaseClone.cpp">
+		</File>
+		<File
+			RelativePath=".\DatabaseClone.h">
+		</File>
+		<File
+			RelativePath=".\DatabaseCopy.cpp">
+		</File>
+		<File
+			RelativePath=".\DatabaseCopy.h">
+		</File>
+		<File
+			RelativePath=".\LogLock.cpp">
+		</File>
+		<File
+			RelativePath=".\LogLock.h">
+		</File>
 	</Files>
 	<Globals>
 	</Globals>

--- 1.3/storage/falcon/Applications.cpp	2007-05-22 11:11:07 -04:00
+++ 1.4/storage/falcon/Applications.cpp	2007-05-22 11:11:07 -04:00
@@ -101,6 +101,7 @@
 		{
 		for (const char **p = ddl; *p; ++p)
 			database->execute (*p);
+			
 		database->execute (populate);
 		}
 	
@@ -116,33 +117,42 @@
 		{
 		sync.lock (Shared);
 		ResultSet *resultSet = statement->executeQuery();
+		
 		if (resultSet->next())
 			{
 			Application *extends = NULL;
 			const char *extendsName = resultSet->getString (1);
+			
 			if (extendsName [0])
 				extends = getApplication (extendsName);
+				
 			JString className = resultSet->getString (2);
 			resultSet->close();
 			sync.unlock();
 			bool mandatory = className == "netfrastructure/model/Application";
 			Manifest *manifest = database->java->findManifest (className);
+			
 			if (!manifest)
 				{
 				Log::debug ("can't find manifest for %s\n", (const char*) className);
+				
 				if (mandatory)
 					throw SQLEXCEPTION (SECURITY_ERROR, "can't find manifest for %s\n", (const char*) className);
 				}
 			else if (!manifest->valid)
 				{
 				Log::debug ("invalid manifest for %s\n", (const char*) className);
+				
 				if (mandatory)
 					throw SQLEXCEPTION (SECURITY_ERROR, "invalid manifest for %s\n", (const char*) className);
 				}
+				
 			application = new Application (this, applicationName, extends, className);
+			
 			if (extends)
 				extends->addChild (application);
 			insert (application);
+			
 			database->scheduler->loadEvents (application);
 			}
 		else
@@ -154,6 +164,7 @@
 			{
 			database->execute (populate);
 			database->commitSystemTransaction();
+			
 			continue;
 			}
 		break;

--- 1.61/storage/falcon/Database.cpp	2007-05-22 11:11:07 -04:00
+++ 1.62/storage/falcon/Database.cpp	2007-05-22 11:11:07 -04:00
@@ -2193,7 +2193,7 @@
 					updateCardinality = prepareStatement(
 						"update system.tables set cardinality=? where schema=? and tablename=?");
 						
-				syncSystemTransaction.lock(Exclusive);
+				syncSystemTransaction.lock(Shared);
 				hit = true;
 				}
 			
@@ -2206,5 +2206,9 @@
 		}
 	
 	if (hit)
+		{
+		sync.unlock();
+		syncSystemTransaction.unlock();
 		commitSystemTransaction();
+		}
 }

--- 1.60/storage/falcon/Dbb.cpp	2007-05-22 11:11:07 -04:00
+++ 1.61/storage/falcon/Dbb.cpp	2007-05-22 11:11:07 -04:00
@@ -506,8 +506,11 @@
 		{
 		defaultIndexVersion = INDEX_VERSION_0;
 		
-		if (sequenceSectionId)
+		if (!headerPage->sequenceSectionFixed && sequenceSectionId)
+			{
 			upgradeSequenceSection();
+			headerPage->sequenceSectionFixed = true;
+			}
 		}
 
 	char root[256];

--- 1.8/storage/falcon/Hdr.h	2007-05-22 11:11:07 -04:00
+++ 1.9/storage/falcon/Hdr.h	2007-05-22 11:11:07 -04:00
@@ -60,6 +60,7 @@
 	uint32		logLength;
 	UCHAR		haveIndexVersionNumber;
 	UCHAR		defaultIndexVersionNumber;
+	UCHAR		sequenceSectionFixed;
 };
 
 class HdrV2 : public Page  
Thread
bk commit into 6.0-falcon tree (jas:1.2530)U-ROWVWADEjas22 May