aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/MySQL
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Data/MySQL')
-rw-r--r--OpenSim/Data/MySQL/MySQLEstateData.cs1
-rw-r--r--OpenSim/Data/MySQL/MySQLSimulationData.cs70
-rw-r--r--OpenSim/Data/MySQL/Resources/RegionStore.migrations26
3 files changed, 95 insertions, 2 deletions
diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs
index 3d647ca..3dd46cb 100644
--- a/OpenSim/Data/MySQL/MySQLEstateData.cs
+++ b/OpenSim/Data/MySQL/MySQLEstateData.cs
@@ -210,7 +210,6 @@ namespace OpenSim.Data.MySQL
210 } 210 }
211 211
212 LoadBanList(es); 212 LoadBanList(es);
213
214 es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers"); 213 es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
215 es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users"); 214 es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
216 es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups"); 215 es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups");
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs
index 40619de..afd42d7 100644
--- a/OpenSim/Data/MySQL/MySQLSimulationData.cs
+++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs
@@ -861,6 +861,8 @@ namespace OpenSim.Data.MySQL
861 } 861 }
862 } 862 }
863 863
864 LoadSpawnPoints(rs);
865
864 return rs; 866 return rs;
865 } 867 }
866 868
@@ -1032,6 +1034,7 @@ namespace OpenSim.Data.MySQL
1032 } 1034 }
1033 } 1035 }
1034 } 1036 }
1037 SaveSpawnPoints(rs);
1035 } 1038 }
1036 1039
1037 public virtual List<LandData> LoadLandObjects(UUID regionUUID) 1040 public virtual List<LandData> LoadLandObjects(UUID regionUUID)
@@ -1852,5 +1855,72 @@ namespace OpenSim.Data.MySQL
1852 } 1855 }
1853 } 1856 }
1854 } 1857 }
1858
1859 private void LoadSpawnPoints(RegionSettings rs)
1860 {
1861 rs.ClearSpawnPoints();
1862
1863 lock (m_dbLock)
1864 {
1865 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
1866 {
1867 dbcon.Open();
1868
1869 using (MySqlCommand cmd = dbcon.CreateCommand())
1870 {
1871 cmd.CommandText = "select PointX, PointY, PointZ from spawn_points where RegionID = ?RegionID";
1872 cmd.Parameters.AddWithValue("?RegionID", rs.RegionUUID.ToString());
1873
1874 using (IDataReader r = cmd.ExecuteReader())
1875 {
1876 while (r.Read())
1877 {
1878 Vector3 point = new Vector3();
1879
1880 point.X = (float)r["PointX"];
1881 point.Y = (float)r["PointY"];
1882 point.Z = (float)r["PointZ"];
1883
1884 rs.AddSpawnPoint(point);
1885 }
1886 }
1887 }
1888 }
1889 }
1890 }
1891
1892 private void SaveSpawnPoints(RegionSettings rs)
1893 {
1894 lock (m_dbLock)
1895 {
1896 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
1897 {
1898 dbcon.Open();
1899
1900 using (MySqlCommand cmd = dbcon.CreateCommand())
1901 {
1902 cmd.CommandText = "delete from spawn_points where RegionID = ?RegionID";
1903 cmd.Parameters.AddWithValue("?RegionID", rs.RegionUUID.ToString());
1904
1905 cmd.ExecuteNonQuery();
1906
1907 cmd.Parameters.Clear();
1908
1909 cmd.CommandText = "insert into spawn_points (RegionID, PointX, PointY, PointZ) values ( ?EstateID, ?PointX, ?PointY,?PointZ)";
1910
1911 foreach (Vector3 p in rs.SpawnPoints())
1912 {
1913 cmd.Parameters.AddWithValue("?EstateID", rs.RegionUUID.ToString());
1914 cmd.Parameters.AddWithValue("?PointX", p.X);
1915 cmd.Parameters.AddWithValue("?PointY", p.Y);
1916 cmd.Parameters.AddWithValue("?PointZ", p.Z);
1917
1918 cmd.ExecuteNonQuery();
1919 cmd.Parameters.Clear();
1920 }
1921 }
1922 }
1923 }
1924 }
1855 } 1925 }
1856} 1926}
diff --git a/OpenSim/Data/MySQL/Resources/RegionStore.migrations b/OpenSim/Data/MySQL/Resources/RegionStore.migrations
index c2b130c..3872a75 100644
--- a/OpenSim/Data/MySQL/Resources/RegionStore.migrations
+++ b/OpenSim/Data/MySQL/Resources/RegionStore.migrations
@@ -841,4 +841,28 @@ alter table regionban ENGINE = MyISAM;
841alter table regionsettings ENGINE = MyISAM; 841alter table regionsettings ENGINE = MyISAM;
842alter table terrain ENGINE = MyISAM; 842alter table terrain ENGINE = MyISAM;
843 843
844COMMIT; \ No newline at end of file 844COMMIT;
845
846:VERSION 39 #--------------- Telehub support
847
848BEGIN;
849CREATE TABLE IF NOT EXISTS `spawn_points` (
850 `RegionID` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
851 `PointX` float NOT NULL,
852 `PointY` float NOT NULL,
853 `PointZ` float NOT NULL,
854 KEY `RegionID` (`RegionID`)
855) ENGINE=Innodb;
856
857ALTER TABLE `regionsettings` ADD COLUMN `TelehubObject` varchar(36) NOT NULL;
858ALTER TABLE `regionsettings` ADD COLUMN `TelehubName` varchar(255) NOT NULL;
859ALTER TABLE `regionsettings` ADD COLUMN `TelehubEnabled` tinyint(4) NOT NULL;
860ALTER TABLE `regionsettings` ADD COLUMN `TelehubPosX` float NOT NULL;
861ALTER TABLE `regionsettings` ADD COLUMN `TelehubPosY` float NOT NULL;
862ALTER TABLE `regionsettings` ADD COLUMN `TelehubPosZ` float NOT NULL;
863ALTER TABLE `regionsettings` ADD COLUMN `TelehubRotX` float NOT NULL;
864ALTER TABLE `regionsettings` ADD COLUMN `TelehubRotY` float NOT NULL;
865ALTER TABLE `regionsettings` ADD COLUMN `TelehubRotZ` float NOT NULL;
866ALTER TABLE `regionsettings` ADD COLUMN `TelehubRotW` float NOT NULL;
867COMMIT;
868