From 15c6788dc79e7f6d802f0217198e3af21dff4e57 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Wed, 13 Feb 2008 20:08:46 +0000 Subject: * Moved insertRegionRow into MSSQLGridData * Split table test and creation into table by table * Debugged table creation Sql * Added missing CreateUserFriendsTable.sql --- OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs | 31 ++++++++++++++++----------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs') diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs index 95a0c08..56ad3fa 100644 --- a/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs +++ b/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs @@ -37,7 +37,7 @@ namespace OpenSim.Framework.Data.MSSQL /// /// A database interface class to a user profile storage system /// - internal class MSSQLUserData : IUserData + public class MSSQLUserData : IUserData { private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); @@ -86,37 +86,41 @@ namespace OpenSim.Framework.Data.MSSQL new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword); - if (!TestTables()) - { - database.ExecuteResourceSql("Mssql-agents.sql"); - database.ExecuteResourceSql("Mssql-users.sql"); - database.ExecuteResourceSql("Mssql-userfriends.sql"); - } + TestTables(); } private bool TestTables() { - IDbCommand cmd = database.Query("select top 1 webLoginKey from "+m_usersTableName, new Dictionary()); + IDbCommand cmd; + + cmd = database.Query("select top 1 * from " + m_usersTableName, new Dictionary()); try { cmd.ExecuteNonQuery(); - cmd.Dispose(); } catch { - database.Query("alter table "+m_usersTableName+" add column [webLoginKey] varchar(36) default NULL", new Dictionary()); + database.ExecuteResourceSql("Mssql-users.sql"); + } + + cmd = database.Query("select top 1 * from " + m_agentsTableName, new Dictionary()); + try + { cmd.ExecuteNonQuery(); - cmd.Dispose(); + } + catch + { + database.ExecuteResourceSql("Mssql-agents.sql"); } - cmd = database.Query("select top 1 * from "+m_usersTableName, new Dictionary()); + cmd = database.Query("select top 1 * from " + m_userFriendsTableName, new Dictionary()); try { cmd.ExecuteNonQuery(); } catch { - return false; + database.ExecuteResourceSql("CreateUserFriendsTable.sql"); } return true; @@ -180,6 +184,7 @@ namespace OpenSim.Framework.Data.MSSQL "VALUES " + "(@ownerID,@friendID,@friendPerms,@datetimestamp)", param); + adder.ExecuteNonQuery(); adder = -- cgit v1.1