diff options
author | Robert Adams | 2013-09-24 13:41:44 -0700 |
---|---|---|
committer | Robert Adams | 2013-09-28 07:33:55 -0700 |
commit | aea5d3a84212a236fe1a766131b8e3513f3705a8 (patch) | |
tree | bf433ef9106c2de99e5a6d90a048c6c38e107670 /OpenSim/Region/Framework | |
parent | varregion: go back to using Constants.RegionSize so as not to break (diff) | |
download | opensim-SC-aea5d3a84212a236fe1a766131b8e3513f3705a8.zip opensim-SC-aea5d3a84212a236fe1a766131b8e3513f3705a8.tar.gz opensim-SC-aea5d3a84212a236fe1a766131b8e3513f3705a8.tar.bz2 opensim-SC-aea5d3a84212a236fe1a766131b8e3513f3705a8.tar.xz |
Remove time based terrain storage in SQLite so revision number can be used
to denote terrain format revision.
Add terrain DB format revision codes to ISimulationDataStore.cs.
Setup so legacy compatible terrain storage and fetch is possible while
allowing future format extensions.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs b/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs index 3787ca0..c936a84 100644 --- a/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs +++ b/OpenSim/Region/Framework/Interfaces/ISimulationDataStore.cs | |||
@@ -134,5 +134,26 @@ namespace OpenSim.Region.Framework.Interfaces | |||
134 | Dictionary<string, string> GetExtra(UUID regionID); | 134 | Dictionary<string, string> GetExtra(UUID regionID); |
135 | 135 | ||
136 | void Shutdown(); | 136 | void Shutdown(); |
137 | } | ||
138 | |||
139 | // The terrain is stored as a blob in the database with a 'revision' field. | ||
140 | // Some implementations of terrain storage would fill the revision field with | ||
141 | // the time the terrain was stored. When real revisions were added and this | ||
142 | // feature removed, that left some old entries with the time in the revision | ||
143 | // field. | ||
144 | // Thus, if revision is greater than 'RevisionHigh' then terrain db entry is | ||
145 | // left over and it is presumed to be 'Legacy256'. | ||
146 | // Numbers are arbitrary and are chosen to to reduce possible mis-interpretation. | ||
147 | // If a revision does not match any of these, it is assumed to be Legacy256. | ||
148 | public enum DBTerrainRevision | ||
149 | { | ||
150 | // Terrain is 'double[256,256]' | ||
151 | Legacy256 = 11, | ||
152 | // Terrain is 'int32, int32, float[,]' where the shorts are X and Y dimensions | ||
153 | // The dimensions are presumed to be multiples of 16 and, more likely, multiples of 256. | ||
154 | Variable2D = 22, | ||
155 | // A revision that is not listed above or any revision greater than this value is 'Legacy256'. | ||
156 | RevisionHigh = 1234 | ||
137 | } | 157 | } |
158 | |||
138 | } | 159 | } |