diff options
author | Sean Dague | 2007-08-23 19:28:09 +0000 |
---|---|---|
committer | Sean Dague | 2007-08-23 19:28:09 +0000 |
commit | ff7164196dd440258b116d1f967135311c5a845a (patch) | |
tree | 5e60ea873a7a1c5c3b642ac6e33ff34009172e8f | |
parent | Lowered priority of script threads. Executing state_entry() event on script rez. (diff) | |
download | opensim-SC-ff7164196dd440258b116d1f967135311c5a845a.zip opensim-SC-ff7164196dd440258b116d1f967135311c5a845a.tar.gz opensim-SC-ff7164196dd440258b116d1f967135311c5a845a.tar.bz2 opensim-SC-ff7164196dd440258b116d1f967135311c5a845a.tar.xz |
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
-rw-r--r-- | OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs index 87df8fb..005da7a 100644 --- a/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs +++ b/OpenSim/Region/Storage/OpenSim.DataStore.MonoSqlite/MonoSqliteDataStore.cs | |||
@@ -62,10 +62,12 @@ namespace OpenSim.DataStore.MonoSqliteStorage | |||
62 | ds.Tables.Add(createPrimTable()); | 62 | ds.Tables.Add(createPrimTable()); |
63 | primDa.Fill(ds.Tables["prims"]); | 63 | primDa.Fill(ds.Tables["prims"]); |
64 | setupPrimCommands(primDa, conn); | 64 | setupPrimCommands(primDa, conn); |
65 | MainLog.Instance.Verbose("DATASTORE", "Populated Prim Definitions"); | ||
65 | 66 | ||
66 | ds.Tables.Add(createShapeTable()); | 67 | ds.Tables.Add(createShapeTable()); |
67 | shapeDa.Fill(ds.Tables["primshapes"]); | 68 | shapeDa.Fill(ds.Tables["primshapes"]); |
68 | setupShapeCommands(shapeDa, conn); | 69 | setupShapeCommands(shapeDa, conn); |
70 | MainLog.Instance.Verbose("DATASTORE", "Populated Prim Shapes"); | ||
69 | 71 | ||
70 | return; | 72 | return; |
71 | } | 73 | } |
@@ -481,22 +483,23 @@ namespace OpenSim.DataStore.MonoSqliteStorage | |||
481 | s.ProfileHollow = Convert.ToByte(row["ProfileHollow"]); | 483 | s.ProfileHollow = Convert.ToByte(row["ProfileHollow"]); |
482 | // text TODO: this isn't right] = but I'm not sure the right | 484 | // text TODO: this isn't right] = but I'm not sure the right |
483 | // way to specify this as a blob atm | 485 | // way to specify this as a blob atm |
484 | // s.TextureEntry = (byte[])row["Texture"]; | 486 | s.TextureEntry = (byte[])row["Texture"]; |
485 | 487 | s.ExtraParams = (byte[])row["ExtraParams"]; | |
486 | string texture = (string)row["Texture"]; | 488 | // System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); |
487 | if (!texture.StartsWith("<")) | 489 | // string texture = encoding.GetString((Byte[])row["Texture"]); |
488 | { | 490 | // if (!texture.StartsWith("<")) |
489 | //here so that we can still work with old format database files (ie from before I added xml serialization) | 491 | // { |
490 | LLObject.TextureEntry textureEntry = null; | 492 | // //here so that we can still work with old format database files (ie from before I added xml serialization) |
491 | textureEntry = new LLObject.TextureEntry(new LLUUID(texture)); | 493 | // LLObject.TextureEntry textureEntry = null; |
492 | s.TextureEntry = textureEntry.ToBytes(); | 494 | // textureEntry = new LLObject.TextureEntry(new LLUUID(texture)); |
493 | } | 495 | // s.TextureEntry = textureEntry.ToBytes(); |
494 | else | 496 | // } |
495 | { | 497 | // else |
496 | TextureBlock textureEntry = TextureBlock.FromXmlString(texture); | 498 | // { |
497 | s.TextureEntry = textureEntry.TextureData; | 499 | // TextureBlock textureEntry = TextureBlock.FromXmlString(texture); |
498 | s.ExtraParams = textureEntry.ExtraParams; | 500 | // s.TextureEntry = textureEntry.TextureData; |
499 | } | 501 | // s.ExtraParams = textureEntry.ExtraParams; |
502 | // } | ||
500 | 503 | ||
501 | return s; | 504 | return s; |
502 | } | 505 | } |
@@ -542,9 +545,12 @@ namespace OpenSim.DataStore.MonoSqliteStorage | |||
542 | // Added following xml hack but not really ideal , also ExtraParams isn't currently part of the database | 545 | // Added following xml hack but not really ideal , also ExtraParams isn't currently part of the database |
543 | // am a bit worried about adding it now as some people will have old format databases, so for now including that data in this xml data | 546 | // am a bit worried about adding it now as some people will have old format databases, so for now including that data in this xml data |
544 | // MW[17-08-07] | 547 | // MW[17-08-07] |
545 | TextureBlock textureBlock = new TextureBlock(s.TextureEntry); | 548 | row["Texture"] = s.TextureEntry; |
546 | textureBlock.ExtraParams = s.ExtraParams; | 549 | row["ExtraParams"] = s.ExtraParams; |
547 | row["Texture"] = textureBlock.ToXMLString(); | 550 | // TextureBlock textureBlock = new TextureBlock(s.TextureEntry); |
551 | // textureBlock.ExtraParams = s.ExtraParams; | ||
552 | // System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); | ||
553 | // row["Texture"] = encoding.GetBytes(textureBlock.ToXMLString()); | ||
548 | } | 554 | } |
549 | 555 | ||
550 | private void addPrim(SceneObjectPart prim, LLUUID sceneGroupID) | 556 | private void addPrim(SceneObjectPart prim, LLUUID sceneGroupID) |
@@ -752,7 +758,7 @@ namespace OpenSim.DataStore.MonoSqliteStorage | |||
752 | primDa.Fill(tmpDS, "prims"); | 758 | primDa.Fill(tmpDS, "prims"); |
753 | shapeDa.Fill(tmpDS, "primshapes"); | 759 | shapeDa.Fill(tmpDS, "primshapes"); |
754 | } catch (Mono.Data.SqliteClient.SqliteSyntaxException) { | 760 | } catch (Mono.Data.SqliteClient.SqliteSyntaxException) { |
755 | MainLog.Instance.Verbose("SQLite Database does exist... creating"); | 761 | MainLog.Instance.Verbose("DATASTORE", "SQLite Database doesn't exist... creating"); |
756 | InitDB(conn); | 762 | InitDB(conn); |
757 | } | 763 | } |
758 | 764 | ||