Commit Graph

74 Commits (a27d49b1887700d78498ee0a369c2b3d93d2642c)

Author SHA1 Message Date
Melanie baaf660511 Merge branch 'master' into presence-refactor
This was a large, heavily conflicted merge and things MAY have got broken.
Please check!
2010-02-08 15:53:38 +00:00
Master ScienceSim e1b5c61247 Updated MySQL connection management to use the MySQL connection pooling. This should accommodate various timeout problems that exist with the current connection pool code in a more general and standard way. 2010-02-05 18:07:59 -08:00
Melanie 28d6705358 Preliminary work on the new default region setting mechanism 2010-01-09 20:46:32 +00:00
John Hurliman 6309fcc5b4 Reverting the memory leak patch for MySQL. Problems have been reported with the grid server after running for several hours 2009-11-02 11:19:55 -08:00
Melanie 09cd2ac443 Stop null values from being returned on database queries 2009-10-12 20:46:19 +01:00
Melanie 8a7a947faa Remove the using() constructs from the new style database modules; they caused
the underlying connection of a reader or command to be closed before the
reader or command itself. Added the proper logic to Close and dispose items
in CloseDBConnection. Readers and Connections need Close(), Commands need
Dispose(), in the order Reader, Command, Connection.
Also reinstated 80-column-friendly formatting
2009-10-06 14:30:25 +01:00
John Hurliman 6720369376 Added CloseDBConnection() to replace the old CloseReaderCommand(). This will close the MySQLConnection attached to a MySQLCommand. I'm not sure if this accounts for every time a database connection needs to be closed, but it matches up 1:1 with the places where the database connection was previously being closed 2009-10-05 16:39:40 -07:00
John Hurliman 29a4614529 * MySQL data tests now pass by fixing a bad fix for a bad cast on the asset Local member in MySQLAssetData
* 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)
2009-10-04 13:57:51 -07:00
Melanie 42746e99bd Make the RegionData plugin store the RegionName 2009-09-27 23:02:40 +01:00
Melanie 12640d0824 Prevent manually setting Data["locX"] and Data["locY"], since that would
overwrite the posX and posY members of the structure
2009-09-27 21:58:34 +01:00
Melanie b5bf3f87d5 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Data/MySQL/MySQLRegionData.cs
2009-09-27 21:25:10 +01:00
Melanie 8e091f5903 Add the Migration for the regions table 2009-09-27 21:17:23 +01:00
Justin Clark-Casey (justincc) 2995d87d75 minor: remove some mono compiler warnings 2009-09-25 19:29:40 +01:00
Diva Canto 6a5d7650d0 All tests pass for MySQL/MySQLRegionData.
Added OpenSim.GridServer.ini.example that I have been using for testing the ROBUST grid service with the GridClient.
2009-09-24 18:23:55 -07:00
Melanie 90a4d4f9f9 Adding the MySQL RegionData service. 2009-09-16 17:52:16 +01:00
Melanie f32de6fe88 Thank you, dslake, for a set of patches to improve OpenSim startup
and idle performance.
2009-09-02 03:33:31 +01:00
Kunnis 23d478f2fa Adding in Reflection-based testing, to ensure that all properties are covered. 2009-08-16 13:35:44 -04:00
Teravus Ovares (Dan Olivares) c8a68fb3fb * Remove hard coded 256 limitations from various places. There's no more 256m limitation within the OpenSimulator framework, however, the LLClient ClientView does not support regions larger then 256 meters so, if you try and make your region larger by setting Constants.RegionSize = 512; in OpenSim.Framework.Constants.cs, the terrain will not display on clients using the LLUDP protocol 2009-08-07 18:40:56 -04:00
Teravus Ovares 64bd9a3354 * Updates libOMV to version 0.7.0
* Uses mantis #3811 as a base (thanks jhuliman) with changes.
* E-mail regarding interface changes sent to the opensim-dev list 
* Archive: https://lists.berlios.de/pipermail/opensim-dev/2009-July/007219.html
2009-07-25 15:49:10 +00:00
Sean Dague fe21189aa4 From: Chris Yeoh <yeohc@au1.ibm.com>
Ooops, sorry there was a bug in the patch and causes an exception
on some system (I think it only happens on windows since it didn't
occur during my testin). I've attached a one liner which fixes the problem.
2009-06-30 13:50:12 +00:00
Sean Dague 3dc2010da6 From: Chris Yeoh <yeohc@au1.ibm.com>
Attached is a patch that changes the oar file saving of creation date/time to an integer
instead of a string. I did this after justincc emailed me saying there is a problem
with internationalisation doing it the old way and I said I'd fix it. Its been
tested with MySQL and I've made the changes for MSSQL but that hasn't been well tested.
2009-06-29 15:05:12 +00:00
Dr Scofield 717fd3b5b9 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch adds oar file date and time (UTC) meta data to an oar file
when it is created.  It also adds a unique ID, though this id does not
in anyway identify the machine that the oar file was created on.

