From 0ab6aac05255078a9d190f6623b2d86d5253d955 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 20 Feb 2010 17:52:38 -0800 Subject: Added UserAccountData and auth to the SQLite connector. Compiles, runs, but access to these tables doesn't work. --- OpenSim/Data/SQLite/SQLiteFramework.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'OpenSim/Data/SQLite/SQLiteFramework.cs') diff --git a/OpenSim/Data/SQLite/SQLiteFramework.cs b/OpenSim/Data/SQLite/SQLiteFramework.cs index 12b2750..d745c92 100644 --- a/OpenSim/Data/SQLite/SQLiteFramework.cs +++ b/OpenSim/Data/SQLite/SQLiteFramework.cs @@ -40,12 +40,17 @@ namespace OpenSim.Data.SQLite /// public class SQLiteFramework { - protected SqliteConnection m_Connection; + protected static SqliteConnection m_Connection; + private bool m_initialized; protected SQLiteFramework(string connectionString) { - m_Connection = new SqliteConnection(connectionString); - m_Connection.Open(); + if (!m_initialized) + { + m_Connection = new SqliteConnection(connectionString); + m_Connection.Open(); + m_initialized = true; + } } ////////////////////////////////////////////////////////////// -- cgit v1.1 From df59d098b319367394bdeb898d7fd7dacd7104ec Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 20 Feb 2010 20:13:38 -0800 Subject: SQLite connector better, but access to tables still doesn't work. --- OpenSim/Data/SQLite/SQLiteFramework.cs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'OpenSim/Data/SQLite/SQLiteFramework.cs') diff --git a/OpenSim/Data/SQLite/SQLiteFramework.cs b/OpenSim/Data/SQLite/SQLiteFramework.cs index d745c92..2a8a022 100644 --- a/OpenSim/Data/SQLite/SQLiteFramework.cs +++ b/OpenSim/Data/SQLite/SQLiteFramework.cs @@ -40,17 +40,12 @@ namespace OpenSim.Data.SQLite /// public class SQLiteFramework { - protected static SqliteConnection m_Connection; - private bool m_initialized; + protected SqliteConnection m_Connection; protected SQLiteFramework(string connectionString) { - if (!m_initialized) - { - m_Connection = new SqliteConnection(connectionString); - m_Connection.Open(); - m_initialized = true; - } + //m_Connection = new SqliteConnection(connectionString); + //m_Connection.Open(); } ////////////////////////////////////////////////////////////// @@ -63,6 +58,7 @@ namespace OpenSim.Data.SQLite lock (m_Connection) { cmd.Connection = m_Connection; + Console.WriteLine("XXX " + cmd.CommandText); return cmd.ExecuteNonQuery(); } @@ -75,6 +71,7 @@ namespace OpenSim.Data.SQLite newConnection.Open(); cmd.Connection = newConnection; + Console.WriteLine("XXX " + cmd.CommandText); return cmd.ExecuteReader(); } -- cgit v1.1 From d761d1624b28a9ab3b006b3a3a94f4b805550f8c Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 21 Feb 2010 04:20:22 +0000 Subject: Fix SQLite locking and make it more fascist for now --- OpenSim/Data/SQLite/SQLiteFramework.cs | 36 +++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'OpenSim/Data/SQLite/SQLiteFramework.cs') diff --git a/OpenSim/Data/SQLite/SQLiteFramework.cs b/OpenSim/Data/SQLite/SQLiteFramework.cs index 2a8a022..96764f3 100644 --- a/OpenSim/Data/SQLite/SQLiteFramework.cs +++ b/OpenSim/Data/SQLite/SQLiteFramework.cs @@ -40,12 +40,10 @@ namespace OpenSim.Data.SQLite /// public class SQLiteFramework { - protected SqliteConnection m_Connection; + protected Object m_lockObject = new Object(); protected SQLiteFramework(string connectionString) { - //m_Connection = new SqliteConnection(connectionString); - //m_Connection.Open(); } ////////////////////////////////////////////////////////////// @@ -55,9 +53,13 @@ namespace OpenSim.Data.SQLite // protected int ExecuteNonQuery(SqliteCommand cmd) { - lock (m_Connection) + lock (m_lockObject) { - cmd.Connection = m_Connection; + SqliteConnection newConnection = + (SqliteConnection)((ICloneable)m_Connection).Clone(); + newConnection.Open(); + + cmd.Connection = newConnection; Console.WriteLine("XXX " + cmd.CommandText); return cmd.ExecuteNonQuery(); @@ -66,20 +68,26 @@ namespace OpenSim.Data.SQLite protected IDataReader ExecuteReader(SqliteCommand cmd) { - SqliteConnection newConnection = - (SqliteConnection)((ICloneable)m_Connection).Clone(); - newConnection.Open(); + lock (m_lockObject) + { + SqliteConnection newConnection = + (SqliteConnection)((ICloneable)m_Connection).Clone(); + newConnection.Open(); - cmd.Connection = newConnection; - Console.WriteLine("XXX " + cmd.CommandText); - return cmd.ExecuteReader(); + cmd.Connection = newConnection; + Console.WriteLine("XXX " + cmd.CommandText); + return cmd.ExecuteReader(); + } } protected void CloseReaderCommand(SqliteCommand cmd) { - cmd.Connection.Close(); - cmd.Connection.Dispose(); - cmd.Dispose(); + lock (m_lockObject) + { + cmd.Connection.Close(); + cmd.Connection.Dispose(); + cmd.Dispose(); + } } } } -- cgit v1.1 From 56fb7821ad021879d005da5ba65901c29c10de7f Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 20 Feb 2010 21:24:18 -0800 Subject: Restored mising m_Connection. --- OpenSim/Data/SQLite/SQLiteFramework.cs | 1 + 1 file changed, 1 insertion(+) (limited to 'OpenSim/Data/SQLite/SQLiteFramework.cs') diff --git a/OpenSim/Data/SQLite/SQLiteFramework.cs b/OpenSim/Data/SQLite/SQLiteFramework.cs index 96764f3..54b104b 100644 --- a/OpenSim/Data/SQLite/SQLiteFramework.cs +++ b/OpenSim/Data/SQLite/SQLiteFramework.cs @@ -42,6 +42,7 @@ namespace OpenSim.Data.SQLite { protected Object m_lockObject = new Object(); + protected static SqliteConnection m_Connection; protected SQLiteFramework(string connectionString) { } -- cgit v1.1 From 8a4947f8c75a2dbcd8c13dbff9ad2eff52711f0e Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sun, 21 Feb 2010 08:47:24 -0800 Subject: SQLite connector for UserAccounts and Auth works. Yey! --- OpenSim/Data/SQLite/SQLiteFramework.cs | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) (limited to 'OpenSim/Data/SQLite/SQLiteFramework.cs') diff --git a/OpenSim/Data/SQLite/SQLiteFramework.cs b/OpenSim/Data/SQLite/SQLiteFramework.cs index 54b104b..20b5085 100644 --- a/OpenSim/Data/SQLite/SQLiteFramework.cs +++ b/OpenSim/Data/SQLite/SQLiteFramework.cs @@ -42,7 +42,6 @@ namespace OpenSim.Data.SQLite { protected Object m_lockObject = new Object(); - protected static SqliteConnection m_Connection; protected SQLiteFramework(string connectionString) { } @@ -52,43 +51,41 @@ namespace OpenSim.Data.SQLite // All non queries are funneled through one connection // to increase performance a little // - protected int ExecuteNonQuery(SqliteCommand cmd) + protected int ExecuteNonQuery(SqliteCommand cmd, SqliteConnection connection) { - lock (m_lockObject) + lock (connection) { SqliteConnection newConnection = - (SqliteConnection)((ICloneable)m_Connection).Clone(); + (SqliteConnection)((ICloneable)connection).Clone(); newConnection.Open(); cmd.Connection = newConnection; - Console.WriteLine("XXX " + cmd.CommandText); + //Console.WriteLine("XXX " + cmd.CommandText); return cmd.ExecuteNonQuery(); } } - - protected IDataReader ExecuteReader(SqliteCommand cmd) + + protected IDataReader ExecuteReader(SqliteCommand cmd, SqliteConnection connection) { - lock (m_lockObject) + lock (connection) { SqliteConnection newConnection = - (SqliteConnection)((ICloneable)m_Connection).Clone(); + (SqliteConnection)((ICloneable)connection).Clone(); newConnection.Open(); cmd.Connection = newConnection; - Console.WriteLine("XXX " + cmd.CommandText); + //Console.WriteLine("XXX " + cmd.CommandText); + return cmd.ExecuteReader(); } } - protected void CloseReaderCommand(SqliteCommand cmd) + protected void CloseCommand(SqliteCommand cmd) { - lock (m_lockObject) - { - cmd.Connection.Close(); - cmd.Connection.Dispose(); - cmd.Dispose(); - } + cmd.Connection.Close(); + cmd.Connection.Dispose(); + cmd.Dispose(); } } } -- cgit v1.1