Hi:<br><br>Well, I have discovered an ugly thing in the code: when it first load prims for region its slooooooooooow. The reason: I have to change the way the loading is done, seems thaht the "query by example" I use is uneficient.<br>
<br>But, I think it's time to change the database model to be more "hibernated". I'm designing the new model, normalized and as efficient as I can design it.<br><br>It won't affect the main opensim core, only the way the data is stored. Later maybe I could investigate some ways to implement caches or threading of some type to accelerate the access...<br>
<br>Greetings<br><br><br><div><span class="gmail_quote">2008/2/15, Impalah <<a href="mailto:impalah@gmail.com">impalah@gmail.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi again:<br><br>I think that the nhibernate implementation is stable now. I only have "cosmetic" problems to solve and implement some functions for getting user friends and related (here I will need to do some changes in the database model, so I didn't touch it by now).<br>
<br>It's a "raw" migration without modifying the current database and based on the mysql code (*.Data.Mysql). I only mapped the tables to hibernate objects and added a new plugin (Opensim.Framework.Data.Hibernate) and one utilities project (Opensim.Framework.Persistence).<br>
<br>There is only another project (Opensim.Framework.DBCreator) to launch the hibernate DDL creation (it could be done using ant, I don't know if nant does it). It creates the tables in the database configured in hibernate.cfg.xml without scripts.<br>
<br>I have tested the project both with .NET and mono using Mysql and SQLite. I've tried with Microsoft SQL Server but it doesn't work: problems with the database definition (it's under investigation, seems some fields of uint and float need to be higher...).<br>
<br>And the basic GUI tests I did included creating prims, texturing, modifying, copying (800 prims less than 10 seconds), creating inventory assets, upload textures, etc.<br><br>So I think it's time to upload the code to somewhere for anybody can test it (somewhere is "subversion repository of any kind"). I need more feedback from the rest of the developers/testers/users. It won't damage anything, it's implemented as a plugin. Well, and I won't have to take my usb-memory in my pocket everywhere I go :-P<br>
<br>I will prepare a little document to explain how to configure the new plugin, it requires some "manual" steps.<br><br>Please, tell me something. I am really behind schedule with work for my "virtual enterprise" in SL (Henshin IV is in my pocket waiting) and need full time this weekend, so I can't do more development and tesing these days... I need feedback from you all!!!<br>
<br>Greetingzzz<br><br><br><div><span class="gmail_quote">2008/2/15, Sean Dague <<a href="mailto:sean@dague.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sean@dague.net</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><span class="e" id="q_1181ef4c1824600c_1">
On Fri, Feb 15, 2008 at 12:40:02AM +0100, Impalah wrote:<br> > Hi:<br> ><br> > I've finished for today... I'm tired :-) But I have the work almost done, at<br> > least it's "functional" (tested on Opensim version of february 5th)<br>
><br> > It's here for download:<br> > <a href="http://ai-designstudio.net/index.php?option=com_docman&task=doc_details&gid=41&Itemid=88889037&lang=en" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://ai-designstudio.net/index.php?option=com_docman&task=doc_details&gid=41&Itemid=88889037&lang=en</a><br>
><br> > There is a prebuild.xml file but we must include "by hand" the<br> > hibernate.cfg.xml file and all the hbm.xml into the project Persistence.<br> > Later we must copy these files to the main bin directory (not into mappings<br>
> in bin). The xml files must be configured as "Embedded resources".<br> ><br> > I've included an Opensim.ini file with the configuration. For configuring<br> > the database:<br> > - Create A NEW SCHEMA for testing<br>
> - Open hibernate.cfg.xml and set the values for database, user and password.<br> > - Execute the SQL Alltables.sql (careful with the database name into the<br> > script, I've used "nhopensim").<br>
><br> > Rebuild and launch...<br> ><br> > What is working now:<br> > - Create user from the console (maybe any little problem with inventories).<br> > - Login, build, modify prims (except texture and shape... it's my fault but<br>
> I'm too tired to look for the error). Copy prims, delete, etc.<br> > - Inventory, create new items, delete, etc.<br> > - The objects in the region are persisted so they will be there when you<br> > reboot opensim.<br>
><br> > And the errors:<br> > - Primshapes and related, sometimes has errors.<br> > - No "lock" in any method, maybe sometimes there will be threading<br> > problems... I need to solve this.<br>
> - Sometimes is slow, I need to polish up the code (transactions and<br>
> flushes).<br> <br> <br>I'm quite excited by this. :) I'll take some time today to poke at it.<br> <br><br> > I've tested the code in Windows with mySql both in .NET and mono. It worked<br> > ok in both cases.<br>
><br> > I have pending jobs: one is to finish the integration and stabilize, the<br> > other is to test completely opensim with sqlite and mssql.<br> ><br> > This morning I tested the automatic database model generator (it will be<br>
> included in opensim core) at work, over mssql and sqlite; it worked ok, and<br> > passed the nunit tests, so I think there won't be any problem (Oracle is<br> > another objective, maybe next week).<br> ><br>
> I will be very grateful if someone test the code and tell me how it works.<br> > And if there is the possibility of having a SVN repository where Jon and I<br> > can work it will make easy our work (a branch with an opensim version where<br>
> we can upload the files).<br> ><br> > Greetings<br> ><br> ><br> > PD - Ah... the dummy question again: what's the parameter of prebuild to<br> > include the xml files as embedded resources???<br>
<br> <br>There is an example in the section for MySQL database plugin in ours<br> today.<br> <br> -Sean<br> <br> <br> > _______________________________________________<br> > Opensim-dev mailing list<br> > <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Opensim-dev@lists.berlios.de</a><br>
> <a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br> <br> <br> --<br> __________________________________________________________________<br>
<br>
Sean Dague Mid-Hudson Valley<br> sean at dague dot net Linux Users Group<br> <a href="http://dague.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://dague.net</a> <a href="http://mhvlug.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mhvlug.org</a><br>
<br> There is no silver bullet. Plus, werewolves make better neighbors<br> than zombies, and they tend to keep the vampire population down.<br> __________________________________________________________________<br> <br>
</span></div>
-----BEGIN PGP SIGNATURE-----<br> Version: GnuPG v1.4.6 (GNU/Linux)<br> <br> iD8DBQFHtX71SamXem9TdyYRAlm0AKCVzHobyfQ60XMV5FHO85hNK/qb/wCdFV3V<br> UH5dwDLfrekupUje2uEcbFE=<br> =vgmU<br> -----END PGP SIGNATURE-----<span class="q"><br>
<br>
_______________________________________________<br> Opensim-dev mailing list<br> <a href="mailto:Opensim-dev@lists.berlios.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Opensim-dev@lists.berlios.de</a><br>
<a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br>
<br></span></blockquote></div><br>
</blockquote></div><br>