Skip to content

Commit 4b8eab4

Browse files
SQLite is bugged with distributed transactions: disable distributed tests.
SQLite does not actually implement two phases commit and has threading issues when participating into a distributed transaction. https://system.data.sqlite.org/index.html/tktview/5cee5409f84da5f62172
1 parent e987106 commit 4b8eab4

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/NHibernate/Dialect/SQLiteDialect.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,17 @@ public override bool SupportsForeignKeyConstraintInAlterTable
398398
/// </remarks>
399399
public override bool SupportsConcurrentWritingConnections => false;
400400

401+
/// <summary>
402+
/// Does this dialect supports distributed transaction? <c>false</c>.
403+
/// </summary>
404+
/// <remarks>
405+
/// SQLite does not have a two phases commit and as such does not respect distributed transaction semantic.
406+
/// But moreover, it fails handling the threading involved with distributed transactions (see
407+
/// https://system.data.sqlite.org/index.html/tktview/5cee5409f84da5f62172 ).
408+
/// It has moreover some flakyness in tests due to seemingly highly delayed (> 500ms) commits when distributed.
409+
/// </remarks>
410+
public override bool SupportsDistributedTransactions => false;
411+
401412
// Said to be unlimited. http://sqlite.1065341.n5.nabble.com/Max-limits-on-the-following-td37859.html
402413
/// <inheritdoc />
403414
public override int MaxAliasLength => 128;

0 commit comments

Comments
 (0)