aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2017-05-06 21:43:22 +0100
committerUbitUmarov2017-05-06 21:43:22 +0100
commitc57215687f6ab0a9585c5331edc2da89a88b8a28 (patch)
treeb392c3a21531baf4c822d03db3e1d03e303e494a
parent don't hold dbconn longer than necessart (diff)
downloadopensim-SC-c57215687f6ab0a9585c5331edc2da89a88b8a28.zip
opensim-SC-c57215687f6ab0a9585c5331edc2da89a88b8a28.tar.gz
opensim-SC-c57215687f6ab0a9585c5331edc2da89a88b8a28.tar.bz2
opensim-SC-c57215687f6ab0a9585c5331edc2da89a88b8a28.tar.xz
a few more changes on mysql
-rw-r--r--OpenSim/Data/MySQL/MySQLAuthenticationData.cs36
-rw-r--r--OpenSim/Data/MySQL/MySQLEstateData.cs7
-rw-r--r--OpenSim/Data/MySQL/MySQLFSAssetData.cs3
-rw-r--r--OpenSim/Data/MySQL/MySQLSimulationData.cs62
4 files changed, 60 insertions, 48 deletions
diff --git a/OpenSim/Data/MySQL/MySQLAuthenticationData.cs b/OpenSim/Data/MySQL/MySQLAuthenticationData.cs
index 5030c1d..fef582e 100644
--- a/OpenSim/Data/MySQL/MySQLAuthenticationData.cs
+++ b/OpenSim/Data/MySQL/MySQLAuthenticationData.cs
@@ -77,30 +77,32 @@ namespace OpenSim.Data.MySQL
77 { 77 {
78 cmd.Parameters.AddWithValue("?principalID", principalID.ToString()); 78 cmd.Parameters.AddWithValue("?principalID", principalID.ToString());
79 79
80 IDataReader result = cmd.ExecuteReader(); 80 using(IDataReader result = cmd.ExecuteReader())
81
82 if (result.Read())
83 { 81 {
84 ret.PrincipalID = principalID; 82 if(result.Read())
83 {
84 ret.PrincipalID = principalID;
85 85
86 CheckColumnNames(result); 86 CheckColumnNames(result);
87 87
88 foreach (string s in m_ColumnNames) 88 foreach(string s in m_ColumnNames)
89 { 89 {
90 if (s == "UUID") 90 if(s == "UUID")
91 continue; 91 continue;
92 92
93 ret.Data[s] = result[s].ToString(); 93 ret.Data[s] = result[s].ToString();
94 } 94 }
95 95
96 return ret; 96 dbcon.Close();
97 } 97 return ret;
98 else 98 }
99 { 99 else
100 return null; 100 {
101 dbcon.Close();
102 return null;
103 }
101 } 104 }
102 } 105 }
103 dbcon.Close();
104 } 106 }
105 } 107 }
106 108
diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs
index 12593f6..eeedf02 100644
--- a/OpenSim/Data/MySQL/MySQLEstateData.cs
+++ b/OpenSim/Data/MySQL/MySQLEstateData.cs
@@ -82,6 +82,7 @@ namespace OpenSim.Data.MySQL
82 82
83 Migration m = new Migration(dbcon, Assembly, "EstateStore"); 83 Migration m = new Migration(dbcon, Assembly, "EstateStore");
84 m.Update(); 84 m.Update();
85 dbcon.Close();
85 86
86 Type t = typeof(EstateSettings); 87 Type t = typeof(EstateSettings);
87 m_Fields = t.GetFields(BindingFlags.NonPublic | 88 m_Fields = t.GetFields(BindingFlags.NonPublic |
@@ -143,7 +144,6 @@ namespace OpenSim.Data.MySQL
143 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) 144 using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
144 { 145 {
145 dbcon.Open(); 146 dbcon.Open();
146
147 cmd.Connection = dbcon; 147 cmd.Connection = dbcon;
148 148
149 bool found = false; 149 bool found = false;
@@ -171,13 +171,14 @@ namespace OpenSim.Data.MySQL
171 } 171 }
172 } 172 }
173 } 173 }
174 dbcon.Close();
175 cmd.Connection = null;
176
174 if (!found && create) 177 if (!found && create)
175 { 178 {
176 DoCreate(es); 179 DoCreate(es);
177 LinkRegion(regionID, (int)es.EstateID); 180 LinkRegion(regionID, (int)es.EstateID);
178 } 181 }
179 cmd.Connection = null;
180 dbcon.Close();
181 } 182 }
182 183
183 LoadBanList(es); 184 LoadBanList(es);
diff --git a/OpenSim/Data/MySQL/MySQLFSAssetData.cs b/OpenSim/Data/MySQL/MySQLFSAssetData.cs
index 0918596..6c48607 100644
--- a/OpenSim/Data/MySQL/MySQLFSAssetData.cs
+++ b/OpenSim/Data/MySQL/MySQLFSAssetData.cs
@@ -78,6 +78,7 @@ namespace OpenSim.Data.MySQL
78 conn.Open(); 78 conn.Open();
79 Migration m = new Migration(conn, Assembly, "FSAssetStore"); 79 Migration m = new Migration(conn, Assembly, "FSAssetStore");
80 m.Update(); 80 m.Update();
81 conn.Close();
81 } 82 }
82 } 83 }
83 catch (MySqlException e) 84 catch (MySqlException e)
@@ -126,8 +127,8 @@ namespace OpenSim.Data.MySQL
126 m_log.ErrorFormat("[FSASSETS]: Query {0} failed with {1}", cmd.CommandText, e.ToString()); 127 m_log.ErrorFormat("[FSASSETS]: Query {0} failed with {1}", cmd.CommandText, e.ToString());
127 return false; 128 return false;
128 } 129 }
129 cmd.Connection = null;
130 conn.Close(); 130 conn.Close();
131 cmd.Connection = null;
131 } 132 }
132 133
133 return true; 134 return true;
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs
index 8d1a4a5..3ea5805 100644
--- a/OpenSim/Data/MySQL/MySQLSimulationData.cs
+++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs
@@ -262,6 +262,7 @@ namespace OpenSim.Data.MySQL
262 ExecuteNonQuery(cmd); 262 ExecuteNonQuery(cmd);
263 } 263 }
264 } 264 }
265 dbcon.Close();
265 } 266 }
266 } 267 }
267 } 268 }
@@ -301,6 +302,7 @@ namespace OpenSim.Data.MySQL
301 cmd.CommandText = "delete from prims where SceneGroupID= ?UUID"; 302 cmd.CommandText = "delete from prims where SceneGroupID= ?UUID";
302 ExecuteNonQuery(cmd); 303 ExecuteNonQuery(cmd);
303 } 304 }
305 dbcon.Close();
304 } 306 }
305 } 307 }
306 308
@@ -961,6 +963,7 @@ namespace OpenSim.Data.MySQL
961 public virtual RegionSettings LoadRegionSettings(UUID regionUUID) 963 public virtual RegionSettings LoadRegionSettings(UUID regionUUID)
962 { 964 {
963 RegionSettings rs = null; 965 RegionSettings rs = null;
966 bool needStore = false;
964 967
965 lock (m_dbLock) 968 lock (m_dbLock)
966 { 969 {
@@ -986,7 +989,7 @@ namespace OpenSim.Data.MySQL
986 rs.RegionUUID = regionUUID; 989 rs.RegionUUID = regionUUID;
987 rs.OnSave += StoreRegionSettings; 990 rs.OnSave += StoreRegionSettings;
988 991
989 StoreRegionSettings(rs); 992 needStore = true;
990 } 993 }
991 } 994 }
992 } 995 }
@@ -994,6 +997,9 @@ namespace OpenSim.Data.MySQL
994 } 997 }
995 } 998 }
996 999
1000 if(needStore)
1001 StoreRegionSettings(rs);
1002
997 LoadSpawnPoints(rs); 1003 LoadSpawnPoints(rs);
998 1004
999 return rs; 1005 return rs;
@@ -1007,31 +1013,32 @@ namespace OpenSim.Data.MySQL
1007 1013
1008 using (MySqlCommand cmd = dbcon.CreateCommand()) 1014 using (MySqlCommand cmd = dbcon.CreateCommand())
1009 { 1015 {
1010 cmd.CommandText = "REPLACE INTO `regionwindlight` (`region_id`, `water_color_r`, `water_color_g`, "; 1016 cmd.CommandText = "REPLACE INTO `regionwindlight` (`region_id`, `water_color_r`, `water_color_g`, "
1011 cmd.CommandText += "`water_color_b`, `water_fog_density_exponent`, `underwater_fog_modifier`, "; 1017 + "`water_color_b`, `water_fog_density_exponent`, `underwater_fog_modifier`, "
1012 cmd.CommandText += "`reflection_wavelet_scale_1`, `reflection_wavelet_scale_2`, `reflection_wavelet_scale_3`, "; 1018 + "`reflection_wavelet_scale_1`, `reflection_wavelet_scale_2`, `reflection_wavelet_scale_3`, "
1013 cmd.CommandText += "`fresnel_scale`, `fresnel_offset`, `refract_scale_above`, `refract_scale_below`, "; 1019 + "`fresnel_scale`, `fresnel_offset`, `refract_scale_above`, `refract_scale_below`, "
1014 cmd.CommandText += "`blur_multiplier`, `big_wave_direction_x`, `big_wave_direction_y`, `little_wave_direction_x`, "; 1020 + "`blur_multiplier`, `big_wave_direction_x`, `big_wave_direction_y`, `little_wave_direction_x`, "
1015 cmd.CommandText += "`little_wave_direction_y`, `normal_map_texture`, `horizon_r`, `horizon_g`, `horizon_b`, "; 1021 + "`little_wave_direction_y`, `normal_map_texture`, `horizon_r`, `horizon_g`, `horizon_b`, "
1016 cmd.CommandText += "`horizon_i`, `haze_horizon`, `blue_density_r`, `blue_density_g`, `blue_density_b`, "; 1022 + "`horizon_i`, `haze_horizon`, `blue_density_r`, `blue_density_g`, `blue_density_b`, "
1017 cmd.CommandText += "`blue_density_i`, `haze_density`, `density_multiplier`, `distance_multiplier`, `max_altitude`, "; 1023 + "`blue_density_i`, `haze_density`, `density_multiplier`, `distance_multiplier`, `max_altitude`, "
1018 cmd.CommandText += "`sun_moon_color_r`, `sun_moon_color_g`, `sun_moon_color_b`, `sun_moon_color_i`, `sun_moon_position`, "; 1024 + "`sun_moon_color_r`, `sun_moon_color_g`, `sun_moon_color_b`, `sun_moon_color_i`, `sun_moon_position`, "
1019 cmd.CommandText += "`ambient_r`, `ambient_g`, `ambient_b`, `ambient_i`, `east_angle`, `sun_glow_focus`, `sun_glow_size`, "; 1025 + "`ambient_r`, `ambient_g`, `ambient_b`, `ambient_i`, `east_angle`, `sun_glow_focus`, `sun_glow_size`, "
1020 cmd.CommandText += "`scene_gamma`, `star_brightness`, `cloud_color_r`, `cloud_color_g`, `cloud_color_b`, `cloud_color_i`, "; 1026 + "`scene_gamma`, `star_brightness`, `cloud_color_r`, `cloud_color_g`, `cloud_color_b`, `cloud_color_i`, "
1021 cmd.CommandText += "`cloud_x`, `cloud_y`, `cloud_density`, `cloud_coverage`, `cloud_scale`, `cloud_detail_x`, "; 1027 + "`cloud_x`, `cloud_y`, `cloud_density`, `cloud_coverage`, `cloud_scale`, `cloud_detail_x`, "
1022 cmd.CommandText += "`cloud_detail_y`, `cloud_detail_density`, `cloud_scroll_x`, `cloud_scroll_x_lock`, `cloud_scroll_y`, "; 1028 + "`cloud_detail_y`, `cloud_detail_density`, `cloud_scroll_x`, `cloud_scroll_x_lock`, `cloud_scroll_y`, "
1023 cmd.CommandText += "`cloud_scroll_y_lock`, `draw_classic_clouds`) VALUES (?region_id, ?water_color_r, "; 1029 + "`cloud_scroll_y_lock`, `draw_classic_clouds`) VALUES (?region_id, ?water_color_r, "
1024 cmd.CommandText += "?water_color_g, ?water_color_b, ?water_fog_density_exponent, ?underwater_fog_modifier, ?reflection_wavelet_scale_1, "; 1030 + "?water_color_g, ?water_color_b, ?water_fog_density_exponent, ?underwater_fog_modifier, ?reflection_wavelet_scale_1, "
1025 cmd.CommandText += "?reflection_wavelet_scale_2, ?reflection_wavelet_scale_3, ?fresnel_scale, ?fresnel_offset, ?refract_scale_above, "; 1031 + "?reflection_wavelet_scale_2, ?reflection_wavelet_scale_3, ?fresnel_scale, ?fresnel_offset, ?refract_scale_above, "
1026 cmd.CommandText += "?refract_scale_below, ?blur_multiplier, ?big_wave_direction_x, ?big_wave_direction_y, ?little_wave_direction_x, "; 1032 + "?refract_scale_below, ?blur_multiplier, ?big_wave_direction_x, ?big_wave_direction_y, ?little_wave_direction_x, "
1027 cmd.CommandText += "?little_wave_direction_y, ?normal_map_texture, ?horizon_r, ?horizon_g, ?horizon_b, ?horizon_i, ?haze_horizon, "; 1033 + "?little_wave_direction_y, ?normal_map_texture, ?horizon_r, ?horizon_g, ?horizon_b, ?horizon_i, ?haze_horizon, "
1028 cmd.CommandText += "?blue_density_r, ?blue_density_g, ?blue_density_b, ?blue_density_i, ?haze_density, ?density_multiplier, "; 1034 + "?blue_density_r, ?blue_density_g, ?blue_density_b, ?blue_density_i, ?haze_density, ?density_multiplier, "
1029 cmd.CommandText += "?distance_multiplier, ?max_altitude, ?sun_moon_color_r, ?sun_moon_color_g, ?sun_moon_color_b, "; 1035 + "?distance_multiplier, ?max_altitude, ?sun_moon_color_r, ?sun_moon_color_g, ?sun_moon_color_b, "
1030 cmd.CommandText += "?sun_moon_color_i, ?sun_moon_position, ?ambient_r, ?ambient_g, ?ambient_b, ?ambient_i, ?east_angle, "; 1036 + "?sun_moon_color_i, ?sun_moon_position, ?ambient_r, ?ambient_g, ?ambient_b, ?ambient_i, ?east_angle, "
1031 cmd.CommandText += "?sun_glow_focus, ?sun_glow_size, ?scene_gamma, ?star_brightness, ?cloud_color_r, ?cloud_color_g, "; 1037 + "?sun_glow_focus, ?sun_glow_size, ?scene_gamma, ?star_brightness, ?cloud_color_r, ?cloud_color_g, "
1032 cmd.CommandText += "?cloud_color_b, ?cloud_color_i, ?cloud_x, ?cloud_y, ?cloud_density, ?cloud_coverage, ?cloud_scale, "; 1038 + "?cloud_color_b, ?cloud_color_i, ?cloud_x, ?cloud_y, ?cloud_density, ?cloud_coverage, ?cloud_scale, "
1033 cmd.CommandText += "?cloud_detail_x, ?cloud_detail_y, ?cloud_detail_density, ?cloud_scroll_x, ?cloud_scroll_x_lock, "; 1039 + "?cloud_detail_x, ?cloud_detail_y, ?cloud_detail_density, ?cloud_scroll_x, ?cloud_scroll_x_lock, "
1034 cmd.CommandText += "?cloud_scroll_y, ?cloud_scroll_y_lock, ?draw_classic_clouds)"; 1040 + "?cloud_scroll_y, ?cloud_scroll_y_lock, ?draw_classic_clouds)"
1041 ;
1035 1042
1036 cmd.Parameters.AddWithValue("region_id", wl.regionID); 1043 cmd.Parameters.AddWithValue("region_id", wl.regionID);
1037 cmd.Parameters.AddWithValue("water_color_r", wl.waterColor.X); 1044 cmd.Parameters.AddWithValue("water_color_r", wl.waterColor.X);
@@ -1137,14 +1144,15 @@ namespace OpenSim.Data.MySQL
1137 IDataReader result = ExecuteReader(cmd); 1144 IDataReader result = ExecuteReader(cmd);
1138 if (!result.Read()) 1145 if (!result.Read())
1139 { 1146 {
1147 dbcon.Close();
1140 return String.Empty; 1148 return String.Empty;
1141 } 1149 }
1142 else 1150 else
1143 { 1151 {
1152 dbcon.Close();
1144 return Convert.ToString(result["llsd_settings"]); 1153 return Convert.ToString(result["llsd_settings"]);
1145 } 1154 }
1146 } 1155 }
1147 dbcon.Close();
1148 } 1156 }
1149 } 1157 }
1150 1158