diff options
Diffstat (limited to 'OpenSim/Data/SQLite')
-rw-r--r-- | OpenSim/Data/SQLite/Resources/EstateStore.migrations | 8 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Resources/MuteListStore.migrations | 16 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteEstateData.cs | 13 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteMuteListData.cs | 71 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteSimulationData.cs | 14 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteUserProfilesData.cs | 4 |
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 | |||
66 | CREATE INDEX estate_ban_estate_id on estateban(EstateID); | 67 | CREATE INDEX estate_ban_estate_id on estateban(EstateID); |
67 | 68 | ||
68 | COMMIT; | 69 | COMMIT; |
69 | 70 | ||
71 | :VERSION 11 | ||
72 | BEGIN; | ||
73 | ALTER TABLE `estateban` ADD COLUMN `banningUUID` varchar(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'; | ||
74 | ALTER TABLE `estateban` ADD COLUMN `banTime` integer NOT NULL DEFAULT 0; | ||
75 | COMMIT; | ||
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 | |||
3 | BEGIN TRANSACTION; | ||
4 | |||
5 | CREATE 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 | |||
16 | COMMIT; | ||
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 | |||
28 | using System; | ||
29 | using System.Collections; | ||
30 | using System.Collections.Generic; | ||
31 | using System.Data; | ||
32 | using OpenMetaverse; | ||
33 | using OpenSim.Framework; | ||
34 | #if CSharpSqlite | ||
35 | using Community.CsharpSqlite.Sqlite; | ||
36 | #else | ||
37 | using Mono.Data.Sqlite; | ||
38 | #endif | ||
39 | |||
40 | namespace 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)) |