Commit Graph

53 Commits

Author SHA1 Message Date
John Hurliman
afef1ac191 Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen 2009-11-05 13:10:58 -08: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
John Hurliman
730930955a Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff

* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()

* Improved the instantiation of PrimitiveBaseShape
2009-10-25 00:40:21 -07:00
John Hurliman
4790f8576c * Replaced (possibly broken?) math for calculating the unix timestamp in MySQLAssetData with Utils.DateTimeToUnixTime()
* Disabled UpdateAccessTime() function since it was only writing zeros anyways. This gave me a significant performance improvement for startup times and avatar logins in standalone mode
* Load attachments asynchronously so avatars with lots of attachments don't have to race the timeout clock to login
2009-10-14 19:23:44 -07:00
John Hurliman
e7c877407f * Continued work on the new LLUDP implementation. Appears to be functioning, although not everything is reimplemented yet
* Replaced logic in ThreadTracker with a call to System.Diagnostics that does the same thing
* Added Util.StringToBytes256() and Util.StringToBytes1024() to clamp output at byte[256] and byte[1024], respectively
* Fixed formatting for a MySQLAssetData error logging line
2009-10-06 02:38:00 -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
Jeff Ames
ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
Arthur Valadares
604ef5ba79 Fix issue where conversion of temporary boolean variable fails on MySQL 2009-08-21 17:48:45 -03:00
Kunnis
f1287cc7af * Switching IAssetData to follow the new naming schema, removing the separate insert and update methods. 2009-08-19 23:45:22 +01:00
Kunnis
d2e5380cb2 * Fixed MySQL/MySQLAssetData.cs to properly do updates * Removed an extra parameter from MySQL/MySQLInventoryData.cs * Fixed a bug in SQLite/SQLiteAssetData.cs that was causing a NRE when updating an asset. * Improved the BasicAssetTest.cs to do full create/update/get testing * Improved the BasicInventoryTest.cs to do full create/update/get of both a folder and an item * Moved the null ref tests to the start of the PropertyCompareConstraint.cs, so that it doesn't throw when passing in a null item 2009-08-16 14:17:29 -04:00
Kunnis
23d478f2fa Adding in Reflection-based testing, to ensure that all properties are covered. 2009-08-16 13:35:44 -04:00
Justin Clarke Casey
c3bb9ec42c * Apply asset and inventory name and description bound checks to MySQL 2009-07-24 20:01:17 +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
lbsa71
29355de6ee * Some more experimental work on distributed assets. Nothing hotwired yet.
* Introduced preprocess step in FetchAsset (Might revert this later)
  * Some minor CCC
  * Added actual implementation of GetUserProfile( uri ) and the corresponding handler to OGS1.
  * Introduced non-functioning GetUserUri( userProfile) awaiting user server wireup (this might move elsewhere)
2009-04-13 20:04:18 +00:00
Justin Clarke Casey
39c6302972 * Improve inventory uuid conversions to make sure that we aren't converting anything that already contains a -
* Among other things, this means that if a migration is interrupted, it can simply be retried
2009-04-09 18:17:52 +00:00
Mike Mazur
a2f07ecd2e Implemented FetchAssetMetadataSet in DB backends.
This method fetches metadata for a subset of the entries in the assets
database. This functionality is used in the ForEach calls in the asset
storage providers in AssetInventoryServer. With this implemented,
frontends such as the BrowseFrontend should now work.

- MySQL: implemented, sanity tested
- SQLite: implemented, sanity tested
- MSSQL: implemented, not tested
- NHibernate: not implemented
2009-03-09 07:29:34 +00:00
Mike Mazur
76c0935ec7 - remove the Metadata property from AssetBase and return all previous
properties as before
- prefix private variables with m_ in AssetBase.cs
- related to Mantis #3122, as mentioned in
  https://lists.berlios.de/pipermail/opensim-dev/2009-February/005088.html
- all services will likely need to be upgraded after this commit
2009-02-17 01:36:44 +00:00
lbsa71
801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Mike Mazur
0c03a48fb2 - add OpenSim.Framework.AssetMetadata class. AssetBase is now composed of it
- trim trailing whitespace
2009-02-04 00:01:36 +00:00
Mike Mazur
f8e45e8e98 Rename IAssetProviderPlugin to IAssetDataPlugin aligning with the other data plugins. 2009-02-03 05:20:03 +00:00
Mike Mazur
7aa216d574 Slight cleanup of docs, removing trailing whitespace. 2009-01-28 01:55:45 +00:00
Melanie Thielker
c5395feadd Avoid an invalid cast on legacy data 2009-01-18 23:31:13 +00:00
Homer Horwitz
fb49e010b7 Update the MySQL connector to 5.2.5. Fixes Mantids#2673. Thanks for the hint, jhurliman. 2008-12-22 19:49:17 +00:00
Sean Dague
629b0d9f28 add create_time and access_time to asset db for mysql, as well
as the code to update these at the appropriate time.  This isn't
surfaced in AssetBase yet.

