Commit Graph

57 Commits

Author SHA1 Message Date
Adam Frisby
569ba9eb9a Terrain:
* Attempted fix for lag/pause when doing lots of updates.
* Some naming fixes to libTerrain.
* Refactored terrain bitmap generation into a common call for both world map and export.

General:
* Switched some calls to Console.WriteLine to use MainLog.Warn/Verbose/Notice.
2007-09-25 11:48:43 +00:00
Sean Dague
8dda11d17e fix to do hollow prims correctly. Reported from
http://bug.opensecondlife.org/view.php?id=394
2007-09-22 18:41:01 +00:00
Sean Dague
888133e987 add some locks around DataSet manipulation to ensure we are doing this
safely
2007-09-13 13:10:21 +00:00
lbsa71
615487a756 Backup is now optional on classes
* Removed unused BackUp method on EntityBase
* Added overridable InSceneBackup property on SceneObjectGroup
* Refactored out AttachToBackup and DetachFromBackup
* Normalized namespace OpenSim.DataStore.MonoSqliteStorage to OpenSim.DataStore.MonoSqlite
2007-09-13 05:25:26 +00:00
MW
15423539f9 hooked up sdague new sqlite asset database provider to the old asset system. So we can still use sqlite for assets while we wait for the rest of the new asset system to be wrote.
Needs more testing, so if it causes problems will have to swap back to db4o.
2007-09-10 06:45:54 +00:00
Sean Dague
2163fc75eb remove some more rote Verbose strings, leave only ones that actually have something
interesting to say
2007-08-31 13:03:39 +00:00
Sean Dague
a37275fe40 change debugging around failed prim loading. I have one prim that doesn't
like loading in my environment, and hopefully this will help figure out
what is going on
2007-08-31 11:48:29 +00:00
MW
9c0a855088 Remove a debug line. 2007-08-29 16:48:44 +00:00
MW
334dce42e7 Fixed the problem of prims not being loaded from the database (that my last commit created). 2007-08-29 16:35:22 +00:00
Sean Dague
2b3b1faf6d use order by ParentID to ensure root prims are selected first 2007-08-28 15:33:22 +00:00
MW
9a09b7532d Removed last commit, as sdague has also done a fix. 2007-08-28 15:29:37 +00:00
MW
1c503ad270 Attempt to track down the loading prims error. So Temporary fix to see if it is what we think. 2007-08-28 15:27:27 +00:00
MW
8e3b2392d1 Start of trying to make Region/Scene more modular.
Added preliminary IRegionModule interface.
Also have a work in progress way of Modules registering optional API methods (kind of like Apache optional functions). But there must be a cleaner/nicer way in c# of doing these than the current way.
Added three work in progress modules: ChatModule (simple handles in world chat, but by moving this to a module, we could support other types of chat modules, ie like a irc - opensim bridge module. ) , AvatarProfilesModule and XferModule. 
Moved most of the code from  Scene.ModifyTerrain() into the BasicTerrain library, as the start of trying to make that more modular. 
Stopped Child agents showing up as part of the "show users" command.
2007-08-28 14:21:17 +00:00
Sean Dague
ac0d58fd33 get rid of my debugging, it causes a crash on multiple backups 2007-08-27 16:14:48 +00:00
Sean Dague
247b9c3573 some debugging to see if there are easy optimizations here for update 2007-08-27 15:51:39 +00:00
Sean Dague
c35e3b1f35 updated to include saving of object flags.
People will need to blow away their databases after this point.
2007-08-25 13:06:09 +00:00
Sean Dague
2ca00ba47e add some better verbose statements to get a better feel for what is going
on in the data paths
2007-08-24 18:52:41 +00:00
MW
bbc7b5b847 Added temporary fix for the sqlite datastore exception in windows .Net, Added a Try catch block around "shapeDa.Fill(ds.Tables["primshapes"]);" line. Seems if the database file is empty (ie opensim has just created it or nothing has been stored in it yet.) then the exception will be fired and catch, then opensim can continue and have no problems (it will still save prims fine), then on next restart if the database file has entries in it, the exception will no longer be thrown. 2007-08-24 13:35:51 +00:00
Sean Dague
c296ad684b attempted fix for .NET issue with the database 2007-08-24 12:02:52 +00:00
Sean Dague
f6e0791e04 Add region to db 2007-08-23 19:48:21 +00:00
Sean Dague
ff7164196d I think this fixes blob save/load issues (though I'm still not convinced this
will handle > 8k textures yet).  Need MW to test to see if this gets rid of his
issue.  

