aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/MySQL/MySQLSimulationData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Data/MySQL/MySQLSimulationData.cs')
-rw-r--r--OpenSim/Data/MySQL/MySQLSimulationData.cs35
1 files changed, 35 insertions, 0 deletions
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs
index 1a57199..ab24b76 100644
--- a/OpenSim/Data/MySQL/MySQLSimulationData.cs
+++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs
@@ -733,6 +733,41 @@ namespace OpenSim.Data.MySQL
733 return terrData; 733 return terrData;
734 } 734 }
735 735
736 public TerrainData LoadBakedTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ)
737 {
738 TerrainData terrData = null;
739
740 lock (m_dbLock)
741 {
742 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
743 {
744 dbcon.Open();
745
746 using (MySqlCommand cmd = dbcon.CreateCommand())
747 {
748 cmd.CommandText = "select RegionUUID, Revision, Heightfield " +
749 "from bakedterrain where RegionUUID = ?RegionUUID ";
750 cmd.Parameters.AddWithValue("RegionUUID", regionID.ToString());
751
752 using (IDataReader reader = ExecuteReader(cmd))
753 {
754 while (reader.Read())
755 {
756 int rev = Convert.ToInt32(reader["Revision"]);
757 if ((reader["Heightfield"] != DBNull.Value))
758 {
759 byte[] blob = (byte[])reader["Heightfield"];
760 terrData = TerrainData.CreateFromDatabaseBlobFactory(pSizeX, pSizeY, pSizeZ, rev, blob);
761 }
762 }
763 }
764 }
765 }
766 }
767
768 return terrData;
769 }
770
736 public virtual void RemoveLandObject(UUID globalID) 771 public virtual void RemoveLandObject(UUID globalID)
737 { 772 {
738 lock (m_dbLock) 773 lock (m_dbLock)