From 3fb73e4e266d7ac94281ec5a41a04a15c0b39ca7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 23 Mar 2010 02:18:55 +0000 Subject: UNTESTED SQLite code to enable estate setup in interactive confguration --- OpenSim/Data/SQLite/SQLiteEstateData.cs | 52 ++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 7 deletions(-) (limited to 'OpenSim/Data/SQLite') diff --git a/OpenSim/Data/SQLite/SQLiteEstateData.cs b/OpenSim/Data/SQLite/SQLiteEstateData.cs index 5b6135e..bd6b776 100644 --- a/OpenSim/Data/SQLite/SQLiteEstateData.cs +++ b/OpenSim/Data/SQLite/SQLiteEstateData.cs @@ -82,9 +82,6 @@ namespace OpenSim.Data.SQLite public EstateSettings LoadEstateSettings(UUID regionID, bool create) { - EstateSettings es = new EstateSettings(); - es.OnSave += StoreEstateSettings; - string sql = "select estate_settings."+String.Join(",estate_settings.", FieldList)+" from estate_map left join estate_settings on estate_map.EstateID = estate_settings.EstateID where estate_settings.EstateID is not null and RegionID = :RegionID"; SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); @@ -92,6 +89,14 @@ namespace OpenSim.Data.SQLite cmd.CommandText = sql; cmd.Parameters.Add(":RegionID", regionID.ToString()); + return DoLoad(cmd, regionID, create); + } + + private EstateSettings DoLoad(SqliteCommand cmd, UUID regionID, bool create) + { + EstateSettings es = new EstateSettings(); + es.OnSave += StoreEstateSettings; + IDataReader r = cmd.ExecuteReader(); if (r.Read()) @@ -128,7 +133,7 @@ namespace OpenSim.Data.SQLite names.Remove("EstateID"); - sql = "insert into estate_settings ("+String.Join(",", names.ToArray())+") values ( :"+String.Join(", :", names.ToArray())+")"; + string sql = "insert into estate_settings ("+String.Join(",", names.ToArray())+") values ( :"+String.Join(", :", names.ToArray())+")"; cmd.CommandText = sql; cmd.Parameters.Clear(); @@ -323,17 +328,50 @@ namespace OpenSim.Data.SQLite public EstateSettings LoadEstateSettings(int estateID) { - return new EstateSettings(); + string sql = "select estate_settings."+String.Join(",estate_settings.", FieldList)+" from estate_settings where estate_settings.EstateID :EstateID"; + + SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); + + cmd.CommandText = sql; + cmd.Parameters.Add(":EstateID", estateID.ToString()); + + return DoLoad(cmd, UUID.Zero, false); } public List GetEstates(string search) { - return new List(); + List result = new List(); + + string sql = "select EstateID from estate_settings where estate_settings.EstateName :EstateName"; + + SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); + + cmd.CommandText = sql; + cmd.Parameters.Add(":EstateName", search); + + IDataReader r = cmd.ExecuteReader(); + + while (r.Read()) + { + result.Add(Convert.ToInt32(r["EstateID"])); + } + r.Close(); + + return result; } public bool LinkRegion(UUID regionID, int estateID) { - return false; + SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); + + cmd.CommandText = "insert into estate_map values (:RegionID, :EstateID)"; + cmd.Parameters.Add(":RegionID", regionID.ToString()); + cmd.Parameters.Add(":EstateID", estateID.ToString()); + + if (cmd.ExecuteNonQuery() == 0) + return false; + + return true; } public List GetRegions(int estateID) -- cgit v1.1