<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-AU link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I have a CableBeach provider which does just this (and more!), I’m
testing it at the moment for deployment onto OSGrid. It’s a little more
complicated since it’s part of a distributed hash table, but yeah.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Adam<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> opensim-dev-bounces@lists.berlios.de
[mailto:opensim-dev-bounces@lists.berlios.de] <b>On Behalf Of </b>Stefan
Andersson<br>
<b>Sent:</b> Monday, 16 February 2009 12:52 AM<br>
<b>To:</b> opensim-dev@lists.berlios.de; Mike Mazur<br>
<b>Subject:</b> Re: [Opensim-dev] Please do not revert fixes without careful
comtemplation<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>Coming
in a bit from the side here,<br>
 <br>
we have, for some time, discussed to separate out the binary blog out of the
metadata for an entirely different reason, namely to be able to weed out binary
duplicates.<br>
<br>
If there was a way for us to separate out the binary parts, into something
like 'binaryassetId, hashData[256], binarydata' and then just have the
asset table referencing that row, I think it would help a lot.<br>
 <br>
I realize it's a separate discussion, just chipping in my two cents.<br>
<br>
Best regards,<br>
Stefan Andersson<br>
Tribal Media AB<br>
<br>
<br>
<br>
 <o:p></o:p></span></p>

<div class=MsoNormal align=center style='text-align:center'><span
style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>

<hr size=2 width="100%" align=center id=stopSpelling>

</span></div>

<p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:10.0pt;
font-family:"Verdana","sans-serif"'>Date: Sat, 14 Feb 2009 17:49:22 +0200<br>
From: tommi.s.e.laukkanen@gmail.com<br>
To: mmazur@gmail.com<br>
CC: opensim-dev@lists.berlios.de<br>
Subject: Re: [Opensim-dev] Please do not revert fixes without careful
comtemplation<o:p></o:p></span></p>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>Hello,<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'> <o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>On
second though we could keep the current structure and expose all fields also
through AssetBase properties. Then we could save / load the AssetBase with
nhibernate as a single object and leave out the Metadata  property from
NHibernate mapping. Does this sound good?<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'> <o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>regards,<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:10.0pt;
font-family:"Verdana","sans-serif"'>Tommi<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>On
Sat, Feb 14, 2009 at 5:06 PM, Mike Mazur <<a href="mailto:mmazur@gmail.com">mmazur@gmail.com</a>>
wrote:<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>Hi,<br>
<br>
On Sat, Feb 14, 2009 at 4:05 PM, Tommi Laukkanen<o:p></o:p></span></p>

<div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'><<a
href="mailto:tommi.s.e.laukkanen@gmail.com">tommi.s.e.laukkanen@gmail.com</a>>
wrote:<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:10.0pt;
font-family:"Verdana","sans-serif"'>> I was talking with mikkopa and he
suggested we should create two tables to<br>
> cover AssetBase to solve this issue properly. Namely AssetMetadata for<br>
> metadata information and AssetData for blobs to avoid situation where we
end<br>
> up accessing also the blob data just to read metadata.<o:p></o:p></span></p>

</div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>I
was hoping not to have to do that.<br>
<br>
It should be straightforward to support the current<br>
AssetBase/AssetMetadata composition in the existing OpenSim data<br>
layers, but as sdague warned me earlier, by mapping multiple classes<br>
to one table I was entering a world of pain. Seems that's exactly<br>
what's happening with NHibernate.<br>
<br>
The reason I introduced the AssetMetadata class is to supply metadata<br>
information only for some requests that Cable Beach, the new asset<br>
server, supports. Now I realize that this was probably a premature<br>
optimization.<br>
<br>
Instead of modifying the DB schema, we could have AssetBase inherit<br>
from AssetMetadata, as I outlined before[1]. Alternatively, we could<br>
get rid of AssetMetadata altogether and store everything in AssetBase<br>
as before, splitting out the metadata sometime in the future when a<br>
use case warrants it.<br>
<br>
What do you think?<br>
<br>
Thanks,<br>
Mike<br>
<br>
<br>
[1] <a
href="https://lists.berlios.de/pipermail/opensim-dev/2009-February/004918.html">https://lists.berlios.de/pipermail/opensim-dev/2009-February/004918.html</a><o:p></o:p></span></p>

</div>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p> </o:p></span></p>

</div>

</div>

</body>

</html>