diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs.sqlite-hints 2014-02-18 15:35:23.000000000 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumArtistListModel.cs 2016-02-12 13:49:54.560806549 -0500
@@ -46,7 +46,7 @@ namespace Banshee.Collection.Database
ReloadFragmentFormat = @"
FROM CoreArtists WHERE CoreArtists.ArtistID IN
(SELECT CoreAlbums.ArtistID FROM CoreAlbums, CoreTracks, CoreCache{0}
- WHERE CoreCache.ModelID = {1} AND
+ WHERE {4}(CoreCache.ModelID = {1}) AND
CoreTracks.AlbumID = CoreAlbums.AlbumID AND
EXISTS (SELECT 1 FROM CoreArtists WHERE ArtistID = CoreAlbums.ArtistID) AND
CoreCache.ItemID = {2} {3})
diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs.sqlite-hints 2014-02-18 15:40:14.000000000 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseAlbumListModel.cs 2016-02-12 13:49:54.560806549 -0500
@@ -56,7 +56,7 @@ namespace Banshee.Collection.Database
ReloadFragmentFormat = @"
FROM CoreAlbums WHERE CoreAlbums.AlbumID IN
(SELECT CoreTracks.AlbumID FROM CoreTracks, CoreCache{0}
- WHERE CoreCache.ModelID = {1} AND
+ WHERE {4}(CoreCache.ModelID = {1}) AND
CoreCache.ItemId = {2} {3})
ORDER BY CoreAlbums.TitleSortKey, CoreAlbums.ArtistNameSortKey";
}
diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs.sqlite-hints 2014-02-18 15:35:23.000000000 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseArtistListModel.cs 2016-02-12 13:49:54.560806549 -0500
@@ -49,7 +49,7 @@ namespace Banshee.Collection.Database
ReloadFragmentFormat = @"
FROM CoreArtists WHERE CoreArtists.ArtistID IN
(SELECT CoreTracks.ArtistID FROM CoreTracks, CoreCache{0}
- WHERE CoreCache.ModelID = {1} AND
+ WHERE {4}(CoreCache.ModelID = {1}) AND
CoreCache.ItemID = {2} {3})
ORDER BY NameSortKey";
}
diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs.sqlite-hints 2014-02-18 15:35:23.000000000 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs 2016-02-12 13:54:24.530444339 -0500
@@ -57,10 +57,10 @@ namespace Banshee.Collection.Database
}
protected readonly U select_all_item;
- private HyenaSqliteConnection connection;
+ private BansheeDbConnection connection;
public DatabaseFilterListModel (string name, string label, Banshee.Sources.DatabaseSource source,
- DatabaseTrackListModel trackModel, HyenaSqliteConnection connection, SqliteModelProvider<T> provider, U selectAllItem, string uuid)
+ DatabaseTrackListModel trackModel, BansheeDbConnection connection, SqliteModelProvider<T> provider, U selectAllItem, string uuid)
: base (trackModel)
{
this.source = source;
@@ -124,7 +124,8 @@ namespace Banshee.Collection.Database
"{0}.{1} AND CoreTracks.TrackID = {0}.{2}",
FilteredModel.JoinTable, FilteredModel.JoinPrimaryKey, FilteredModel.JoinColumn)
: "CoreTracks.TrackID",
- filtered ? GetFilterFragment () : ""
+ filtered ? GetFilterFragment () : "",
+ connection.LikelihoodSupport ? "UNLIKELY" : ""
);
}
diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs.sqlite-hints 2014-02-18 15:35:23.000000000 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseQueryFilterModel.cs 2016-02-12 13:52:27.749466163 -0500
@@ -37,6 +37,7 @@ using Hyena.Data.Sqlite;
using Mono.Unix;
using Banshee.ServiceStack;
+using Banshee.Database;
namespace Banshee.Collection.Database
{
@@ -51,7 +52,7 @@ namespace Banshee.Collection.Database
private string select_all_fmt;
public DatabaseQueryFilterModel (Banshee.Sources.DatabaseSource source, DatabaseTrackListModel trackModel,
- HyenaSqliteConnection connection, string select_all_fmt, string uuid, QueryField field, string filter_column)
+ BansheeDbConnection connection, string select_all_fmt, string uuid, QueryField field, string filter_column)
: base (field.Name, field.Label, source, trackModel, connection, QueryFilterInfo<T>.CreateProvider (filter_column, field), new QueryFilterInfo<T> (), String.Format ("{0}-{1}", uuid, field.Name))
{
this.field = field;
@@ -59,7 +60,7 @@ namespace Banshee.Collection.Database
ReloadFragmentFormat = @"
FROM CoreTracks, CoreCache{0}
- WHERE CoreCache.ModelID = {1} AND CoreCache.ItemID = {2} {3}
+ WHERE {4}(CoreCache.ModelID = {1}) AND CoreCache.ItemID = {2} {3}
ORDER BY Value";
QueryFields = new QueryFieldSet (query_filter_field);
diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs.sqlite-hints 2014-02-18 15:35:23.000000000 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseYearListModel.cs 2016-02-12 13:49:54.561806540 -0500
@@ -47,7 +47,7 @@ namespace Banshee.Collection.Database
FROM (SELECT MIN(CoreTracks.TrackID) AS TrackID, CoreTracks.Year FROM CoreTracks GROUP BY CoreTracks.Year) AS CoreTracks
WHERE CoreTracks.Year IN
(SELECT CoreTracks.Year FROM CoreTracks, CoreCache{0}
- WHERE CoreCache.ModelID = {1} AND
+ WHERE {4}(CoreCache.ModelID = {1}) AND
CoreCache.ItemID = {2} {3})
ORDER BY Year";
}
diff -up banshee-2.6.2/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs.sqlite-hints banshee-2.6.2/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs
--- banshee-2.6.2/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs.sqlite-hints 2016-02-12 13:50:42.853383993 -0500
+++ banshee-2.6.2/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs 2016-02-12 13:56:29.789348335 -0500
@@ -52,6 +52,20 @@ namespace Banshee.Database
get { return configuration; }
}
+ private bool? likelihood_support = null;
+ public bool LikelihoodSupport {
+ get {
+ if (!likelihood_support.HasValue) {
+ // emulate the SQLITE_VERSION_NUMBER macro
+ string[] v = Query<string> ("SELECT sqlite_version ()").Split ('.');
+ likelihood_support = (Int32.Parse (v[0]) * 1000000 +
+ Int32.Parse (v[1]) * 1000 +
+ Int32.Parse (v[2])) >= 3008001;
+ }
+ return likelihood_support.Value;
+ }
+ }
+
public BansheeDbConnection () : this (DatabaseFile)
{
validate_schema = ApplicationContext.CommandLine.Contains ("validate-db-schema");