Commit Graph

12510 Commits (ed01e9162d1ae0a39b4fcf7e238c975efddfc95b)

Author SHA1 Message Date
AlexRa 9976cb93ce Further corrections to MS SQL stores (now passes all tests)
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.
2010-05-23 11:48:19 +03:00
AlexRa ebc2b6d4f6 Split migrations for RegionStore and EstateStore (see WARNING!)
ok, so the estate stores now want their own migration files, but as it
happened the SQL definition were inside the Region migrations.
It seems better/cleaner to keep each 'store' separately updatable.

WARNING: any editing in the middle of the migration scripts (as opposite
to just appending to them) has the potential of messing up updates of
existing databases.  As far as I can see, this one is (probably) safe,
the worst that could happen is the EstateStore migration silently fail
if the estate the tables are already there.
2010-05-23 11:48:16 +03:00
AlexRa 724305c37b Prebuild: removed DB-specific test projects, added refs to Data.Tests 2010-05-23 11:48:13 +03:00
AlexRa 2537acc04d Unitests: Asset, Estate, Region (the "legacy" one), Inventory
The tests have been modified to work under NUnit 2.4.6
(the one currently used in the project).

They will also work with NUnit 2.5+ as is, but will look better
if you #define NUNIT25 for them.
2010-05-23 11:48:10 +03:00
AlexRa 330ad501a5 Added MS SQL test conn to INI - only as an example, modify before use!!!
NOTE that this INI file is currently loaded as a embedded RESOURCE, which is weird and has a
disadvantage of having to rebuild the Tests whenever the conn strings are changed.
The only reason is that I couldn't figure out a reliable way to put this INI into the correct
dir at runtime. If somebody can do it, that would be cool.
2010-05-23 11:48:08 +03:00
AlexRa 40031e6d37 Removed MySql and SQLite-specific asset test files 2010-05-23 11:48:05 +03:00
AlexRa b1e6e99506 BasicAssetTest.cs replaced by AssetTests.cs
AssetTests: The name has changed to reflect the fact it is no longer a base class,
but the complete asset test for all supported databases.

The test can also check storing of CreatorID, but the feature is
disabled at this commit!
2010-05-23 11:48:02 +03:00
AlexRa 749cf0f6eb Bugfix in tests (must clear db before migrations, not after) 2010-05-23 11:47:59 +03:00
AlexRa f527584ed3 EstateData tests passing on all DBs 2010-05-23 11:47:56 +03:00
AlexRa 94f4c20866 Corrections in RegionTests.cs. It now fully works!
The problem was that some tests relied on prior tests
to leave the DB in a particular state, but the test class
cleared the DB every time. The affected tests have been
merged into one to remove the dependencies.

tested on all 3 Dbs, all tests green.
2010-05-23 11:47:54 +03:00
AlexRa 6322a085b3 Minor corrections in BasicDataServiceTest.cs
(added more functions for cleaning up DB from the
derived tests)
2010-05-23 11:47:51 +03:00
AlexRa 187a98615b MSSQL: added asset_flags, CreatorID to migrations 2010-05-23 11:47:48 +03:00
AlexRa 49f4cc4246 MSSQLAssetData updated to support [CreatorID], [asset_flags] 2010-05-23 11:47:45 +03:00
AlexRa f7bf3facff MSSQLAssetData: fixed some weirdness
Fixed unfinished SQL in FetchAssetMetadataSet, fixed SQL
in UpdateAsset (must not modify ID).

NOT tested!  But apparently shouldn't work worse than the previous version,
esp. the FetchMetadata thing.
2010-05-23 11:47:42 +03:00
AlexRa 7f70ae0ebd All data tests made DBMS-independent 2010-05-23 11:47:39 +03:00
AlexRa 91ad1f4ee7 Added generic base classes for testing database services
These are some generic classes that simplify writing tests
for any of the data connectors and databases. Among other
things, configuring the connection strings is done once,
in a separate resource file.

