aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/SQLite
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Data/SQLite')
-rw-r--r--OpenSim/Data/SQLite/Resources/EstateStore.migrations8
-rw-r--r--OpenSim/Data/SQLite/Resources/MuteListStore.migrations16
-rw-r--r--OpenSim/Data/SQLite/SQLiteEstateData.cs13
-rw-r--r--OpenSim/Data/SQLite/SQLiteMuteListData.cs71
-rw-r--r--OpenSim/Data/SQLite/SQLiteSimulationData.cs14
-rw-r--r--OpenSim/Data/SQLite/SQLiteUserProfilesData.cs4
6 files changed, 112 insertions, 14 deletions
diff --git a/OpenSim/Data/SQLite/Resources/EstateStore.migrations b/OpenSim/Data/SQLite/Resources/EstateStore.migrations
index 37fa1d9..b165b7b 100644
--- a/OpenSim/Data/SQLite/Resources/EstateStore.migrations
+++ b/OpenSim/Data/SQLite/Resources/EstateStore.migrations
@@ -63,7 +63,15 @@ CREATE TABLE IF NOT EXISTS estateban (
63 bannedIpHostMask varchar(16) NOT NULL, 63 bannedIpHostMask varchar(16) NOT NULL,
64 bannedNameMask varchar(64) default NULL 64 bannedNameMask varchar(64) default NULL
65); 65);
66
66CREATE INDEX estate_ban_estate_id on estateban(EstateID); 67CREATE INDEX estate_ban_estate_id on estateban(EstateID);
67 68
68COMMIT; 69COMMIT;
69 70
71:VERSION 11
72BEGIN;
73ALTER TABLE `estateban` ADD COLUMN `banningUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000';
74ALTER TABLE `estateban` ADD COLUMN `banTime` integer NOT NULL DEFAULT 0;
75COMMIT;
76
77
diff --git a/OpenSim/Data/SQLite/Resources/MuteListStore.migrations b/OpenSim/Data/SQLite/Resources/MuteListStore.migrations
new file mode 100644
index 0000000..f981ded
--- /dev/null
+++ b/OpenSim/Data/SQLite/Resources/MuteListStore.migrations
@@ -0,0 +1,16 @@
1:VERSION 1
2
3BEGIN TRANSACTION;
4
5CREATE TABLE MuteList (
6 AgentID char(36) NOT NULL,
7 MuteID char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
8 MuteName varchar(64) NOT NULL DEFAULT '',
9 MuteType int(11) NOT NULL DEFAULT '1',
10 MuteFlags int(11) NOT NULL DEFAULT '0',
11 Stamp int(11) NOT NULL,
12 UNIQUE (AgentID, MuteID, MuteName),
13 PRIMARY KEY(AgentID)
14);
15
16COMMIT;
diff --git a/OpenSim/Data/SQLite/SQLiteEstateData.cs b/OpenSim/Data/SQLite/SQLiteEstateData.cs
index 0fcab21..5e55323 100644
--- a/OpenSim/Data/SQLite/SQLiteEstateData.cs
+++ b/OpenSim/Data/SQLite/SQLiteEstateData.cs
@@ -278,7 +278,7 @@ namespace OpenSim.Data.SQLite
278 278
279 using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) 279 using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand())
280 { 280 {
281 cmd.CommandText = "select bannedUUID from estateban where EstateID = :EstateID"; 281 cmd.CommandText = "select * from estateban where EstateID = :EstateID";
282 cmd.Parameters.AddWithValue(":EstateID", es.EstateID); 282 cmd.Parameters.AddWithValue(":EstateID", es.EstateID);
283 283
284 r = cmd.ExecuteReader(); 284 r = cmd.ExecuteReader();
@@ -288,12 +288,11 @@ namespace OpenSim.Data.SQLite
288 { 288 {
289 EstateBan eb = new EstateBan(); 289 EstateBan eb = new EstateBan();
290 290
291 UUID uuid = new UUID(); 291 eb.BannedUserID = DBGuid.FromDB(r["bannedUUID"]); ;
292 UUID.TryParse(r["bannedUUID"].ToString(), out uuid);
293
294 eb.BannedUserID = uuid;
295 eb.BannedHostAddress = "0.0.0.0"; 292 eb.BannedHostAddress = "0.0.0.0";
296 eb.BannedHostIPMask = "0.0.0.0"; 293 eb.BannedHostIPMask = "0.0.0.0";
294 eb.BanningUserID = DBGuid.FromDB(r["banningUUID"]);
295 eb.BanTime = Convert.ToInt32(r["banTime"]);
297 es.AddBan(eb); 296 es.AddBan(eb);
298 } 297 }
299 r.Close(); 298 r.Close();
@@ -310,12 +309,14 @@ namespace OpenSim.Data.SQLite
310 309
311 cmd.Parameters.Clear(); 310 cmd.Parameters.Clear();
312 311
313 cmd.CommandText = "insert into estateban (EstateID, bannedUUID, bannedIp, bannedIpHostMask, bannedNameMask) values ( :EstateID, :bannedUUID, '', '', '' )"; 312 cmd.CommandText = "insert into estateban (EstateID, bannedUUID, bannedIp, bannedIpHostMask, bannedNameMask, banningUUID, banTime) values ( :EstateID, :bannedUUID, '', '', '', :banningUUID, :banTime )";
314 313
315 foreach (EstateBan b in es.EstateBans) 314 foreach (EstateBan b in es.EstateBans)
316 { 315 {
317 cmd.Parameters.AddWithValue(":EstateID", es.EstateID.ToString()); 316 cmd.Parameters.AddWithValue(":EstateID", es.EstateID.ToString());
318 cmd.Parameters.AddWithValue(":bannedUUID", b.BannedUserID.ToString()); 317 cmd.Parameters.AddWithValue(":bannedUUID", b.BannedUserID.ToString());
318 cmd.Parameters.AddWithValue(":banningUUID", b.BanningUserID.ToString());
319 cmd.Parameters.AddWithValue(":banTime", b.BanTime);
319 320
320 cmd.ExecuteNonQuery(); 321 cmd.ExecuteNonQuery();
321 cmd.Parameters.Clear(); 322 cmd.Parameters.Clear();
diff --git a/OpenSim/Data/SQLite/SQLiteMuteListData.cs b/OpenSim/Data/SQLite/SQLiteMuteListData.cs
new file mode 100644
index 0000000..80fd019
--- /dev/null
+++ b/OpenSim/Data/SQLite/SQLiteMuteListData.cs
@@ -0,0 +1,71 @@
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 OpenSimulator 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;
29using System.Collections;
30using System.Collections.Generic;
31using System.Data;
32using OpenMetaverse;
33using OpenSim.Framework;
34#if CSharpSqlite
35 using Community.CsharpSqlite.Sqlite;
36#else
37 using Mono.Data.Sqlite;
38#endif
39
40namespace OpenSim.Data.SQLite
41{
42 public class SQLiteMuteListData : SQLiteGenericTableHandler<MuteData>, IMuteListData
43 {
44 public SQLiteMuteListData(string connectionString)
45 : base(connectionString, "MuteList", "MuteListStore")
46 {
47 }
48
49 public MuteData[] Get(UUID agentID)
50 {
51 MuteData[] data = base.Get("AgentID", agentID.ToString());
52 return data;
53 }
54
55 public bool Delete(UUID agentID, UUID muteID, string muteName)
56 {
57 using (SqliteCommand cmd = new SqliteCommand())
58 {
59 cmd.CommandText = "delete from MuteList where `AgentID` = :AgentID and `MuteID` = :MuteID and `MuteName` = :MuteName";
60
61 cmd.Parameters.AddWithValue(":AgentID", agentID.ToString());
62 cmd.Parameters.AddWithValue(":MuteID", muteID.ToString());
63 cmd.Parameters.AddWithValue(":MuteName", muteName);
64
65 if (ExecuteNonQuery(cmd, m_Connection) > 0)
66 return true;
67 return false;
68 }
69 }
70 }
71} \ No newline at end of file
diff --git a/OpenSim/Data/SQLite/SQLiteSimulationData.cs b/OpenSim/Data/SQLite/SQLiteSimulationData.cs
index 19880de..1403a8f 100644
--- a/OpenSim/Data/SQLite/SQLiteSimulationData.cs
+++ b/OpenSim/Data/SQLite/SQLiteSimulationData.cs
@@ -823,7 +823,7 @@ namespace OpenSim.Data.SQLite
823 // Legacy entry point for when terrain was always a 256x256 hieghtmap 823 // Legacy entry point for when terrain was always a 256x256 hieghtmap
824 public void StoreTerrain(double[,] ter, UUID regionID) 824 public void StoreTerrain(double[,] ter, UUID regionID)
825 { 825 {
826 StoreTerrain(new HeightmapTerrainData(ter), regionID); 826 StoreTerrain(new TerrainData(ter), regionID);
827 } 827 }
828 828
829 /// <summary> 829 /// <summary>
@@ -835,8 +835,7 @@ namespace OpenSim.Data.SQLite
835 { 835 {
836 lock (ds) 836 lock (ds)
837 { 837 {
838 using ( 838 using (SqliteCommand cmd = new SqliteCommand("delete from terrain where RegionUUID=:RegionUUID", m_conn))
839 SqliteCommand cmd = new SqliteCommand("delete from terrain where RegionUUID=:RegionUUID", m_conn))
840 { 839 {
841 cmd.Parameters.Add(new SqliteParameter(":RegionUUID", regionID.ToString())); 840 cmd.Parameters.Add(new SqliteParameter(":RegionUUID", regionID.ToString()));
842 cmd.ExecuteNonQuery(); 841 cmd.ExecuteNonQuery();
@@ -1743,7 +1742,10 @@ namespace OpenSim.Data.SQLite
1743 1742
1744 prim.Sound = new UUID(row["LoopedSound"].ToString()); 1743 prim.Sound = new UUID(row["LoopedSound"].ToString());
1745 prim.SoundGain = Convert.ToSingle(row["LoopedSoundGain"]); 1744 prim.SoundGain = Convert.ToSingle(row["LoopedSoundGain"]);
1746 prim.SoundFlags = 1; // If it's persisted at all, it's looped 1745 if (prim.Sound != UUID.Zero)
1746 prim.SoundFlags = 1; // If it's persisted at all, it's looped
1747 else
1748 prim.SoundFlags = 0;
1747 1749
1748 if (!row.IsNull("TextureAnimation")) 1750 if (!row.IsNull("TextureAnimation"))
1749 prim.TextureAnimation = Convert.FromBase64String(row["TextureAnimation"].ToString()); 1751 prim.TextureAnimation = Convert.FromBase64String(row["TextureAnimation"].ToString());
@@ -1809,7 +1811,7 @@ namespace OpenSim.Data.SQLite
1809 } 1811 }
1810 else 1812 else
1811 { 1813 {
1812 prim.DynAttrs = new DAMap(); 1814 prim.DynAttrs = null;
1813 } 1815 }
1814 1816
1815 prim.PhysicsShapeType = Convert.ToByte(row["PhysicsShapeType"]); 1817 prim.PhysicsShapeType = Convert.ToByte(row["PhysicsShapeType"]);
@@ -2247,7 +2249,7 @@ namespace OpenSim.Data.SQLite
2247 row["AttachedPosY"] = prim.AttachedPos.Y; 2249 row["AttachedPosY"] = prim.AttachedPos.Y;
2248 row["AttachedPosZ"] = prim.AttachedPos.Z; 2250 row["AttachedPosZ"] = prim.AttachedPos.Z;
2249 2251
2250 if (prim.DynAttrs.CountNamespaces > 0) 2252 if (prim.DynAttrs!= null && prim.DynAttrs.CountNamespaces > 0)
2251 row["DynAttrs"] = prim.DynAttrs.ToXml(); 2253 row["DynAttrs"] = prim.DynAttrs.ToXml();
2252 else 2254 else
2253 row["DynAttrs"] = null; 2255 row["DynAttrs"] = null;
diff --git a/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs b/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
index 13aac79..2f22d54 100644
--- a/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
+++ b/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
@@ -926,7 +926,7 @@ namespace OpenSim.Data.SQLite
926 { 926 {
927 using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) 927 using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand())
928 { 928 {
929 cmd.CommandText = query; 929 cmd.CommandText = string.Format(query, "\"classifieds\"");
930 cmd.Parameters.AddWithValue(":Id", avatarId.ToString()); 930 cmd.Parameters.AddWithValue(":Id", avatarId.ToString());
931 931
932 using (reader = cmd.ExecuteReader(CommandBehavior.SingleRow)) 932 using (reader = cmd.ExecuteReader(CommandBehavior.SingleRow))
@@ -940,7 +940,7 @@ namespace OpenSim.Data.SQLite
940 940
941 using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) 941 using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand())
942 { 942 {
943 cmd.CommandText = query; 943 cmd.CommandText = string.Format(query, "\"userpicks\"");
944 cmd.Parameters.AddWithValue(":Id", avatarId.ToString()); 944 cmd.Parameters.AddWithValue(":Id", avatarId.ToString());
945 945
946 using (reader = cmd.ExecuteReader(CommandBehavior.SingleRow)) 946 using (reader = cmd.ExecuteReader(CommandBehavior.SingleRow))