Commit Graph

163 Commits (8714833986cef44787fd57a61699b7bdcfd3d3bb)

Author SHA1 Message Date
Sean Dague 28ff73129b bury connect creation deeper down in case this is what .NET hates 2007-11-14 16:29:34 +00:00
Sean Dague 8eb2a163c8 random shot in the dark 2007-11-14 16:26:18 +00:00
Sean Dague ccd08ae3d0 remove limit stanza, see if this helps. 2007-11-14 16:08:10 +00:00
Sean Dague 02b6f6ca62 get rid of parametrized query, in case this is the .NET issue (I hope not) 2007-11-14 15:52:39 +00:00
Sean Dague 870837d4a8 further adventures in .NET workarounds 2007-11-14 15:35:27 +00:00
Sean Dague 2aec70666a no, this probably won't work either, but I'm going to at least make sure it works
mono still
2007-11-14 15:15:01 +00:00
Sean Dague 980661ed1b more attempted voodoo around .NET 2007-11-14 15:03:17 +00:00
Sean Dague 5a739cc248 attempt to resolve Sqlite not working on .NET for terrain 2007-11-14 14:11:45 +00:00
Sean Dague 4bc4844646 working now. Needs cleanup, but I'll have to do that after the next meeting 2007-11-13 15:50:56 +00:00
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
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
MW d451dddcd0 Start of replacing the old SceneObject/Primitive classes with the new versions.
PLEASE NOTE: that with this revision some prim related features may be broke for a while. (things like linking prims and the parcel prim count.)
Also this revision may not work on mono, but that will be fixed soon.
2007-08-09 17:54:22 +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
Sean Dague d746813130 intermediate checkin of code that compiles before I do something
stupid and nuke all this work.
2007-08-09 01:54:01 +00:00
Sean Dague 8425693076 Commit in the changes for all the parameter bindings for prims 2007-08-09 00:42:32 +00:00
Sean Dague f732d5b2c8 sigh, Data ... not Date. I'm dumb 2007-08-08 20:30:38 +00:00
Sean Dague 672d7f7b34 name changes in MonoSqliteData store 2007-08-08 20:30:05 +00:00
Sean Dague e8e3afa8fe rename to MonoSqliteDataStore 2007-08-08 20:28:58 +00:00
Sean Dague 238fe86bc7 screwed up the move, removing this file to give us proper history tracking 2007-08-08 20:28:34 +00:00
Sean Dague 6ec523d5e6 moving to new namespace as this is mono only 2007-08-08 19:48:11 +00:00
Sean Dague a5f8d012b7 This chunk of code actually properly saves out some parameters of
current objects to disk, and does updates on those objects usefully.
It is now functional enough to mean that moving to new objects is 
just lots of plug and chug.
2007-08-08 19:35:16 +00:00
Sean Dague 48ad7ca905 databits are actually flowing to disk 2007-08-08 17:59:16 +00:00
Sean Dague 013641f31d starting to push some of the actual sql commands to get this to disk.
Not working yet.
2007-08-07 19:49:43 +00:00
Sean Dague e4df1de58b actually transfer some data to the row definition. Going to hook
this up to the sim in my env now to make sure we're getting data flow
in a reasonable way at this point.
2007-08-07 15:45:16 +00:00
Sean Dague cf3babd988 actually get sqlite stuff to compile. This isn't connected to the
main prebuild yet.  Going to attempt to get some tracing on current
SceneObjects first
2007-08-07 15:13:27 +00:00
Sean Dague f54049ceb8 some more sqlite stuff. Checking in to get it to another computer
to do a bit more live hacking on data flow
2007-08-07 14:39:00 +00:00
Sean Dague 67004b5b03 adding shell of SqliteDataStore 2007-08-06 20:36:57 +00:00
Sean Dague 74bb5282a0 mass update of files to have native line endings 2007-07-30 20:11:40 +00:00
Adam Frisby 038774de30 Commit 1/2
* DB4o no longer crashes the sim on Startup
* DB4o now crashes the sim on shutdown.
* Variety of console verbosity fixes.
2007-07-29 09:37:29 +00:00
Adam Frisby 2a03bea9bd * Assorted minor fixes (DB4o now properly commits saves on shutdown) 2007-07-29 07:57:26 +00:00
Adam Frisby 50250a3a3a * Highly experimental: Added DB4o DataStore support. Untested. 2007-07-29 07:54:49 +00:00
Adam Frisby f29acf95b0 * Removed yet more compiler warnings
* Dropped old ILocalStorage storage engines.
2007-07-19 00:29:50 +00:00
mingchen 2873b82b78 *Renamed everything Parcels and ParcelData to Land and LandData
*Added missing files (I hope)
2007-07-16 19:40:25 +00:00
mingchen 7fabf9612a *Renamed ParcelManager to LandManager
*Made the Parcel class its own file and moved the Parcel and LandManager into their own folder in Environment
*Some renaming might need to be done so the Parcel class doesn't have issues with the libsecondlife Parcel class, but Land doesn't seem right.
2007-07-16 18:45:19 +00:00
Adam Frisby ac4f8745ba * Updating internal LSL handler/compiler with Tedd's r1.
* Importing begginings of DB4oDataStore
2007-07-16 17:46:47 +00:00
Sean Dague 2a3c79df83 changed to native line ending encoding 2007-07-16 15:40:11 +00:00
Adam Frisby aebd58d75e * PROTIP: It helps to know what your doing when playing with reflection. 2007-07-15 17:32:54 +00:00
Adam Frisby 2dea3dbd6b * Terrain now uses the new StorageManager. 2007-07-15 15:51:09 +00:00
Adam Frisby 275d8c0247 * Adding example "NullStorage" DataStore engine. 2007-07-15 14:58:23 +00:00