When an oar file with this meta data is loaded this extra information
is saved with the region settings and available via LSL through:

- osLoadedCreationDate()
- osLoadedCreationTime()
- osLoadedCreationID()

If there is no meta data these fields will be blank. Subsequent oar
file loads will erase the information for the previous oar file
load. Persistence has only been implemented for MySQL, the other
backends need updating.

Overall this allows us to much more easily identify the specific version of
software that clients are using. Its very straightforward to edit the oar file
to change the ID string to be something more human friendly.

Included in the patch is a new file OpenSim/Data/MySQL/Resources/030_RegionStore.sql
required for the MySQL DB migration.

btw I had a chat with justincc about this a few weeks ago since he
wrote the oar file import/export and he sounded happy to accept
something that included date/time information but didn't want anything
that would silently leak private information like machine names.
2009-06-03 12:48:04 +00:00
Jeff Ames 840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Dr Scofield 901fdca13b From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-27 18:01:06 +00:00
Dr Scofield c18c1f6c7c Revert "From: Chris Yeoh <cyeoh@au1.ibm.com>"
This reverts r9666. for some reason the mysql update does not work.
2009-05-25 11:32:31 +00:00
Dr Scofield 0bff818d39 From: Chris Yeoh <cyeoh@au1.ibm.com>
The attached patch implements llPassTouches. It has been added
to the export/import XML along with the flag for AllowedInventoryDrop.

The MySQL backend has been updated as well, though I haven't
done one of those before so could do with a check. I added
the migration mysql file as well.

