PetaPoco now defaults to SQLite, requires WHERE on exists calls

pull/3113/head
kay.one 14 years ago
parent 852b1e9bb5
commit 907c508a70

@ -1,9 +1,11 @@
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using AutoMoq;
using FizzWare.NBuilder;
using FluentAssertions;
using NUnit.Framework;
using NzbDrone.Core.Providers;
using NzbDrone.Core.Repository;
using NzbDrone.Core.Repository.Quality;
using NzbDrone.Core.Test.Framework;
@ -63,6 +65,39 @@ namespace NzbDrone.Core.Test
fetch.Allowed.Should().HaveCount(0);
}
[Test]
public void Update_Success()
{
//Arrange
var mocker = new AutoMoqer();
var db = MockLib.GetEmptyDatabase();
mocker.SetConstant(db);
var testProfile = new QualityProfile
{
Name = Guid.NewGuid().ToString(),
Cutoff = QualityTypes.SDTV
};
//Act
var id = Convert.ToInt32(db.Insert(testProfile));
var currentProfile = db.SingleOrDefault<QualityProfile>(id);
//Update
currentProfile.Cutoff = QualityTypes.Bluray720p;
mocker.Resolve<QualityProvider>().Update(currentProfile);
var updated = mocker.Resolve<QualityProvider>().Get(currentProfile.QualityProfileId);
//Assert
updated.Name.Should().Be(currentProfile.Name);
updated.Cutoff.Should().Be(QualityTypes.Bluray720p);
updated.AllowedString.Should().Be(currentProfile.AllowedString);
}
[Test]
public void Test_Series_Quality()
{

@ -316,7 +316,7 @@ namespace PetaPoco
Oracle,
SQLite
}
DBType _dbType = DBType.SqlServer;
DBType _dbType = DBType.SQLite;
// Common initialization
private void CommonConstruct()
@ -1256,18 +1256,18 @@ namespace PetaPoco
case DBType.SQLite:
case DBType.MySql:
{
existsTemplate = "SELECT EXISTS (SELECT 1 FROM {0} WHERE {1})";
existsTemplate = "SELECT EXISTS (SELECT 1 FROM {0} {1})";
break;
}
case DBType.SqlServer:
{
existsTemplate = "IF EXISTS (SELECT 1 FROM {0} WHERE {1}) SELECT 1 ELSE SELECT 0";
existsTemplate = "IF EXISTS (SELECT 1 FROM {0} {1}) SELECT 1 ELSE SELECT 0";
break;
}
default:
{
existsTemplate = "SELECT COUNT(*) FROM {0} WHERE {1}";
existsTemplate = "SELECT COUNT(*) FROM {0} {1}";
break;
}
}

@ -80,7 +80,7 @@ namespace NzbDrone.Core.Providers
{
Logger.Trace("Importing file to database [{0}]", filePath);
if (_database.Exists<EpisodeFile>("Path =@0", Parser.NormalizePath(filePath)))
if (_database.Exists<EpisodeFile>("WHERE Path =@0", Parser.NormalizePath(filePath)))
{
Logger.Trace("[{0}] already exists in the database. skipping.", filePath);
return null;

Loading…
Cancel
Save