From: Date: May 22 2007 5:11pm Subject: bk commit into 6.0-falcon tree (jas:1.2530) List-Archive: http://lists.mysql.com/commits/27136 Message-Id: <20070522151110.399BF98ED1@mail.ibphoenix.com> 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"> + RelativePath="Word\MSWord.h"> + RelativePath="..\..\..\netfrastructure\Word\MSWord.h"> @@ -9113,6 +9113,30 @@ RelativePath="..\..\..\netfrastructure\ZLib\zutil.h"> + + + + + + + + + + + + + + + + --- 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