Change the replace into to an insert into for asset create.  Assets
are not supposed to be updatable, and the replace into is more
expensive.

From: Sean Dague <sdague@gmail.com>
2008-11-06 21:21:46 +00:00
Sean Dague
6392671335 let the asset tests run on MySQL. Interesting difference here, the
sqlite driver can handle .Data = Null, the mysql driver can not.  We
should decide which is the right behavior and adjust code for it.
2008-09-24 20:43:32 +00:00
Teravus Ovares
7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* 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.
2008-09-06 07:52:41 +00:00
Sean Dague
49df787665 remove the legacy pre-Migration database upgrade paths 2008-08-27 18:51:42 +00:00
Jeff Ames
6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Mike Mazur
2270b25265 Thanks, sempuki, for a patch that moves all Grid Server's plugins to
PluginLoader. Fix issue 1871.
2008-07-31 09:24:28 +00:00
Mike Mazur
e0e0db3660 Thanks, sempuki, for a patch that moves all grid plugins to new PluginLoader (issue 1763). 2008-07-18 04:51:41 +00:00
Justin Clarke Casey
1813946937 * remove unused CommitAssets() hook for now 2008-07-07 19:18:44 +00:00
Charles Krinke
7fea52be35 Mantis#1661. Thank you kindly, CMickeyb for a patch that:
patch attached to check for timeouts on mysql connections *before* 
operations occur that are likely to timeout. if timeout occurs or 
the connections is down, it is reconnected before the operation fails.
2008-07-03 22:30:16 +00:00
Justin Clarke Casey
9052c43319 * 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
2008-07-02 16:20:54 +00:00
Justin Clarke Casey
31c63558c8 * Fix for http://opensimulator.org/mantis/view.php?id=1512
* Introduce experimental wait timeout checking to mysql region datastore code 
* This should mean that if the mysql connection has timed out, we should automatically reconnect and not fail or drop queries on region database manipulations
2008-06-29 18:10:38 +00:00
Dr Scofield
748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Charles Krinke
ca8d1d57e1 Mantis#1591. Thank you graciously, Sempuki for a patch that:
Currently module loading is done ad-hoc. I propose creating a simple 
loader class that leverages Mono.Addins (and perhaps the new .NET 
addins when they become available in mono). Attached is a basic 
patch for review that compiles into HEAD, but doesn't yet replace 
any existing ad-hoc loaders.
2008-06-27 02:15:57 +00:00
Jeff Ames
ca724636d4 Apply patch from bug #1601 -- more documentation for Data/MySQL. Thanks kerunix_Flan! 2008-06-26 12:38:03 +00:00
Jeff Ames
8a0a0f9bb5 Add patch from bug #1596 - adds Doxygen documentation in OpenSim.Data.MySQL files. Thanks kerunix_Flan! 2008-06-26 01:12:28 +00:00
Sean Dague
ec78a2871b the beginning of the great id format migration. This makes
asset uuids no longer binary.  I've tested this migration a
few times, and it seems working in all the scenarios I've found
but it wouldn't hurt to backup your asset db before running this
as it does touch a very sensitive part of our content system.
2008-06-16 14:10:51 +00:00
Sean Dague
e1140a4f9b this, in theory, adds migration support to mysql for all
data sources besides the grid store.  It is only lightly tested
so the less adventurous should wait a couple of checkins before
upgrading.
2008-06-12 15:47:33 +00:00
Jeff Ames
4ec4e16c80 Formatting cleanup, minor refactoring, svn properties. 2008-06-04 09:59:27 +00:00
Justin Clarke Casey
0c21f90ba7 * Duh, actually returning from the CreateAsset method once we know the asset exists would be better than carrying on 2008-05-31 21:54:13 +00:00
Justin Clarke Casey
7752211376 * Remove the mysql logging noise I accidentally left in a few commits ago 2008-05-31 21:53:17 +00:00
Justin Clarke Casey
d703e2004f * Change MySQL to check whether an asset already exists before inserting it into the database 2008-05-31 21:44:57 +00:00
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Jeff Ames
6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00
Justin Clarke Casey
d72bdf432a * Align new fields upgrade sql to have the same 'not null' and default settings as when an inventoryitems table is newly created
* Normalize logging titles in database code, though this doesn't yet cover invoking code
2008-05-01 13:27:40 +00:00
Sean Dague
c6f6218f60 in theory, let you pass the mysql connection string into the
mysql manager class.  This could use some testing of inventory
and asset services.  Once this is prooved out, I'll do it for
mssql as well.
2008-04-24 15:23:49 +00:00
Sean Dague
a1cc0e436f changes to allow asset_source to be specified in the opensim.ini
this will work for sqlite and nhibernate, but will be ignored for
mysql and mssql (reverting to their ini files) until someone writes
that bit.
2008-04-23 19:13:06 +00:00
Adam Frisby
fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00