aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-07-02 16:20:54 +0000
committerJustin Clarke Casey2008-07-02 16:20:54 +0000
commit9052c43319ab69f57b80e363d965780be625b0e2 (patch)
tree3e17e9c0908be54ecb01ddff824d6c1a32020e88 /OpenSim/Data
parentMantis#1647. Thank you kindly, Sempuki for a patch that: (diff)
downloadopensim-SC-9052c43319ab69f57b80e363d965780be625b0e2.zip
opensim-SC-9052c43319ab69f57b80e363d965780be625b0e2.tar.gz
opensim-SC-9052c43319ab69f57b80e363d965780be625b0e2.tar.bz2
opensim-SC-9052c43319ab69f57b80e363d965780be625b0e2.tar.xz
* Drop InvType from the assets table since it is no longer used
* Migration should be automatic on sqlite and mysql * Migration is not automatic on mssql, you will need to drop the invType column manually * Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
Diffstat (limited to 'OpenSim/Data')
-rw-r--r--OpenSim/Data/MSSQL/MSSQLAssetData.cs10
-rw-r--r--OpenSim/Data/MSSQL/MSSQLManager.cs1
-rw-r--r--OpenSim/Data/MSSQL/Resources/CreateAssetsTable.sql1
-rw-r--r--OpenSim/Data/MySQL/MySQLAssetData.cs8
-rw-r--r--OpenSim/Data/MySQL/Resources/004_AssetStore.sql5
-rw-r--r--OpenSim/Data/SQLite/Resources/002_AssetStore.sql10
-rw-r--r--OpenSim/Data/SQLite/SQLiteAssetData.cs12
7 files changed, 25 insertions, 22 deletions
diff --git a/OpenSim/Data/MSSQL/MSSQLAssetData.cs b/OpenSim/Data/MSSQL/MSSQLAssetData.cs
index 44d78ed..3f2e8a7 100644
--- a/OpenSim/Data/MSSQL/MSSQLAssetData.cs
+++ b/OpenSim/Data/MSSQL/MSSQLAssetData.cs
@@ -63,6 +63,7 @@ namespace OpenSim.Data.MSSQL
63 database.ExecuteResourceSql("CreateAssetsTable.sql"); 63 database.ExecuteResourceSql("CreateAssetsTable.sql");
64 return; 64 return;
65 } 65 }
66
66 } 67 }
67 68
68 /// <summary> 69 /// <summary>
@@ -114,9 +115,9 @@ namespace OpenSim.Data.MSSQL
114 115
115 SqlCommand cmd = 116 SqlCommand cmd =
116 new SqlCommand( 117 new SqlCommand(
117 "INSERT INTO assets ([id], [name], [description], [assetType], [invType], [local], [temporary], [data])" + 118 "INSERT INTO assets ([id], [name], [description], [assetType], [local], [temporary], [data])" +
118 " VALUES " + 119 " VALUES " +
119 "(@id, @name, @description, @assetType, @invType, @local, @temporary, @data)", 120 "(@id, @name, @description, @assetType, @local, @temporary, @data)",
120 database.getConnection()); 121 database.getConnection());
121 122
122 using (cmd) 123 using (cmd)
@@ -128,8 +129,6 @@ namespace OpenSim.Data.MSSQL
128 cmd.Parameters.AddWithValue("description", asset.Description); 129 cmd.Parameters.AddWithValue("description", asset.Description);
129 SqlParameter e = cmd.Parameters.Add("assetType", SqlDbType.TinyInt); 130 SqlParameter e = cmd.Parameters.Add("assetType", SqlDbType.TinyInt);
130 e.Value = asset.Type; 131 e.Value = asset.Type;
131 SqlParameter f = cmd.Parameters.Add("invType", SqlDbType.TinyInt);
132 f.Value = asset.InvType;
133 SqlParameter g = cmd.Parameters.Add("local", SqlDbType.TinyInt); 132 SqlParameter g = cmd.Parameters.Add("local", SqlDbType.TinyInt);
134 g.Value = asset.Local; 133 g.Value = asset.Local;
135 SqlParameter h = cmd.Parameters.Add("temporary", SqlDbType.TinyInt); 134 SqlParameter h = cmd.Parameters.Add("temporary", SqlDbType.TinyInt);
@@ -159,7 +158,6 @@ namespace OpenSim.Data.MSSQL
159 "name = @name, " + 158 "name = @name, " +
160 "description = @description," + 159 "description = @description," +
161 "assetType = @assetType," + 160 "assetType = @assetType," +
162 "invType = @invType," +
163 "local = @local," + 161 "local = @local," +
164 "temporary = @temporary," + 162 "temporary = @temporary," +
165 "data = @data where " + 163 "data = @data where " +
@@ -168,7 +166,6 @@ namespace OpenSim.Data.MSSQL
168 SqlParameter param2 = new SqlParameter("@name", asset.Name); 166 SqlParameter param2 = new SqlParameter("@name", asset.Name);
169 SqlParameter param3 = new SqlParameter("@description", asset.Description); 167 SqlParameter param3 = new SqlParameter("@description", asset.Description);
170 SqlParameter param4 = new SqlParameter("@assetType", asset.Type); 168 SqlParameter param4 = new SqlParameter("@assetType", asset.Type);
171 SqlParameter param5 = new SqlParameter("@invType", asset.InvType);
172 SqlParameter param6 = new SqlParameter("@local", asset.Local); 169 SqlParameter param6 = new SqlParameter("@local", asset.Local);
173 SqlParameter param7 = new SqlParameter("@temporary", asset.Temporary); 170 SqlParameter param7 = new SqlParameter("@temporary", asset.Temporary);
174 SqlParameter param8 = new SqlParameter("@data", asset.Data); 171 SqlParameter param8 = new SqlParameter("@data", asset.Data);
@@ -177,7 +174,6 @@ namespace OpenSim.Data.MSSQL
177 command.Parameters.Add(param2); 174 command.Parameters.Add(param2);
178 command.Parameters.Add(param3); 175 command.Parameters.Add(param3);
179 command.Parameters.Add(param4); 176 command.Parameters.Add(param4);
180 command.Parameters.Add(param5);
181 command.Parameters.Add(param6); 177 command.Parameters.Add(param6);
182 command.Parameters.Add(param7); 178 command.Parameters.Add(param7);
183 command.Parameters.Add(param8); 179 command.Parameters.Add(param8);
diff --git a/OpenSim/Data/MSSQL/MSSQLManager.cs b/OpenSim/Data/MSSQL/MSSQLManager.cs
index bea02fe..e421c5d 100644
--- a/OpenSim/Data/MSSQL/MSSQLManager.cs
+++ b/OpenSim/Data/MSSQL/MSSQLManager.cs
@@ -405,7 +405,6 @@ namespace OpenSim.Data.MSSQL
405 asset.Data = (byte[])reader["data"]; 405 asset.Data = (byte[])reader["data"];
406 asset.Description = (string)reader["description"]; 406 asset.Description = (string)reader["description"];
407 asset.FullID = new LLUUID((string)reader["id"]); 407 asset.FullID = new LLUUID((string)reader["id"]);
408 asset.InvType = Convert.ToSByte(reader["invType"]);
409 asset.Local = Convert.ToBoolean(reader["local"]); // ((sbyte)reader["local"]) != 0 ? true : false; 408 asset.Local = Convert.ToBoolean(reader["local"]); // ((sbyte)reader["local"]) != 0 ? true : false;
410 asset.Name = (string)reader["name"]; 409 asset.Name = (string)reader["name"];
411 asset.Type = Convert.ToSByte(reader["assetType"]); 410 asset.Type = Convert.ToSByte(reader["assetType"]);
diff --git a/OpenSim/Data/MSSQL/Resources/CreateAssetsTable.sql b/OpenSim/Data/MSSQL/Resources/CreateAssetsTable.sql
index c7cb21a..4d94699 100644
--- a/OpenSim/Data/MSSQL/Resources/CreateAssetsTable.sql
+++ b/OpenSim/Data/MSSQL/Resources/CreateAssetsTable.sql
@@ -6,7 +6,6 @@ CREATE TABLE [assets] (
6 [name] [varchar](64) NOT NULL, 6 [name] [varchar](64) NOT NULL,
7 [description] [varchar](64) NOT NULL, 7 [description] [varchar](64) NOT NULL,
8 [assetType] [tinyint] NOT NULL, 8 [assetType] [tinyint] NOT NULL,
9 [invType] [tinyint] NOT NULL,
10 [local] [tinyint] NOT NULL, 9 [local] [tinyint] NOT NULL,
11 [temporary] [tinyint] NOT NULL, 10 [temporary] [tinyint] NOT NULL,
12 [data] [image] NOT NULL, 11 [data] [image] NOT NULL,
diff --git a/OpenSim/Data/MySQL/MySQLAssetData.cs b/OpenSim/Data/MySQL/MySQLAssetData.cs
index d66a5c2..21d730d 100644
--- a/OpenSim/Data/MySQL/MySQLAssetData.cs
+++ b/OpenSim/Data/MySQL/MySQLAssetData.cs
@@ -164,7 +164,7 @@ namespace OpenSim.Data.MySQL
164 { 164 {
165 MySqlCommand cmd = 165 MySqlCommand cmd =
166 new MySqlCommand( 166 new MySqlCommand(
167 "SELECT name, description, assetType, invType, local, temporary, data FROM assets WHERE id=?id", 167 "SELECT name, description, assetType, local, temporary, data FROM assets WHERE id=?id",
168 _dbConnection.Connection); 168 _dbConnection.Connection);
169 cmd.Parameters.AddWithValue("?id", assetID.ToString()); 169 cmd.Parameters.AddWithValue("?id", assetID.ToString());
170 170
@@ -178,7 +178,6 @@ namespace OpenSim.Data.MySQL
178 asset.Data = (byte[]) dbReader["data"]; 178 asset.Data = (byte[]) dbReader["data"];
179 asset.Description = (string) dbReader["description"]; 179 asset.Description = (string) dbReader["description"];
180 asset.FullID = assetID; 180 asset.FullID = assetID;
181 asset.InvType = (sbyte) dbReader["invType"];
182 asset.Local = ((sbyte) dbReader["local"]) != 0 ? true : false; 181 asset.Local = ((sbyte) dbReader["local"]) != 0 ? true : false;
183 asset.Name = (string) dbReader["name"]; 182 asset.Name = (string) dbReader["name"];
184 asset.Type = (sbyte) dbReader["assetType"]; 183 asset.Type = (sbyte) dbReader["assetType"];
@@ -216,8 +215,8 @@ namespace OpenSim.Data.MySQL
216 215
217 MySqlCommand cmd = 216 MySqlCommand cmd =
218 new MySqlCommand( 217 new MySqlCommand(
219 "REPLACE INTO assets(id, name, description, assetType, invType, local, temporary, data)" + 218 "REPLACE INTO assets(id, name, description, assetType, local, temporary, data)" +
220 "VALUES(?id, ?name, ?description, ?assetType, ?invType, ?local, ?temporary, ?data)", 219 "VALUES(?id, ?name, ?description, ?assetType, ?local, ?temporary, ?data)",
221 _dbConnection.Connection); 220 _dbConnection.Connection);
222 221
223 // need to ensure we dispose 222 // need to ensure we dispose
@@ -229,7 +228,6 @@ namespace OpenSim.Data.MySQL
229 cmd.Parameters.AddWithValue("?name", asset.Name); 228 cmd.Parameters.AddWithValue("?name", asset.Name);
230 cmd.Parameters.AddWithValue("?description", asset.Description); 229 cmd.Parameters.AddWithValue("?description", asset.Description);
231 cmd.Parameters.AddWithValue("?assetType", asset.Type); 230 cmd.Parameters.AddWithValue("?assetType", asset.Type);
232 cmd.Parameters.AddWithValue("?invType", asset.InvType);
233 cmd.Parameters.AddWithValue("?local", asset.Local); 231 cmd.Parameters.AddWithValue("?local", asset.Local);
234 cmd.Parameters.AddWithValue("?temporary", asset.Temporary); 232 cmd.Parameters.AddWithValue("?temporary", asset.Temporary);
235 cmd.Parameters.AddWithValue("?data", asset.Data); 233 cmd.Parameters.AddWithValue("?data", asset.Data);
diff --git a/OpenSim/Data/MySQL/Resources/004_AssetStore.sql b/OpenSim/Data/MySQL/Resources/004_AssetStore.sql
new file mode 100644
index 0000000..9e9b9fe
--- /dev/null
+++ b/OpenSim/Data/MySQL/Resources/004_AssetStore.sql
@@ -0,0 +1,5 @@
1BEGIN;
2
3ALTER TABLE assets drop InvType;
4
5COMMIT;
diff --git a/OpenSim/Data/SQLite/Resources/002_AssetStore.sql b/OpenSim/Data/SQLite/Resources/002_AssetStore.sql
new file mode 100644
index 0000000..41ca640
--- /dev/null
+++ b/OpenSim/Data/SQLite/Resources/002_AssetStore.sql
@@ -0,0 +1,10 @@
1BEGIN TRANSACTION;
2
3CREATE TEMPORARY TABLE assets_backup(UUID,Name,Description,Type,Local,Temporary,Data);
4INSERT INTO assets_backup SELECT UUID,Name,Description,Type,Local,Temporary,Data FROM assets;
5DROP TABLE assets;
6CREATE TABLE assets(UUID,Name,Description,Type,Local,Temporary,Data);
7INSERT INTO assets SELECT UUID,Name,Description,Type,Local,Temporary,Data FROM assets_backup;
8DROP TABLE assets_backup;
9
10COMMIT;
diff --git a/OpenSim/Data/SQLite/SQLiteAssetData.cs b/OpenSim/Data/SQLite/SQLiteAssetData.cs
index 24c75e3..8fa09fc 100644
--- a/OpenSim/Data/SQLite/SQLiteAssetData.cs
+++ b/OpenSim/Data/SQLite/SQLiteAssetData.cs
@@ -50,8 +50,8 @@ namespace OpenSim.Data.SQLite
50 /// </summary> 50 /// </summary>
51 private const string SelectAssetSQL = "select * from assets where UUID=:UUID"; 51 private const string SelectAssetSQL = "select * from assets where UUID=:UUID";
52 private const string DeleteAssetSQL = "delete from assets where UUID=:UUID"; 52 private const string DeleteAssetSQL = "delete from assets where UUID=:UUID";
53 private const string InsertAssetSQL = "insert into assets(UUID, Name, Description, Type, InvType, Local, Temporary, Data) values(:UUID, :Name, :Description, :Type, :InvType, :Local, :Temporary, :Data)"; 53 private const string InsertAssetSQL = "insert into assets(UUID, Name, Description, Type, Local, Temporary, Data) values(:UUID, :Name, :Description, :Type, :Local, :Temporary, :Data)";
54 private const string UpdateAssetSQL = "update assets set Name=:Name, Description=:Description, Type=:Type, InvType=:InvType, Local=:Local, Temporary=:Temporary, Data=:Data where UUID=:UUID"; 54 private const string UpdateAssetSQL = "update assets set Name=:Name, Description=:Description, Type=:Type, Local=:Local, Temporary=:Temporary, Data=:Data where UUID=:UUID";
55 private const string assetSelect = "select * from assets"; 55 private const string assetSelect = "select * from assets";
56 56
57 private SqliteConnection m_conn; 57 private SqliteConnection m_conn;
@@ -134,7 +134,6 @@ namespace OpenSim.Data.SQLite
134 cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name)); 134 cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name));
135 cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description)); 135 cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description));
136 cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); 136 cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type));
137 cmd.Parameters.Add(new SqliteParameter(":InvType", asset.InvType));
138 cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); 137 cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local));
139 cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); 138 cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary));
140 cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); 139 cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
@@ -158,7 +157,6 @@ namespace OpenSim.Data.SQLite
158 cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name)); 157 cmd.Parameters.Add(new SqliteParameter(":Name", asset.Name));
159 cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description)); 158 cmd.Parameters.Add(new SqliteParameter(":Description", asset.Description));
160 cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type)); 159 cmd.Parameters.Add(new SqliteParameter(":Type", asset.Type));
161 cmd.Parameters.Add(new SqliteParameter(":InvType", asset.InvType));
162 cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local)); 160 cmd.Parameters.Add(new SqliteParameter(":Local", asset.Local));
163 cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary)); 161 cmd.Parameters.Add(new SqliteParameter(":Temporary", asset.Temporary));
164 cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data)); 162 cmd.Parameters.Add(new SqliteParameter(":Data", asset.Data));
@@ -180,9 +178,9 @@ namespace OpenSim.Data.SQLite
180 int assetLength = (asset.Data != null) ? asset.Data.Length : 0; 178 int assetLength = (asset.Data != null) ? asset.Data.Length : 0;
181 179
182 m_log.Info("[ASSET DB]: " + 180 m_log.Info("[ASSET DB]: " +
183 string.Format("Loaded {6} {5} Asset: [{0}][{3}/{4}] \"{1}\":{2} ({7} bytes)", 181 string.Format("Loaded {6} {5} Asset: [{0}][{3}] \"{1}\":{2} ({7} bytes)",
184 asset.FullID, asset.Name, asset.Description, asset.Type, 182 asset.FullID, asset.Name, asset.Description, asset.Type,
185 asset.InvType, temporary, local, assetLength)); 183 temporary, local, assetLength));
186 } 184 }
187 185
188 /// <summary> 186 /// <summary>
@@ -258,7 +256,6 @@ namespace OpenSim.Data.SQLite
258 // SQLiteUtil.createCol(assets, "Name", typeof (String)); 256 // SQLiteUtil.createCol(assets, "Name", typeof (String));
259 // SQLiteUtil.createCol(assets, "Description", typeof (String)); 257 // SQLiteUtil.createCol(assets, "Description", typeof (String));
260 // SQLiteUtil.createCol(assets, "Type", typeof (Int32)); 258 // SQLiteUtil.createCol(assets, "Type", typeof (Int32));
261 // SQLiteUtil.createCol(assets, "InvType", typeof (Int32));
262 // SQLiteUtil.createCol(assets, "Local", typeof (Boolean)); 259 // SQLiteUtil.createCol(assets, "Local", typeof (Boolean));
263 // SQLiteUtil.createCol(assets, "Temporary", typeof (Boolean)); 260 // SQLiteUtil.createCol(assets, "Temporary", typeof (Boolean));
264 // SQLiteUtil.createCol(assets, "Data", typeof (Byte[])); 261 // SQLiteUtil.createCol(assets, "Data", typeof (Byte[]));
@@ -291,7 +288,6 @@ namespace OpenSim.Data.SQLite
291 asset.Name = (String) row["Name"]; 288 asset.Name = (String) row["Name"];
292 asset.Description = (String) row["Description"]; 289 asset.Description = (String) row["Description"];
293 asset.Type = Convert.ToSByte(row["Type"]); 290 asset.Type = Convert.ToSByte(row["Type"]);
294 asset.InvType = Convert.ToSByte(row["InvType"]);
295 asset.Local = Convert.ToBoolean(row["Local"]); 291 asset.Local = Convert.ToBoolean(row["Local"]);
296 asset.Temporary = Convert.ToBoolean(row["Temporary"]); 292 asset.Temporary = Convert.ToBoolean(row["Temporary"]);
297 asset.Data = (byte[]) row["Data"]; 293 asset.Data = (byte[]) row["Data"];