Tests based on the new BasicDataServiceTest class require
NUnit 2.5 or better.
2010-05-23 11:47:36 +03:00
Melanie f84f0dbd51 Remove an unneeded conditional 2010-05-23 06:12:40 +01:00
Justin Clark-Casey (justincc) b2197e3b94 Apply http://opensimulator.org/mantis/view.php?id=4632
Adds dialog methods for MRM.
Thanks ziah.
2010-05-21 23:37:05 +01:00
Justin Clark-Casey (justincc) 074937e0e5 Apply http://opensimulator.org/mantis/view.php?id=4627
Adds OwnerId and CreatorId properties to MRM.IObject
2010-05-21 23:34:47 +01:00
Justin Clark-Casey (justincc) e5bcd8b341 Apply adaption of patch in http://opensimulator.org/mantis/view.php?id=4628
This prevents a ground-sitting avatar from being moved about in mouselook
Thanks mirceakitsune!
2010-05-21 23:29:37 +01:00
Justin Clark-Casey (justincc) 9e61e120a1 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-05-21 23:12:47 +01:00
Mikko Pallari 4e45718833 Added overload of SendGenericMessage to LLClientView with string list as parameter. Now modules themselfs don't necessarily need to convert strings to byte arrays. Added this as it was removed in LightShare patch. 2010-05-21 23:08:07 +01:00
Justin Clark-Casey (justincc) 6918446fcd Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-05-21 22:17:58 +01:00
John Hurliman d0eecf0398 Added a sanity check before using m_config in the Scene constructor 2010-05-21 14:17:03 -07:00
John Hurliman abd5d1f747 * Added code comments to Prioritizer.cs that document how to add a new update priority policy 2010-05-21 14:04:10 -07:00
Justin Clark-Casey (justincc) 89f1ddb0a5 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-05-21 21:58:55 +01:00
Justin Clark-Casey (justincc) 5287c5f7fb rearrange SceneGraph.AddSceneObject() to return earlier if an object with that uuid is already in the scene
this means that we don't perform pointless work
2010-05-21 21:57:56 +01:00
John Hurliman 93ef65c690 * Moving all of the prioritization/reprioritization code into a new file Prioritizer.cs
* Simplified the interest management code to make it easier to add new policies. Prioritization and reprioritization share code paths now
* Improved the distance and front back policies to always give your avatar the highest priority
2010-05-21 13:55:36 -07:00
Justin Clark-Casey (justincc) 4b518e0288 minor: remove LongRunning test designator from TestAddSceneObject() since it isn't, really 2010-05-21 21:48:47 +01:00
Justin Clark-Casey (justincc) 76135eec5b add test to make sure that adding an object where one already exists in the scene with that uuid fails 2010-05-21 21:46:41 +01:00
Justin Clark-Casey (justincc) 8d968249ec extend TestAddSceneObject() to check Scene.AddNewSceneObject() return boolean
improve test to retrieve object by known uuid rather than dynamically assigned local id
2010-05-21 21:38:47 +01:00
Justin Clark-Casey (justincc) f83acf533b Fix a problem where SceneGraph.AddSceneObject() would return false on successfully adding an object rather than true, in defiance of its method documentation
This meant that the returns were inconsistent - false would be returned both for various scene object failure conditions (e.g. root part was null) and if the object was successfully added.
2010-05-21 21:22:53 +01:00
Melanie 4e23acb133 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-05-21 21:04:17 +01:00
Melanie 2b5b2f4e60 Add a new priority scheme that works like FrontBack, but completely deprioritizes
static prims, creating a hierarchy as follows:
0 == own avatar < other avatars < pysical prims < static prims
For a child agent, simply acts like FrontBack
2010-05-21 21:02:26 +01:00
Justin Clark-Casey (justincc) 721c1085da make oar object filename/pathname creation a helper method
reused in both tests and oar code
reduction in checking is outweighed by greater test clarity
2010-05-21 20:43:11 +01:00
Justin Clark-Casey (justincc) 682efe9463 minor: refactor CreateAsset to eliminate dupe code 2010-05-21 19:41:00 +01:00
Justin Clark-Casey (justincc) 74ef1ed36f add prim item and test asset save in save oar unit test 2010-05-21 19:36:39 +01:00
Justin Clark-Casey (justincc) 78a0fd5281 Only send dialogs and notices to root agents, not child agents 2010-05-21 17:22:39 +01:00
Melanie 1d6ab445ab Change the way the object perms are propagated to attempt to salvage
some older content
2010-05-21 15:31:27 +01:00
Melanie a2e24377b4 Replace CSJ2K with fixed version (Mantis #3318) 2010-05-21 15:26:04 +01:00
John Hurliman 9f2d1e9294 * Made PriorityQueue non-generic so it natively understands EntityUpdate structs
* Replaced the per-avatar seen update tracking with update flag combining, to avoid overwriting full updates with terse updates
2010-05-20 23:53:27 -07:00
Melanie Thielker 792e149c7e Ensure that the first update sent out for any given prim is a full update 2010-05-21 05:13:31 +01:00
Diva Canto 213e372253 Cleaned up MySql migrations a bit more, got rid of all old-form migration files. Restored Presence table to its taboo-breaking form. 2010-05-20 20:24:50 -07:00
Diva Canto 13c22015e5 Removed sessionID from GridUserservice again. Removed parcel crossing detection from Robust connector. Fixed Simian to continue to send those location updates upon parcel crossing, without changing the interface. 2010-05-20 15:14:14 -07:00
unknown beed74096c Merging slimupdates2 2010-05-20 12:28:13 -07:00
unknown 56f3cb6da0 * Don't send texture data for prims in ImprovedTerseObjectUpdate packets unless we were asked to 2010-05-20 12:04:12 -07:00
unknown 59dec2f989 * Added sessionID to IGridUserService.SetLastPosition(), as some connectors will want to track position against sessionID instead of userID
* Updated SimianPresenceServiceConnector to use the new LoggedOut/SetHome/etc methods and only update session position on parcel crossing
2010-05-20 11:51:57 -07:00
Melanie 859beaf830 Revert one of the previous patches' hunks. The new code looked better, but
was less efficient.
2010-05-20 11:03:38 +01:00
AlexRa ce787a4c41 Series of patches to include creator ID in assets.
Contains a migration.

SQLite: May contain nuts.

The SQLite migration copies the entire asset table. Be prepared for quite a wait. Don't interrupt it. Back up your assets db.

BasicAssetTest checks CreatorID storage, new test for weird CreatorID

(now also checks that non-GUID or empty CreatorID gets stored correctly)

Signed-off-by: Melanie <melanie@t-data.com>
2010-05-20 11:01:51 +01:00
AlexRa d6a6668bd7 Scrambled asset type in BasicAssetTest.cs!
The asset type wasn't in the list of "DontScramble" fields,
so the test assets were stored with randomized type, which
caused exception on reading them.

Also the scrambler was moved from local var to the class level,
so it could be used in the new tests I've added (see the next commit).
2010-05-19 21:50:34 +03:00