The other data backends need updating as well.
2009-05-25 11:26:36 +00:00
Justin Clarke Casey 2284c8509f * Consistently used dashed uuid format for mysql region data, as is done for all other tables
* This revision contains a mysql data migration.  Please backup your mysql region database as a precaution before using this code.
* I also advise that you do a runprebuild[.sh|.bat] and a clean build ("nant clean build" if you're using the command line).
* This change is needed for future id schemes
2009-05-07 14:20:32 +00:00
lbsa71 41c883ea47 * Refactored SOP.FolderID weirdness by removing calls to empty setter. YEs, I do realize the setter has to be there for legacy reasons, but since the calls will never acually DO anyhting, I'm removing them.
* So, SOP.FolderID is actually a cruft field that should be removed.
2009-02-25 11:01:38 +00:00
lbsa71 801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Dr Scofield 9b66108081 This changeset is the step 1 of 2 in refactoring
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.

The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.

I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
2009-02-06 16:55:34 +00:00
Justin Clarke Casey 13f069b945 * If an orphaned group is found in the mysql or mssql databases (i.e. there is no prim where UUID = SceneGroupID), then force one prim to have UUID = SceneGroupID.
* A warning is posted about this on startup giving the location of the object
* This should allow one class of persistently undeletable prims to be removed
* This change should not cause any issues, but I still suggest that you backup your database beforehand
* If this doesn't work for previously linked objects, then you could also try the workaround in http://opensimulator.org/mantis/view.php?id=3059
* This change has been made to mysql and mssql, but sqlite appears to work in a different way
2009-01-29 20:08:04 +00:00
Justin Clarke Casey e64d9b66a9 * Fix http://opensimulator.org/mantis/view.php?id=2889
* Primshapes uuid wasn't being converted to raw (non-dashed) format before being used in primshapes delete command
2008-12-23 20:41:52 +00:00
Sean Dague 444436db15 change a UUID cast to an actual new UUID call to be consistant with
the rest of the assignments here.
2008-12-08 17:06:47 +00:00
Sean Dague a260466147 fix an issue I found where primshapes weren't every being removed
because of a logic error.
attempt to speed up deletes a bit by batching up all the primitem
deletes and primshape deletes into single delete statements.  This
removes the lock/release/lock/release/lock/release for loop.
2008-12-08 16:29:48 +00:00
Justin Clarke Casey 26fd6c741f * Resolve http://opensimulator.org/mantis/view.php?id=2743 and http://opensimulator.org/mantis/view.php?id=2739 by no longer bothering to store or retrieve the local parentID in
the region database
* The original issue is that the now randomly generated local ids do not fit into the int parentID datatype
* However, as far as I know it's actually pointless to store this local parent ID anyway (we already store the groupUUID), especially as we don't bother to store the localID (as 
opposed to UUID itself).
* Conservatively, the actual column will be removed in a later commit
2008-12-02 14:59:52 +00:00
Melanie Thielker bf4ccf3858 Catch all possible exceptions in the mysql module. It throws non-mysql
exceptions as well.
2008-12-02 01:50:15 +00:00
Melanie Thielker 733faf9748 Fix the terrain loader 2008-12-01 19:08:58 +00:00
Melanie Thielker 5727146d61 More reverts. Revert the MySQL database module. This caused more issues
than it solved by trying to use, and then exhausting, the connection pool
2008-12-01 18:59:13 +00:00
Melanie Thielker 38380def17 More changes to the MySQL adapter. take advantage of pooling and run lock-free.
This should finally kill the "There is already an open data reader associated
with this connection, which must be closed first" error that makes people's
builds not save
2008-11-30 05:20:19 +00:00
Jeff Ames 077314cdd3 Update svn properties. Add copyright header. Minor formatting cleanup. 2008-11-30 00:51:40 +00:00
Melanie Thielker d579246257 Explicitly Dispose() all cmd objects 2008-11-29 21:24:54 +00:00
Justin Clarke Casey 8ba6b2b11a * minor: remove mono compiler warnings 2008-11-27 19:51:11 +00:00
Justin Clarke Casey c85e2a0fb0 * restore deleted method documentation, some to IRegionDataStore and some to MySQLRegionData
* I would like to keep documentation on methods, even if it sometimes seems obvious (and not all of these are)
2008-11-26 17:42:35 +00:00
Melanie Thielker fdf5f55a5b Yay for unit tests. Increased the type width of the prims and primshapes
tables, and changed the database modules to actually push these doubles
down into the database layer.
2008-11-26 12:23:56 +00:00
Melanie Thielker 3388584aa8 Fix 2 of the failed tests. Cause terrain queries to return null when no
terrain is found, rather than a default "0" terrain.
Remove the "remove object wrong region" test. UUIDs either are unique
or they're not. This test tested a bad behavior I have chosen not to 
duplicate.
2008-11-26 08:06:14 +00:00
Melanie Thielker 3efdccbb12 Committing the LCO database layer. Native MySQL, no ADO. New reconnect
mechanism to prevent prim loss. Preserve link order on sim restart
and drag copy. Fix drag-copied prims' inventories. Fix persistence
of child prim inventories.
2008-11-26 07:34:38 +00:00
Melanie Thielker 95fec14201 Remove code from an experimantal patch that wasn't supposed to be committed 2008-11-23 21:03:54 +00:00
Melanie Thielker fba9e3f513 Don't serve texture preview from other people's objects if you
havenever seen that texture before.
2008-11-23 20:39:51 +00:00
Justin Clarke Casey 915593bfbc * refactor: Rip out SOP inventory from the partial into a separate class
* SceneObjectPartInventory.cs isn't a particularly good name but it's probably not got a long life
* A proper inventory interface to follow
* Parallel changes for other inventory partial classes to follow at a later date
2008-11-21 21:16:42 +00:00
Charles Krinke 44c56a974c Mantis#2656. Thank you kindly, Nlin for a patch that:
Attached patch implements llCollisionSound. Thanks T. Sado.
2008-11-19 18:30:16 +00:00