There is commented code left in here for now until we know it is fixed
2007-08-23 19:28:09 +00:00
Sean Dague
8c9f006dd3 grouping of functions to make the overall logic easier to grasp for people,
and start to show how this can be super classed with some common elements.
2007-08-23 15:16:53 +00:00
Sean Dague
742846d9e6 fix typo 2007-08-23 13:08:52 +00:00
Sean Dague
1f45f688b2 setup test tables function which lets us make sure that everything
we are going to ask for from the database is actually there.  This
will let us bail early with a useful error message, instead of late
with a hard to understand one.

Do some other cleanups to get rid of debug input I put in
2007-08-22 21:45:26 +00:00
Sean Dague
1fa2d487aa Bit of refactoring of the sqlite storage code to build the
data definition in ado.net objects up front.  This makes auto
generating the sql commands work a lot more reliably.
2007-08-22 21:09:38 +00:00
Sean Dague
6f6432864d auto create sqlite database if it doesn't exist. This works, but needs some
cleaning up prior to release.  However this should make it easy for people
to start using sqlite storage.
2007-08-21 22:01:30 +00:00
MW
31a81e17be The regionUUID is now being passed to the datastore calls. 2007-08-20 15:49:06 +00:00
MW
c89db49f3c Sqlite datastore should now save the textures and extraparams data (used by sculpties) correctly. [Really need to add a ExtraParams field to the sqlite database though, but for now I have combined their data so that we don't lose backward compatibility, know a couple of people have been using the datastore already].
Now have a rough day/night cycle (the movement of the sun needs to be made smoother but for now it is better than we had I think).
Added dalien's patch (issue 294) for saving and loading prims to a xml file (think he will be modifying these to be import/export functions and maybe writing a xml datastore for backups).
Some preliminary work on task inventory (ie object's/prim's inventory).
Added place holder data for AvatarProperties (ie a avatar's profile). Should we store this sort of data on the user server or have another server for it (a normal webserver should work). 
Added a few more method to IClientAPI.  
Sure there is something I'm forgeting.
2007-08-19 13:35:20 +00:00
MW
cb90510e16 Had to rename Rotation in SceneObjectGroup to GroupRotation to stop conflict with Rotation in entitybase (couldn't override as they are different types (LL vs Axiom) and didn't want to add new).
When you take prims into inventory (or delete them), they should now be removed from the prim datastore, so they no longer reappear in-world when you restart opensim.
2007-08-16 18:22:08 +00:00
lbsa71
25fd8d0273 * Introduced IScriptHost as an interface to fetching object data from scripts.
* This meant introducing AbsolutePosition on all objects (since SimChat wants that)
2007-08-16 17:08:03 +00:00
MW
a228b5984e Start of Inventory service, currently only (partially) functional in standalone mode and using sqlite).
In standalone mode, if you have account authenticate turned on (setting in opensim.ini) then when you create a new account, a set of inventory is created for that account and stored in database (currently only a set of empty folders). Then during login the database is search for that set and sent to the client in the login response.
More functions will be added soon, like creating new folders (and a bit later items) from the client inventory window.
2007-08-14 13:54:46 +00:00
MW
b59d9789f8 Partial Linking of prim groups should work (its partial as currently only the root prim of the child group will actually get linked, working on linking the rest now).
Multiple prim groups are now stored in the sqlite database and are reloaded correctly.
2007-08-13 13:36:42 +00:00
MW
822881eac5 Added a new column (SceneGroupID) to sqlite3 table (sqlite3-prims.sql) so that we can tell what prims belong to the same SceneObjectGroup. If sdague has a different method in mind when he gets back then he can change it then. 2007-08-11 20:20:33 +00:00
MW
79f0ac82e3 Some cleaning up and removed a few old files no longer in use.
Temporary have had to rename the OpenSim.DataStore.MonoSqlite project to OpenSim.DataStore.MonoSqlite1, as I'm not sure what was done to stop the old project name being included in the VS2005 solution.
Also some config changes:
OpenSim now has a INI (OpenSim.ini) file that it will read some config settings from (if the ini file exists).
Added Mono.Data.SqliteClient.dll so that we can use the same code for sqlite on Windows and mono/linux. (from what I can tell Mono class libraries have a MIT license so there should be no problems with us including this dll).
So now to get the basic prim storage working , you need to first create the sqlite database file from the sqlite3-prims.sql in share directory. Then in the OpenSim.ini file, change the storage_plugin so it points to OpenSim.DataStore.MonoSqlite1.dll (storage_plugin = OpenSim.DataStore.MonoSqlite1.dll). Then in your region.xml files change the DataStore value so it is the name of your database file (at the moment you need a different sqlite3 database file for each region).
2007-08-10 17:22:54 +00:00
MW
e7eeab90d6 Removed a piece of debug code 2007-08-10 14:04:00 +00:00
MW
94c7e41ef1 Made a few changes so that once we enable the sqlite data store (simple line change in OpenSimMain), then basic ( with a few limits at moment) prim database backup will work. 2007-08-10 13:59:19 +00:00
Sean Dague
6063d2ce5f Couldn't leave this one alone. Data is now flowing both ways in
sqlite *but* isn't being added back to the scene on load because 
some information (like rootpart) isn't currently exposed enough
to save/restore, and I don't want to change the SceneObjectGroup
definition without MW around to discuss.

A couple of minor changes on the object interface for SceneObjectGroup
and tweaks to this class, and we have persistant prims again.
2007-08-09 23:51:26 +00:00
Sean Dague
0443723ea5 comment out load from sqlite as this blows up on object creation right now.
must run away on vacation.  See you all in a week and change.
2007-08-09 21:26:39 +00:00
Sean Dague
a2a8de816b completely untest load prims from db code. Testing shortly 2007-08-09 21:07:53 +00:00
Sean Dague
ad2133e5cf utility functions to convert from rows to new objects. untested 2007-08-09 20:59:37 +00:00
Sean Dague
484121f3f4 added GroupPosition 2007-08-09 20:31:10 +00:00
Sean Dague
ec0dc208dd build update clauses correctly 2007-08-09 20:07:58 +00:00
Sean Dague
9fb651932e some more typos about wrong table for shapes 2007-08-09 19:55:41 +00:00
Sean Dague
88496505b1 use correct table name for shapes 2007-08-09 19:52:02 +00:00
Sean Dague
1681e3ac15 pull out some uneeded attributes, and setup keys on primshapes dataset 2007-08-09 19:06:48 +00:00
Sean Dague
2b25717c8c prim.Shape -> primshapes table 2007-08-09 19:02:32 +00:00
Sean Dague
e53afe91ab prim object -> prims table code 2007-08-09 18:37:55 +00:00
Sean Dague
21685bf304 make MonoSqliteDataStore compile with new objects
now the fun begins of connecting all the dots
2007-08-09 18:06:26 +00:00
Sean Dague
3592043431 Start defining prim shape definition. Officially bed time now 2007-08-09 03:56:11 +00:00
Sean Dague
b097d89f38 decrease insanity level significantly by factoring all the columns into
a Dictionary, and programatically building up sql commands for our dataset.
Prims done, prim shapes next
2007-08-09 02:26:34 +00:00