FirebirdSQL / NETProvider

Firebird ADO.NET Data Provider
https://www.firebirdsql.org/en/net-provider/
Other
152 stars 63 forks source link

Request for adding warning when using Serializable isolation level for transactions #1099

Open AniruddhaAchar opened 1 year ago

AniruddhaAchar commented 1 year ago

The transaction isolation level of Serializable in ADO.Net and Firebird has different meanings and implications. In ADO.Net, Serializable means that transactions are executed as if they were in serial order, without any concurrency issues. In Firebird, Serializable means that transactions are executed with the highest level of isolation, but they may still encounter concurrency anomalies such as phantom reads or write skew. Therefore, developers should be aware of this difference and use appropriate techniques to ensure data consistency and integrity. It would be helpful if the documentation or the compiler could warn the developers about this discrepancy and suggest possible solutions.

https://github.com/FirebirdSQL/firebird/issues/7546 addresses this from the database perspective.