From bcd3a5b28bc63426e5ac1f4642afca4a391ece28 Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Wed, 13 Feb 2008 12:06:09 +0000
Subject: * Introduced customizable table names on MySQL and MSSQL UserData
plug-ins. [Provided by openlifegrid.com]
---
OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs | 46 ++++++++++++++++++++-------
1 file changed, 34 insertions(+), 12 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 ed9929c..60e6df4 100644
--- a/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLUserData.cs
@@ -46,6 +46,10 @@ namespace OpenSim.Framework.Data.MSSQL
///
public MSSQLManager database;
+ private string m_agentsTableName;
+ private string m_usersTableName;
+ private string m_userFriendsTableName;
+
///
/// Loads and initialises the MySQL storage plugin
///
@@ -53,12 +57,30 @@ namespace OpenSim.Framework.Data.MSSQL
{
// Load from an INI file connection details
// TODO: move this to XML?
- IniFile GridDataMySqlFile = new IniFile("mssql_connection.ini");
- string settingDataSource = GridDataMySqlFile.ParseFileReadValue("data_source");
- string settingInitialCatalog = GridDataMySqlFile.ParseFileReadValue("initial_catalog");
- string settingPersistSecurityInfo = GridDataMySqlFile.ParseFileReadValue("persist_security_info");
- string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
- string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
+ IniFile iniFile = new IniFile("mssql_connection.ini");
+ string settingDataSource = iniFile.ParseFileReadValue("data_source");
+ string settingInitialCatalog = iniFile.ParseFileReadValue("initial_catalog");
+ string settingPersistSecurityInfo = iniFile.ParseFileReadValue("persist_security_info");
+ string settingUserId = iniFile.ParseFileReadValue("user_id");
+ string settingPassword = iniFile.ParseFileReadValue("password");
+
+ m_usersTableName = iniFile.ParseFileReadValue("userstablename");
+ if (m_usersTableName == null)
+ {
+ m_usersTableName = "users";
+ }
+
+ m_userFriendsTableName = iniFile.ParseFileReadValue("userfriendstablename");
+ if (m_userFriendsTableName == null)
+ {
+ m_userFriendsTableName = "userfriends";
+ }
+
+ m_agentsTableName = iniFile.ParseFileReadValue("agentstablename");
+ if (m_agentsTableName == null)
+ {
+ m_agentsTableName = "agents";
+ }
database =
new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId,
@@ -82,7 +104,7 @@ namespace OpenSim.Framework.Data.MSSQL
param["second"] = last;
IDbCommand result =
- database.Query("SELECT * FROM users WHERE username = @first AND lastname = @second", param);
+ database.Query("SELECT * FROM "+m_usersTableName+" WHERE username = @first AND lastname = @second", param);
IDataReader reader = result.ExecuteReader();
UserProfileData row = database.readUserRow(reader);
@@ -150,7 +172,7 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand result =
database.Query(
- "SELECT UUID,username,surname FROM users WHERE username = @first AND lastname = @second",
+ "SELECT UUID,username,surname FROM " + m_usersTableName + " WHERE username = @first AND lastname = @second",
param);
IDataReader reader = result.ExecuteReader();
@@ -186,7 +208,7 @@ namespace OpenSim.Framework.Data.MSSQL
IDbCommand result =
database.Query(
- "SELECT UUID,username,surname FROM users WHERE username = @first OR lastname = @second",
+ "SELECT UUID,username,surname FROM " + m_usersTableName + " WHERE username = @first OR lastname = @second",
param);
IDataReader reader = result.ExecuteReader();
@@ -223,7 +245,7 @@ namespace OpenSim.Framework.Data.MSSQL
Dictionary param = new Dictionary();
param["uuid"] = uuid.ToString();
- IDbCommand result = database.Query("SELECT * FROM users WHERE UUID = @uuid", param);
+ IDbCommand result = database.Query("SELECT * FROM " + m_usersTableName + " WHERE UUID = @uuid", param);
IDataReader reader = result.ExecuteReader();
UserProfileData row = database.readUserRow(reader);
@@ -278,7 +300,7 @@ namespace OpenSim.Framework.Data.MSSQL
Dictionary param = new Dictionary();
param["uuid"] = uuid.ToString();
- IDbCommand result = database.Query("SELECT * FROM agents WHERE UUID = @uuid", param);
+ IDbCommand result = database.Query("SELECT * FROM " + m_agentsTableName + " WHERE UUID = @uuid", param);
IDataReader reader = result.ExecuteReader();
UserAgentData row = database.readAgentRow(reader);
@@ -342,7 +364,7 @@ namespace OpenSim.Framework.Data.MSSQL
public bool UpdateUserProfile(UserProfileData user)
{
- SqlCommand command = new SqlCommand("UPDATE users set UUID = @uuid, " +
+ SqlCommand command = new SqlCommand("UPDATE " + m_usersTableName + " set UUID = @uuid, " +
"username = @username, " +
"lastname = @lastname," +
"passwordHash = @passwordHash," +
--
cgit v1.1