From d6a64bf732ee88bdf9b62ad4f4303514f3215283 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 26 Mar 2010 13:50:25 -0700 Subject: [PATCH] * Catch exceptions thrown when MySQLEstateData.LinkRegion() is called. This won't fix the bug I'm seeing with regions not realizing they are already part of an estate, but it will fix the OpenSim crash if that situation ever comes up --- OpenSim/Data/MySQL/MySQLEstateData.cs | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs index 7fe1fcc9cc..d0c02f0647 100644 --- a/OpenSim/Data/MySQL/MySQLEstateData.cs +++ b/OpenSim/Data/MySQL/MySQLEstateData.cs @@ -447,23 +447,29 @@ namespace OpenSim.Data.MySQL { dbcon.Open(); - using (MySqlCommand cmd = dbcon.CreateCommand()) + try { - cmd.CommandText = "insert into estate_map values (?RegionID, ?EstateID)"; - cmd.Parameters.AddWithValue("?RegionID", regionID); - cmd.Parameters.AddWithValue("?EstateID", estateID); - - if (cmd.ExecuteNonQuery() == 0) + using (MySqlCommand cmd = dbcon.CreateCommand()) { + cmd.CommandText = "insert into estate_map values (?RegionID, ?EstateID)"; + cmd.Parameters.AddWithValue("?RegionID", regionID); + cmd.Parameters.AddWithValue("?EstateID", estateID); + + int ret = cmd.ExecuteNonQuery(); dbcon.Close(); - return false; + + return (ret != 0); } } + catch (MySqlException ex) + { + m_log.Error("[REGION DB]: LinkRegion failed: " + ex.Message); + } dbcon.Close(); } - return true; + return false; } public List GetRegions(int estateID)