Put in database locking

fixed a test
This commit is contained in:
Lars Brubaker 2015-09-17 18:25:00 -07:00
parent 20618e3835
commit 2289fbfdf0
5 changed files with 44 additions and 10 deletions

View file

@ -590,7 +590,10 @@ namespace SQLiteAndroid
public List<T> Query<T>(string query, params object[] args) where T : new()
{
var cmd = CreateCommand(query, args);
return cmd.ExecuteQuery<T>();
lock (locker)
{
return cmd.ExecuteQuery<T>();
}
}
/// <summary>
@ -1093,9 +1096,14 @@ namespace SQLiteAndroid
{
return 0;
}
return Insert(obj, "", obj.GetType());
lock (locker)
{
return Insert(obj, "", obj.GetType());
}
}
object locker = new object();
/// <summary>
/// Inserts the given object and retrieves its
/// auto incremented primary key if it has one.
@ -1242,7 +1250,10 @@ namespace SQLiteAndroid
{
return 0;
}
return Update(obj, obj.GetType());
lock (locker)
{
return Update(obj, obj.GetType());
}
}
/// <summary>

View file

@ -563,9 +563,14 @@ namespace SQLiteUnix
public List<T> Query<T>(string query, params object[] args) where T : new()
{
var cmd = CreateCommand(query, args);
return cmd.ExecuteQuery<T>();
lock (locker)
{
return cmd.ExecuteQuery<T>();
}
}
object locker = new object();
/// <summary>
/// Creates a SQLiteCommand given the command text (SQL) with arguments. Place a '?'
/// in the command text for each of the arguments and then executes that command.
@ -1066,7 +1071,10 @@ namespace SQLiteUnix
{
return 0;
}
return Insert(obj, "", obj.GetType());
lock (locker)
{
return Insert(obj, "", obj.GetType());
}
}
/// <summary>
@ -1215,7 +1223,10 @@ namespace SQLiteUnix
{
return 0;
}
return Update(obj, obj.GetType());
lock (locker)
{
return Update(obj, obj.GetType());
}
}
/// <summary>

View file

@ -573,7 +573,10 @@ namespace SQLiteWin32
public List<T> Query<T>(string query, params object[] args) where T : new()
{
var cmd = CreateCommand(query, args);
return cmd.ExecuteQuery<T>();
lock (locker)
{
return cmd.ExecuteQuery<T>();
}
}
/// <summary>
@ -1076,9 +1079,14 @@ namespace SQLiteWin32
{
return 0;
}
return Insert(obj, "", obj.GetType());
lock (locker)
{
return Insert(obj, "", obj.GetType());
}
}
object locker = new object();
/// <summary>
/// Inserts the given object and retrieves its
/// auto incremented primary key if it has one.
@ -1225,7 +1233,10 @@ namespace SQLiteWin32
{
return 0;
}
return Update(obj, obj.GetType());
lock (locker)
{
return Update(obj, obj.GetType());
}
}
/// <summary>

@ -1 +1 @@
Subproject commit 8e14fd999617dd5b79b5e8b71067c560e884b080
Subproject commit 74aee973937936654c5873d91f27b55793aa999c

View file

@ -54,6 +54,7 @@ namespace MatterHackers.MatterControl.UI
// Now do the actions specific to this test. (replace this for new tests)
{
testRunner.ClickByName("Library Tab");
MatterControlUtilities.NavigateToFolder(testRunner, "Local Library Row Item Collection");
testRunner.ClickByName("Create Folder Button");
testRunner.Wait(.5);