Besides, AssetData is slightly optimized to StoreAsset in one request
("IF EXISTS() UPDATE ... ELSE INSERT ...")
The main change in the MS SQL Inventory implem. is that it now return
empty list (or whatever) when called with UUID.Zero, which is consistent
with how the code for other DBs work.
I did no changes at all in XInventory, as there is no test set for them.
* First pass at applying the using(){} pattern to IDisposable objects. Always use the using pattern on IDisposable objects whenever possible, do not manually call .Close() or .Dispose() unless there is no other way to write the code. This pass mostly covers OpenSim.Data.MySQL, and should have no functional change (tests still pass)
* Changes varchar(36) columns to UUID type in MSSQL - this will be much more efficient
* ===As always, please, please backup your database before applying this patch===
* Thanks Ruud Lathrop (for the patch) and StrawberryFride (for the review)
* Updated MSSQL to reflect resend changes
* Added the new columns in prims table.
* Created a implementation for getting gestures.
* Remove configurable table names for user.
* Thanks Ruud Lathorp
Active gestures are sent as part of the login-response. Added
fetchActiveGestures to SQLite and MySQL; added an empty one for MSSQL and
NHibernate. Using the empty ones won't cause errors, but doesn't provide
persistence either, of course.
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle.
* This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big!
* Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
Many issues with handling connections in MSSQL, have rearchitected to
ensure that connections are always opened and closed in a timely fashion
& disposed of cleanly, and removed unnecessary lock statements. SQL
Server performance seems to have improved considerably as a result,
and various timeout errors seem to have been fixed.
I have detected a bug of conversion data type in OpenSim.Data.MSSQL.MSSQLInventoryData.addInventoryItem(InventoryItemBase item)
in the GroupOwned field.
My sollution is to change the flield to bit in the table. In the
readInventoryItem(IDataReader reader) change too item.Flags =
(uint) reader["flags"]; to item.Flags = Convert.ToUInt32(reader["flags"]);
Now Inventory runs fine.
* 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)