aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs
diff options
context:
space:
mode:
authorTeravus Ovares2007-12-05 15:53:58 +0000
committerTeravus Ovares2007-12-05 15:53:58 +0000
commit71fd737a66c58faa6854ad1c1d8c58f64491fdb0 (patch)
treec9c876c361afbf76d416b7f2c413ff56a1f9beef /OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs
parentmade one or two more methods in Scene virtual to allow overriding in sub clas... (diff)
downloadopensim-SC-71fd737a66c58faa6854ad1c1d8c58f64491fdb0.zip
opensim-SC-71fd737a66c58faa6854ad1c1d8c58f64491fdb0.tar.gz
opensim-SC-71fd737a66c58faa6854ad1c1d8c58f64491fdb0.tar.bz2
opensim-SC-71fd737a66c58faa6854ad1c1d8c58f64491fdb0.tar.xz
* Applied MSSQL Patch from akokko, Thanks! akokko
* This hasn't been tested in MSSQL mode, however it's been checked to make sure it doesn't cause any issues with mySQL/SQLlite
Diffstat (limited to 'OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs')
-rw-r--r--OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs104
1 files changed, 104 insertions, 0 deletions
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs
new file mode 100644
index 0000000..8a59bca
--- /dev/null
+++ b/OpenSim/Framework/Data.MSSQL/MSSQLLogData.cs
@@ -0,0 +1,104 @@
1/*
2* Copyright (c) Contributors, http://opensimulator.org/
3* See CONTRIBUTORS.TXT for a full list of copyright holders.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions are met:
7* * Redistributions of source code must retain the above copyright
8* notice, this list of conditions and the following disclaimer.
9* * Redistributions in binary form must reproduce the above copyright
10* notice, this list of conditions and the following disclaimer in the
11* documentation and/or other materials provided with the distribution.
12* * Neither the name of the OpenSim Project nor the
13* names of its contributors may be used to endorse or promote products
14* derived from this software without specific prior written permission.
15*
16* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
17* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*
27*/
28using System;
29
30namespace OpenSim.Framework.Data.MSSQL
31{
32 /// <summary>
33 /// An interface to the log database for MySQL
34 /// </summary>
35 class MSSQLLogData : ILogData
36 {
37 /// <summary>
38 /// The database manager
39 /// </summary>
40 public MSSQLManager database;
41
42 /// <summary>
43 /// Artificial constructor called when the plugin is loaded
44 /// </summary>
45 public void Initialise()
46 {
47 IniFile GridDataMySqlFile = new IniFile("mssql_connection.ini");
48 string settingDataSource = GridDataMySqlFile.ParseFileReadValue("data_source");
49 string settingInitialCatalog = GridDataMySqlFile.ParseFileReadValue("initial_catalog");
50 string settingPersistSecurityInfo = GridDataMySqlFile.ParseFileReadValue("persist_security_info");
51 string settingUserId = GridDataMySqlFile.ParseFileReadValue("user_id");
52 string settingPassword = GridDataMySqlFile.ParseFileReadValue("password");
53
54 database = new MSSQLManager(settingDataSource, settingInitialCatalog, settingPersistSecurityInfo, settingUserId, settingPassword);
55 }
56
57 /// <summary>
58 /// Saves a log item to the database
59 /// </summary>
60 /// <param name="serverDaemon">The daemon triggering the event</param>
61 /// <param name="target">The target of the action (region / agent UUID, etc)</param>
62 /// <param name="methodCall">The method call where the problem occured</param>
63 /// <param name="arguments">The arguments passed to the method</param>
64 /// <param name="priority">How critical is this?</param>
65 /// <param name="logMessage">The message to log</param>
66 public void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority, string logMessage)
67 {
68 try
69 {
70 database.insertLogRow(serverDaemon, target, methodCall, arguments, priority, logMessage);
71 }
72 catch
73 {
74 database.Reconnect();
75 }
76 }
77
78 /// <summary>
79 /// Returns the name of this DB provider
80 /// </summary>
81 /// <returns>A string containing the DB provider name</returns>
82 public string getName()
83 {
84 return "MSSQL Logdata Interface";
85 }
86
87 /// <summary>
88 /// Closes the database provider
89 /// </summary>
90 public void Close()
91 {
92 // Do nothing.
93 }
94
95 /// <summary>
96 /// Returns the version of this DB provider
97 /// </summary>
98 /// <returns>A string containing the provider version</returns>
99 public string getVersion()
100 {
101 return "0.1";
102 }
103 }
104} \ No newline at end of file