Skip to content

Commit 97d0ae8

Browse files
author
Xavier Jefferson
committed
In the JobParameter table, make sure we can't store multiple rows of the same parameter name for a given job id. Added an index.
1 parent 773b2cd commit 97d0ae8

File tree

10 files changed

+14
-14
lines changed

10 files changed

+14
-14
lines changed

Hangfire.FluentNHibernate.SampleApplication/packages.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<package id="Npgsql" version="3.2.6" targetFramework="net452" />
1414
<package id="Oracle.ManagedDataAccess" version="12.2.1100" targetFramework="net452" />
1515
<package id="Owin" version="1.0" targetFramework="net45" />
16-
<package id="Snork.FluentNHibernateTools" version="1.1.6600" targetFramework="net452" />
16+
<package id="Snork.FluentNHibernateTools" version="1.1.8650" targetFramework="net452" />
1717
<package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net452" />
1818
<package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net452" />
1919
<package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net452" />

Hangfire.FluentNHibernateStorage.Tests/FluentNHibernateStorageConnectionTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public void CreateExpiredJob_CreatesAJobInTheStorage_AndSetsItsParameters()
163163
var job = invocationData.Deserialize();
164164
Assert.Equal(typeof(FluentNHibernateStorageConnectionTests), job.Type);
165165
Assert.Equal("SampleMethod", job.Method.Name);
166-
Assert.Equal("\"Hello\"", job.Arguments[0]);
166+
Assert.Equal("\"Hello\"", job.Args[0]);
167167

168168
Assert.True(createdAt.AddDays(1).AddMinutes(-1) < sqlJob.ExpireAt);
169169
Assert.True(sqlJob.ExpireAt < createdAt.AddDays(1).AddMinutes(1));

Hangfire.FluentNHibernateStorage.Tests/FluentNHibernateStorageTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class FluentNHibernateStorageTests : IClassFixture<TestDatabaseFixture>
1111
{
1212
public FluentNHibernateStorageTests()
1313
{
14-
_options = new FluentNHibernateStorageOptions {PrepareSchemaIfNecessary = false};
14+
_options = new FluentNHibernateStorageOptions {UpdateSchema = false};
1515
}
1616

1717
private readonly FluentNHibernateStorageOptions _options;

Hangfire.FluentNHibernateStorage.Tests/JobQueue/FluentNHibernateFetchedJobTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public FluentNHibernateFetchedJobTests()
1111
{
1212
_fetchedJob = new FetchedJob {Id = _id, JobId = JobId, Queue = Queue};
1313

14-
var options = new FluentNHibernateStorageOptions {PrepareSchemaIfNecessary = false};
14+
var options = new FluentNHibernateStorageOptions {UpdateSchema = false};
1515
_storage = new Mock<FluentNHibernateJobStorage>(ConnectionUtils.GetPersistenceConfigurer(), options);
1616
}
1717

Hangfire.FluentNHibernateStorage.Tests/StorageOptionsTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ public void Ctor_SetsTheDefaultOptions()
1111
var options = new FluentNHibernateStorageOptions();
1212

1313
Assert.True(options.QueuePollInterval > TimeSpan.Zero);
14-
Assert.True(options.InvisibilityTimeout > TimeSpan.Zero);
14+
1515
Assert.True(options.JobExpirationCheckInterval > TimeSpan.Zero);
16-
Assert.True(options.PrepareSchemaIfNecessary);
16+
Assert.True(options.UpdateSchema);
1717
}
1818

1919
[Fact]

