Commit Graph

154 Commits

Author SHA1 Message Date
Sean Dague
7810b068f4 some changes to reduce memory significantly by not keeping all
terrain revisions in memory.  Once I'm sure this is working, I'll purge
out some of the crufty code here.
2007-11-13 15:22:54 +00:00
Sean Dague
9b6c8ba7d1 disable profuse logging messages for not saving physical
objects, as it clouds up the console a bit too much
2007-11-07 20:26:03 +00:00
Charles Krinke
7eff1572cb Thank you, Teravus for: Solution for 'after using physical prim with MonoSqliteDataStore, the sim lags with constantly updating assets.". This mostly affects BulletX. 2007-11-05 04:33:06 +00:00
lbsa71
67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW
3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
Sean Dague
0d93069adb add locking to the terrain database calls 2007-10-23 14:31:35 +00:00
Adam Frisby
0c9933fd0f * Added "create-region" console command. Syntax: create-region <name> <region.xml filename>
* Spring cleaning.
2007-10-23 12:44:12 +00:00
Adam Frisby
3143768468 * Removed plenty more untagged console messages. Everything now has shiny groups. :) 2007-10-22 22:37:39 +00:00
Adam Frisby
3e5fcf90aa * Table creation now checks if the table already exists before building it. 2007-10-22 22:15:38 +00:00
Adam Frisby
b02fa17acc * Temporary fix for SQLite error -- temporarily disables terrain storage. 2007-10-22 22:07:45 +00:00
Adam Frisby
5dad0ed729 * Return of R2162. /Take that SVN!/ 2007-10-22 21:57:32 +00:00
Sean Dague
6acaabefc3 revert r2162 as it completely clobbered all the work on
the ChatModule by MW and myself.  Couldn't find Adam online
after that rev went in.
2007-10-22 15:37:54 +00:00
Adam Frisby
c4707a284f * Major ass commit.
* Sqlite Storage Engine now supports terrain -- however be aware that every terrain revision stored will at 512KB to your database file. At the moment it is storing every revision from the first.
* Fixed an issue where by noverbose mode would display lots of useless junk. Noverbose mode is now quite usable.
* Fixed a whole bunch of console message issues such as naming and categorisation
2007-10-22 15:23:48 +00:00
lbsa71
849eaffbe5 * Applied patch #418 : copyright-r2012.patch - some errors, but got most thru 2007-10-15 07:10:21 +00:00
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