From 8ed9e578968539ff991ffa8215e715c0e4c3be5d Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Wed, 30 Apr 2008 19:28:36 +0000 Subject: * Add a scratch implementation of the new inventory fields to the mssql database adapter * I don't use mssql so this may not work, corrections (in the form of patches) are welcome. * Unlike mysql, mssql requires manual updating of existing tables here (which should mean just adding the new fields manually) --- OpenSim/Data/MSSQL/MSSQLInventoryData.cs | 26 ++++++++++++++++++++--- OpenSim/Data/MSSQL/Resources/CreateItemsTable.sql | 4 ++-- OpenSim/Data/MySQL/MySQLInventoryData.cs | 12 +++++++---- 3 files changed, 33 insertions(+), 9 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Data/MSSQL/MSSQLInventoryData.cs b/OpenSim/Data/MSSQL/MSSQLInventoryData.cs index c524fc0..e23178c 100644 --- a/OpenSim/Data/MSSQL/MSSQLInventoryData.cs +++ b/OpenSim/Data/MSSQL/MSSQLInventoryData.cs @@ -321,6 +321,13 @@ namespace OpenSim.Data.MSSQL item.Creator = new LLUUID((string) reader["creatorID"]); item.BasePermissions = Convert.ToUInt32(reader["inventoryBasePermissions"]); item.EveryOnePermissions = Convert.ToUInt32(reader["inventoryEveryOnePermissions"]); + item.SalePrice = (int) reader["salePrice"]; + item.SaleType = Convert.ToByte(reader["saleType"]); + item.CreationDate = (int) reader["creationDate"]; + item.GroupID = new LLUUID(reader["groupID"].ToString()); + item.GroupOwned = Convert.ToBoolean(reader["groupOwned"]); + item.Flags = (uint) reader["flags"]; + return item; } catch (SqlException e) @@ -440,10 +447,16 @@ namespace OpenSim.Data.MSSQL string sql = "INSERT INTO inventoryitems"; sql += - "([inventoryID], [assetID], [assetType], [parentFolderID], [avatarID], [inventoryName], [inventoryDescription], [inventoryNextPermissions], [inventoryCurrentPermissions], [invType], [creatorID], [inventoryBasePermissions], [inventoryEveryOnePermissions]) VALUES "; + "([inventoryID], [assetID], [assetType], [parentFolderID], [avatarID], [inventoryName]" + + ", [inventoryDescription], [inventoryNextPermissions], [inventoryCurrentPermissions]" + + ", [invType], [creatorID], [inventoryBasePermissions], [inventoryEveryOnePermissions]" + + ", [salePrice], [saleType], [creationDate], [groupID], [groupOwned], [flags]) VALUES "; sql += - "(@inventoryID, @assetID, @assetType, @parentFolderID, @avatarID, @inventoryName, @inventoryDescription, @inventoryNextPermissions, @inventoryCurrentPermissions, @invType, @creatorID, @inventoryBasePermissions, @inventoryEveryOnePermissions);"; - + "(@inventoryID, @assetID, @assetType, @parentFolderID, @avatarID, @inventoryName, @inventoryDescription" + + ", @inventoryNextPermissions, @inventoryCurrentPermissions, @invType, @creatorID" + + ", @inventoryBasePermissions, @inventoryEveryOnePermissions, @salePrice, @saleType" + + ", @creationDate, @groupID, @groupOwned, @flags);"; + try { Dictionary param = new Dictionary(); @@ -460,6 +473,13 @@ namespace OpenSim.Data.MSSQL param["creatorID"] = item.Creator.ToString(); param["inventoryBasePermissions"] = Convert.ToString(item.BasePermissions); param["inventoryEveryOnePermissions"] = Convert.ToString(item.EveryOnePermissions); + + param["salePrice"] = Convert.ToString(item.SalePrice); + param["saleType"] = Convert.ToString(item.SaleType); + param["creationDate"] = Convert.ToString(item.CreationDate); + param["groupID"] = item.GroupID.ToString(); + param["groupOwned"] = Convert.ToString(item.GroupOwned); + param["flags"] = Convert.ToString(item.Flags); IDbCommand result = database.Query(sql, param); result.ExecuteNonQuery(); diff --git a/OpenSim/Data/MSSQL/Resources/CreateItemsTable.sql b/OpenSim/Data/MSSQL/Resources/CreateItemsTable.sql index 435d269..6f6bb43 100644 --- a/OpenSim/Data/MSSQL/Resources/CreateItemsTable.sql +++ b/OpenSim/Data/MSSQL/Resources/CreateItemsTable.sql @@ -19,10 +19,10 @@ CREATE TABLE [inventoryitems] ( [inventoryBasePermissions] [int] NOT NULL default 0, [inventoryEveryOnePermissions] [int] NOT NULL default 0, [salePrice] [int] default NULL, - [saleType] [smallint] default NULL, + [saleType] [tinyint] default NULL, [creationDate] [int] default NULL, [groupID] [varchar](36) default NULL, - [groupOwned] [smallint] default NULL, + [groupOwned] [tinyint] default NULL, [flags] [int] unsigned default NULL, PRIMARY KEY CLUSTERED ( diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs index 944c2f5..23d2ea5 100644 --- a/OpenSim/Data/MySQL/MySQLInventoryData.cs +++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs @@ -333,8 +333,6 @@ namespace OpenSim.Data.MySQL item.Creator = new LLUUID((string) reader["creatorID"]); item.BasePermissions = (uint) reader["inventoryBasePermissions"]; item.EveryOnePermissions = (uint) reader["inventoryEveryOnePermissions"]; - - // new fields item.SalePrice = (int) reader["salePrice"]; item.SaleType = Convert.ToByte(reader["saleType"]); item.CreationDate = (int) reader["creationDate"]; @@ -452,9 +450,15 @@ namespace OpenSim.Data.MySQL public void addInventoryItem(InventoryItemBase item) { string sql = - "REPLACE INTO inventoryitems (inventoryID, assetID, assetType, parentFolderID, avatarID, inventoryName, inventoryDescription, inventoryNextPermissions, inventoryCurrentPermissions, invType, creatorID, inventoryBasePermissions, inventoryEveryOnePermissions, salePrice, saleType, creationDate, groupID, groupOwned, flags) VALUES "; + "REPLACE INTO inventoryitems (inventoryID, assetID, assetType, parentFolderID, avatarID, inventoryName" + + ", inventoryDescription, inventoryNextPermissions, inventoryCurrentPermissions, invType" + + ", creatorID, inventoryBasePermissions, inventoryEveryOnePermissions, salePrice, saleType" + + ", creationDate, groupID, groupOwned, flags) VALUES "; sql += - "(?inventoryID, ?assetID, ?assetType, ?parentFolderID, ?avatarID, ?inventoryName, ?inventoryDescription, ?inventoryNextPermissions, ?inventoryCurrentPermissions, ?invType, ?creatorID, ?inventoryBasePermissions, ?inventoryEveryOnePermissions, ?salePrice, ?saleType, ?creationDate, ?groupID, ?groupOwned, ?flags)"; + "(?inventoryID, ?assetID, ?assetType, ?parentFolderID, ?avatarID, ?inventoryName, ?inventoryDescription" + + ", ?inventoryNextPermissions, ?inventoryCurrentPermissions, ?invType, ?creatorID" + + ", ?inventoryBasePermissions, ?inventoryEveryOnePermissions, ?salePrice, ?saleType, ?creationDate" + + ", ?groupID, ?groupOwned, ?flags)"; try { -- cgit v1.1