Thank you kindly, TLaukkan (Tommil) for a patch that:

* Created value object for EstateRegionLink for storing the estate region relationship.
* Refactored slightly NHibernateManager and NHibernateXXXXData implementations for accesing nhibernate generated ID on insert.
** Changed NHibernateManager.Save method name to Insert as it does Insert.
** Changed NHibernateManager.Save return value object as ID can be both UUID and uint currently.
** Changed NHibernateManager.Load method Id parameter to object as it can be both UUID and uint.
* Created NHibernateEstateData implementation. This is the actual estate storage.
* Created NHibernate mapping files for both EstateSettings and EstateRegionLink
* Created MigrationSyntaxDifferences.txt files to write notes about differences in migration scripts between different databases.
* Created estate storage migration scripts for all four databases.
* Created estate unit test classes for all four databases.
* Updated one missing field to BasicEstateTest.cs
* Tested NHibernate unit tests with NUnit GUI. Asset databases fail but that is not related to this patch.
* Tested build with both Visual Studio and nant.
* Executed build tests with nant succesfully.
This commit is contained in:
Charles Krinke
2009-02-14 19:47:02 +00:00
parent 67b0ba71da
commit a583d8ad70
20 changed files with 803 additions and 57 deletions

View File

@@ -0,0 +1,40 @@
CREATE TABLE EstateSettings (
EstateID INT NOT NULL,
ParentEstateID INT NULL,
EstateOwnerID NVARCHAR(36) NULL,
Name NVARCHAR(64) NULL,
RedirectGridX INT NULL,
RedirectGridY INT NULL,
BillableFactor REAL NULL,
PricePerMeter INT NULL,
SunPosition REAL NULL,
UseGlobalTime BIT NULL,
FixedSun BIT NULL,
AllowVoice BIT NULL,
AllowDirectTeleport BIT NULL,
ResetHomeOnTeleport BIT NULL,
PublicAccess BIT NULL,
DenyAnonymous BIT NULL,
DenyIdentified BIT NULL,
DenyTransacted BIT NULL,
DenyMinors BIT NULL,
BlockDwell BIT NULL,
EstateSkipScripts BIT NULL,
TaxFree BIT NULL,
AbuseEmailToEstateOwner BIT NULL,
AbuseEmail NVARCHAR(255) NULL,
PRIMARY KEY (EstateID)
);
CREATE TABLE EstateRegionLink (
EstateRegionLinkID NVARCHAR(36) NOT NULL,
EstateID INT NULL,
RegionID NVARCHAR(36) NULL,
PRIMARY KEY (EstateRegionLinkID)
);
CREATE INDEX EstateRegionLinkEstateIDIndex ON EstateRegionLink (EstateID);
CREATE INDEX EstateRegionLinkERegionIDIndex ON EstateRegionLink (RegionID);