From dc197856727c06b0b06488ab839409831af84865 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 14 Feb 2010 16:57:02 -0800 Subject: Added UserAccount, Avatar and Authentication to Data.Null, so that OpenSim can run out-of-the-box. #WaitingForSQLite --- OpenSim/Data/SQLite/SQLiteInventoryStore.cs | 67 +++++++++++++++++------------ 1 file changed, 39 insertions(+), 28 deletions(-) (limited to 'OpenSim/Data/SQLite') diff --git a/OpenSim/Data/SQLite/SQLiteInventoryStore.cs b/OpenSim/Data/SQLite/SQLiteInventoryStore.cs index 64591fd..c058bc7 100644 --- a/OpenSim/Data/SQLite/SQLiteInventoryStore.cs +++ b/OpenSim/Data/SQLite/SQLiteInventoryStore.cs @@ -46,10 +46,12 @@ namespace OpenSim.Data.SQLite private const string invItemsSelect = "select * from inventoryitems"; private const string invFoldersSelect = "select * from inventoryfolders"; - private SqliteConnection conn; - private DataSet ds; - private SqliteDataAdapter invItemsDa; - private SqliteDataAdapter invFoldersDa; + private static SqliteConnection conn; + private static DataSet ds; + private static SqliteDataAdapter invItemsDa; + private static SqliteDataAdapter invFoldersDa; + + private static bool m_Initialized = false; public void Initialise() { @@ -67,39 +69,44 @@ namespace OpenSim.Data.SQLite /// connect string public void Initialise(string dbconnect) { - if (dbconnect == string.Empty) + if (!m_Initialized) { - dbconnect = "URI=file:inventoryStore.db,version=3"; - } - m_log.Info("[INVENTORY DB]: Sqlite - connecting: " + dbconnect); - conn = new SqliteConnection(dbconnect); + m_Initialized = true; + + if (dbconnect == string.Empty) + { + dbconnect = "URI=file:inventoryStore.db,version=3"; + } + m_log.Info("[INVENTORY DB]: Sqlite - connecting: " + dbconnect); + conn = new SqliteConnection(dbconnect); - conn.Open(); + conn.Open(); - Assembly assem = GetType().Assembly; - Migration m = new Migration(conn, assem, "InventoryStore"); - m.Update(); + Assembly assem = GetType().Assembly; + Migration m = new Migration(conn, assem, "InventoryStore"); + m.Update(); - SqliteCommand itemsSelectCmd = new SqliteCommand(invItemsSelect, conn); - invItemsDa = new SqliteDataAdapter(itemsSelectCmd); - // SqliteCommandBuilder primCb = new SqliteCommandBuilder(primDa); + SqliteCommand itemsSelectCmd = new SqliteCommand(invItemsSelect, conn); + invItemsDa = new SqliteDataAdapter(itemsSelectCmd); + // SqliteCommandBuilder primCb = new SqliteCommandBuilder(primDa); - SqliteCommand foldersSelectCmd = new SqliteCommand(invFoldersSelect, conn); - invFoldersDa = new SqliteDataAdapter(foldersSelectCmd); + SqliteCommand foldersSelectCmd = new SqliteCommand(invFoldersSelect, conn); + invFoldersDa = new SqliteDataAdapter(foldersSelectCmd); - ds = new DataSet(); + ds = new DataSet(); - ds.Tables.Add(createInventoryFoldersTable()); - invFoldersDa.Fill(ds.Tables["inventoryfolders"]); - setupFoldersCommands(invFoldersDa, conn); - m_log.Info("[INVENTORY DB]: Populated Inventory Folders Definitions"); + ds.Tables.Add(createInventoryFoldersTable()); + invFoldersDa.Fill(ds.Tables["inventoryfolders"]); + setupFoldersCommands(invFoldersDa, conn); + m_log.Info("[INVENTORY DB]: Populated Inventory Folders Definitions"); - ds.Tables.Add(createInventoryItemsTable()); - invItemsDa.Fill(ds.Tables["inventoryitems"]); - setupItemsCommands(invItemsDa, conn); - m_log.Info("[INVENTORY DB]: Populated Inventory Items Definitions"); + ds.Tables.Add(createInventoryItemsTable()); + invItemsDa.Fill(ds.Tables["inventoryitems"]); + setupItemsCommands(invItemsDa, conn); + m_log.Info("[INVENTORY DB]: Populated Inventory Items Definitions"); - ds.AcceptChanges(); + ds.AcceptChanges(); + } } /// @@ -384,7 +391,9 @@ namespace OpenSim.Data.SQLite List folders = new List(); DataTable inventoryFolderTable = ds.Tables["inventoryfolders"]; string selectExp = "agentID = '" + user + "' AND parentID = '" + UUID.Zero + "'"; + m_log.DebugFormat("XXX selectExp = {0}", selectExp); DataRow[] rows = inventoryFolderTable.Select(selectExp); + m_log.DebugFormat("XXX rows: {0}", rows.Length); foreach (DataRow row in rows) { folders.Add(buildFolder(row)); @@ -397,9 +406,11 @@ namespace OpenSim.Data.SQLite // suitably refactor. if (folders.Count > 0) { + m_log.DebugFormat("XXX Found root folder"); return folders[0]; } + m_log.DebugFormat("XXX Root folder for {0} not found", user); return null; } } -- cgit v1.1