diff options
Diffstat (limited to 'OpenSim/Data/SQLite/SQLiteXInventoryData.cs')
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteXInventoryData.cs | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/OpenSim/Data/SQLite/SQLiteXInventoryData.cs b/OpenSim/Data/SQLite/SQLiteXInventoryData.cs index 0d211b6..16f9046 100644 --- a/OpenSim/Data/SQLite/SQLiteXInventoryData.cs +++ b/OpenSim/Data/SQLite/SQLiteXInventoryData.cs | |||
@@ -29,7 +29,11 @@ using System; | |||
29 | using System.Data; | 29 | using System.Data; |
30 | using System.Reflection; | 30 | using System.Reflection; |
31 | using System.Collections.Generic; | 31 | using System.Collections.Generic; |
32 | using Mono.Data.Sqlite; | 32 | #if CSharpSqlite |
33 | using Community.CsharpSqlite.Sqlite; | ||
34 | #else | ||
35 | using Mono.Data.Sqlite; | ||
36 | #endif | ||
33 | using log4net; | 37 | using log4net; |
34 | using OpenMetaverse; | 38 | using OpenMetaverse; |
35 | using OpenSim.Framework; | 39 | using OpenSim.Framework; |
@@ -37,7 +41,7 @@ using OpenSim.Framework; | |||
37 | namespace OpenSim.Data.SQLite | 41 | namespace OpenSim.Data.SQLite |
38 | { | 42 | { |
39 | /// <summary> | 43 | /// <summary> |
40 | /// A MySQL Interface for the Asset Server | 44 | /// A SQLite Interface for the Asset Server |
41 | /// </summary> | 45 | /// </summary> |
42 | public class SQLiteXInventoryData : IXInventoryData | 46 | public class SQLiteXInventoryData : IXInventoryData |
43 | { | 47 | { |
@@ -49,7 +53,7 @@ namespace OpenSim.Data.SQLite | |||
49 | public SQLiteXInventoryData(string conn, string realm) | 53 | public SQLiteXInventoryData(string conn, string realm) |
50 | { | 54 | { |
51 | m_Folders = new SQLiteGenericTableHandler<XInventoryFolder>( | 55 | m_Folders = new SQLiteGenericTableHandler<XInventoryFolder>( |
52 | conn, "inventoryfolders", "InventoryStore"); | 56 | conn, "inventoryfolders", "XInventoryStore"); |
53 | m_Items = new SqliteItemHandler( | 57 | m_Items = new SqliteItemHandler( |
54 | conn, "inventoryitems", String.Empty); | 58 | conn, "inventoryitems", String.Empty); |
55 | } | 59 | } |
@@ -66,11 +70,19 @@ namespace OpenSim.Data.SQLite | |||
66 | 70 | ||
67 | public bool StoreFolder(XInventoryFolder folder) | 71 | public bool StoreFolder(XInventoryFolder folder) |
68 | { | 72 | { |
73 | if (folder.folderName.Length > 64) | ||
74 | folder.folderName = folder.folderName.Substring(0, 64); | ||
75 | |||
69 | return m_Folders.Store(folder); | 76 | return m_Folders.Store(folder); |
70 | } | 77 | } |
71 | 78 | ||
72 | public bool StoreItem(XInventoryItem item) | 79 | public bool StoreItem(XInventoryItem item) |
73 | { | 80 | { |
81 | if (item.inventoryName.Length > 64) | ||
82 | item.inventoryName = item.inventoryName.Substring(0, 64); | ||
83 | if (item.inventoryDescription.Length > 128) | ||
84 | item.inventoryDescription = item.inventoryDescription.Substring(0, 128); | ||
85 | |||
74 | return m_Items.Store(item); | 86 | return m_Items.Store(item); |
75 | } | 87 | } |
76 | 88 | ||
@@ -79,11 +91,21 @@ namespace OpenSim.Data.SQLite | |||
79 | return m_Folders.Delete(field, val); | 91 | return m_Folders.Delete(field, val); |
80 | } | 92 | } |
81 | 93 | ||
94 | public bool DeleteFolders(string[] fields, string[] vals) | ||
95 | { | ||
96 | return m_Folders.Delete(fields, vals); | ||
97 | } | ||
98 | |||
82 | public bool DeleteItems(string field, string val) | 99 | public bool DeleteItems(string field, string val) |
83 | { | 100 | { |
84 | return m_Items.Delete(field, val); | 101 | return m_Items.Delete(field, val); |
85 | } | 102 | } |
86 | 103 | ||
104 | public bool DeleteItems(string[] fields, string[] vals) | ||
105 | { | ||
106 | return m_Items.Delete(fields, vals); | ||
107 | } | ||
108 | |||
87 | public bool MoveItem(string id, string newParent) | 109 | public bool MoveItem(string id, string newParent) |
88 | { | 110 | { |
89 | return m_Items.MoveItem(id, newParent); | 111 | return m_Items.MoveItem(id, newParent); |
@@ -115,7 +137,7 @@ namespace OpenSim.Data.SQLite | |||
115 | cmd.Parameters.Add(new SqliteParameter(":ParentFolderID", newParent)); | 137 | cmd.Parameters.Add(new SqliteParameter(":ParentFolderID", newParent)); |
116 | cmd.Parameters.Add(new SqliteParameter(":InventoryID", id)); | 138 | cmd.Parameters.Add(new SqliteParameter(":InventoryID", id)); |
117 | 139 | ||
118 | return ExecuteNonQuery(cmd) == 0 ? false : true; | 140 | return ExecuteNonQuery(cmd, m_Connection) == 0 ? false : true; |
119 | } | 141 | } |
120 | 142 | ||
121 | public XInventoryItem[] GetActiveGestures(UUID principalID) | 143 | public XInventoryItem[] GetActiveGestures(UUID principalID) |
@@ -137,7 +159,7 @@ namespace OpenSim.Data.SQLite | |||
137 | cmd.Parameters.Add(new SqliteParameter(":PrincipalID", principalID.ToString())); | 159 | cmd.Parameters.Add(new SqliteParameter(":PrincipalID", principalID.ToString())); |
138 | cmd.Parameters.Add(new SqliteParameter(":AssetID", assetID.ToString())); | 160 | cmd.Parameters.Add(new SqliteParameter(":AssetID", assetID.ToString())); |
139 | 161 | ||
140 | IDataReader reader = ExecuteReader(cmd); | 162 | IDataReader reader = ExecuteReader(cmd, m_Connection); |
141 | 163 | ||
142 | int perms = 0; | 164 | int perms = 0; |
143 | 165 | ||
@@ -147,8 +169,8 @@ namespace OpenSim.Data.SQLite | |||
147 | } | 169 | } |
148 | 170 | ||
149 | reader.Close(); | 171 | reader.Close(); |
150 | |||
151 | //CloseCommand(cmd); | 172 | //CloseCommand(cmd); |
173 | |||
152 | return perms; | 174 | return perms; |
153 | } | 175 | } |
154 | } | 176 | } |