Hangfire.FluentNHibernateStorage.Tests/Utils/CleanDatabaseAttribute.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public class CleanDatabaseAttribute : BeforeAfterTestAttribute
88
{
99
private readonly IsolationLevel _isolationLevel;
1010

11-
private TransactionScope _transaction;
11+
1212

1313
public CleanDatabaseAttribute(
1414
IsolationLevel isolationLevel = IsolationLevel.ReadCommitted)

Hangfire.FluentNHibernateStorage.Tests/packages.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<package id="Moq" version="4.2.1510.2205" targetFramework="net45" />
77
<package id="Newtonsoft.Json" version="5.0.1" targetFramework="net45" />
88
<package id="NHibernate" version="4.0.0.4000" targetFramework="net45" />
9-
<package id="Snork.FluentNHibernateTools" version="1.1.6600" targetFramework="net45" />
9+
<package id="Snork.FluentNHibernateTools" version="1.1.8650" targetFramework="net45" />
1010
<package id="xunit" version="2.1.0" targetFramework="net45" />
1111
<package id="xunit.abstractions" version="2.0.0" targetFramework="net45" />
1212
<package id="xunit.assert" version="2.1.0" targetFramework="net45" />

Hangfire.FluentNHibernateStorage/Maps/_JobParameterMap.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ internal class _JobParameterMap : Int32IdMapBase<_JobParameter>
77
public _JobParameterMap()
88
{
99
Table("Hangfire_JobParameter".WrapObjectName());
10-
References(i => i.Job).Column(Constants.ColumnNames.JobId.WrapObjectName()).Not.Nullable().Cascade.Delete();
11-
Map(i => i.Name).Column("Name".WrapObjectName()).Length(40).Not.Nullable();
10+
References(i => i.Job).Column(Constants.ColumnNames.JobId.WrapObjectName()).Not.Nullable().Cascade.Delete().UniqueKey("a");
11+
Map(i => i.Name).Column("Name".WrapObjectName()).Length(40).Not.Nullable().UniqueKey("a");
1212
Map(i => i.Value).Column("Value".WrapObjectName()).Length(Constants.VarcharMaxLength).Nullable();
1313
}
1414
}

Hangfire.FluentNHibernateStorage/packages.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
<package id="Newtonsoft.Json" version="5.0.1" targetFramework="net45" />
88
<package id="NHibernate" version="4.0.0.4000" targetFramework="net45" />
99
<package id="Owin" version="1.0" targetFramework="net45" />
10-
<package id="Snork.FluentNHibernateTools" version="1.1.6600" targetFramework="net45" />
10+
<package id="Snork.FluentNHibernateTools" version="1.1.8650" targetFramework="net45" />
1111
</packages>

nuspecs/Hangfire.FluentNHibernateStorage.nuspec

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<package>
44
<metadata>
55
<id>Hangfire.FluentNHibernateStorage</id>
6-
<version>1.1.2105</version>
6+
<version>1.1.2110</version>
77
<authors>Xavier Jefferson</authors>
88
<owners>XavierJefferson</owners>
99
<licenseUrl>https://www.gnu.org/licenses/lgpl-3.0.en.html</licenseUrl>
@@ -12,7 +12,7 @@
1212
<requireLicenseAcceptance>false</requireLicenseAcceptance>
1313
<description>A Hangfire storage provider for SQL Server, MySQL, Oracle, DB/2, PostgreSQL, and Firebird</description>
1414
<releaseNotes>
15-
In the FluentNHibernateStorageOptions class, obsolete the PrepareSchemaIfNecessary property in favor of the UpdateSchema property. Both will still work.
15+
In the JobParameter table, make sure we can't store multiple rows of the same parameter name for a given job id. Added an index.
1616
</releaseNotes>
1717
<copyright>Copyright © 2019 Xavier Jefferson</copyright>
1818
<tags>hangfire storage provider mssql mysql oracle postgresql firebird db2</tags>
@@ -23,7 +23,7 @@
2323
<dependency id="Newtonsoft.Json" version="5.0.1" />
2424
<dependency id="NHibernate" version="4.0.0.4000" />
2525
<dependency id="Owin" version="1.0" />
26-
<dependency id="Snork.FluentNHibernateTools" version="1.1.6600" />
26+
<dependency id="Snork.FluentNHibernateTools" version="1.1.8650" />
2727
</dependencies>
2828

2929

0 commit comments

Comments
 (0)