From f1d4b8d83eadf0e15d66e456dd912288f5090a65 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 23 Aug 2012 22:30:14 +0100 Subject: [PATCH] Add an [HGAssetService] section to SQLiteStandalone.ini with the same connection string as [AssetService]. This is necessary because commit 8131a24 (Tue Mar 27 10:08:13 2012) started passing the config section name rather than hardcoding "AssetService" This meant that the HG external-facing asset service tried to read ConnectionString from [HGAssetService] rather than [AssetService]. On SQLite, not finding this meant that it fell back to [DatabaseService], which is set for OpenSim.db rather than Asset.db. Therefore, all external asset requests returned null. Solution taken here is to create an [HGAssetService] section with the same ConnectionString as [AssetService]. This bug does not affect normal MySQL/MSSQL config since they use the [DatabaseService] connection string anyway. Addresses http://opensimulator.org/mantis/view.php?id=6200, many thanks to DanBanner for identifying the exact problem commit which was very helpful. This was a regression from OpenSimulator 0.7.3.1 which did not contain this bug. --- bin/config-include/storage/SQLiteStandalone.ini | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini index c1de71aa21..67d98fff69 100644 --- a/bin/config-include/storage/SQLiteStandalone.ini +++ b/bin/config-include/storage/SQLiteStandalone.ini @@ -7,6 +7,16 @@ [AssetService] ConnectionString = "URI=file:Asset.db,version=3" +; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration. +; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead. +; However, the internal asset service will still use the [AssetService] section. +; Therefore, you will almost certainly want the ConnectionString in [HGAssetService] to be the same as in [AssetService] +; so that they both access the same database. +; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and +; do not have separate connection strings for different services. +[HGAssetService] + ConnectionString = "URI=file:Asset.db,version=3" + [InventoryService] ;ConnectionString = "URI=file:inventory.db,version=3" ; if you have a legacy inventory store use the connection string below