Re: [Firebird-net-provider] Choose isolation level using System.Data.IsolationLevel?
The ReadCommitted is RecVersion: case IsolationLevel.ReadCommitted: case IsolationLevel.ReadUncommitted: default: options.TransactionBehavior |= FbTransactionBehavior.ReadCommitted; options.TransactionBehavior |= FbTransactionBehavior.RecVersion; break; -- Mgr. Jiří Činčura Independent IT Specialist On Sat, Jan 30, 2016, at 11:44, Kjell Rilbe wrote: > Hi, > > Using a framework that's "database agnostic", I am able to choose a > value for transaction isolation level using the > System.Data.IsolationLevel enum. I can't find a way to enter a > FbTransationOptions struct or FbTransactionBehavior value. > > Using System.Data.IsolationLevel, it seems I get transactions with > behavior ReadCommitted + NoRecVersion. I would like to have RecVersion > instead of NoRecVersion. > > Any suggestions? > > Regards, > Kjell Rilbe > > -- > --- > Kjell Rilbe> Telefon: 0733-44 24 64 (+46 733 442464) > --- > "If there's a price for bein' me, that's one I'll have to pay" > Aaron Tippin > --- > > > -- > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 > ___ > Firebird-net-provider mailing list > Firebird-net-provider@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] Choose isolation level using System.Data.IsolationLevel?
> I have neglected to update it for quite some time. I seem to be at > version 2.6.5. Guess I should upgrade, huh? :-) Yes. You should. -- Mgr. Jiří Činčura Independent IT Specialist -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] Choose isolation level using System.Data.IsolationLevel?
Jiří Činčura skrev: > The ReadCommitted is RecVersion: > > case IsolationLevel.ReadCommitted: > case IsolationLevel.ReadUncommitted: > default: > options.TransactionBehavior |= > FbTransactionBehavior.ReadCommitted; > options.TransactionBehavior |= > FbTransactionBehavior.RecVersion; > break; > Oh, that's interesting. I'll have to check again then. The thing is that I noticed NoRecVersion reported by Sinática Monitor for queries executed by the framework. Has the mapping from IsolationLevel.ReadCommitted to TransactionBehavior changed? I have neglected to update it for quite some time. I seem to be at version 2.6.5. Guess I should upgrade, huh? :-) Regards, Kjell -- -- Kjell RilbeHome: +46 8 7610734 Mobile: +46 733 442464 -- "If there's a price for bein' me, that's one I'll have to pay" Aaron Tippin -- -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] FbTransactionBehavior values docs/info?
On 31-1-2016 08:31, Kjell Rilbe wrote: > Hi, > > I am unable to find info about some of the FbTransactionBehavior values. > Would be nice with some pointers or info. :-) > > Consistency = 1, // What's this? > Concurrency = 2, // What's this? > Shared = 4, // Used only for pre locking of tables?? Protected = 8, // > Used only for pre locking of tables?? Exclusive = 16, // Used only for > pre locking of tables?? Wait = 32, // Wait specified amount of time if > operation needs resource locked by other transaction. > NoWait = 64, // Throw exception immediately if operation needs resource > locked by other transaction. > Read = 128, // Used only for pre locking of tables?? Write = 256, // > Used only for pre locking of tables?? LockRead = 512, // Used only for > pre locking of tables?? LockWrite = 1024, // Used only for pre locking > of tables?? ReadCommitted = 2048, // Changes committed by other trans are > seen, uncommitted changes are not seen, conflict only on write of same record. > Autocommit = 4096, // What's this? RecVersion = 8192, // MVCC is used, so rec > changed by other transaction can be read (but old version). > NoRecVersion = 16384, // MVCC "not used", so can't read rec changed by other > transaction. > RestartRequests = 32768, // What's this? NoAutoUndo = 65536, // What's this? These are equivalent to the isc_tpb_* constants with the same (or similar) names in Firebird. You need to refer to the (scarce) documentation of Firebird on these options. Mark -- Mark Rotteveel -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider
Re: [Firebird-net-provider] Choose isolation level using System.Data.IsolationLevel?
I think it is not possible. Mapping IsolationLevel <-> DbTransactionBuffer is hardcoded in FB.NET library. I know that EF I can use IDbCommandInterceptor and DbInterception.Add(suppressor); This allows to override transactions. In your framework could be something similar. On 31 January 2016 at 09:20, Kjell Rilbewrote: > den 2016-01-30 20:23, skrev Геннадий Забула: >> On 30 January 2016 at 12:44, Kjell Rilbe wrote: >>> Hi, >>> >>> Using a framework that's "database agnostic", I am able to choose a >>> value for transaction isolation level using the >>> System.Data.IsolationLevel enum. I can't find a way to enter a >>> FbTransationOptions struct or FbTransactionBehavior value. >>> >>> Using System.Data.IsolationLevel, it seems I get transactions with >>> behavior ReadCommitted + NoRecVersion. I would like to have RecVersion >>> instead of NoRecVersion. >>> >>> Any suggestions? >>> >>> >> I'm using custom extension function, that takes DbContext and >> depending on Database.Connection type creates manually tuned >> transaction for FB case. >> https://gist.github.com/zabulus/1e46010094e1b6678729 >> Here is snippet > > Nice, but I assume this is a function that you manually call in your own > code, instead of the regular DbConnection.BeginTransaction? > > The problem is that the framework I'm using does it all under the hood: > opens connection, starts and ends transactions and executes SQL. I add > the DbConnection component I need to my form, in my case an > FbConnection, and configure my framework's persistence handler to use > that connection. The persistence handler has a lot of settings for the > SQL connection, but for fetch and write transaction mode it uses the > standard System.Data.IsolationLevel enum type, so there's no way to > configure FireBird specific transaction options. > > What I need is some way to hook into the FbConnection's call to start a > transaction, or "globally" configure it to a specific transaction > option/mode/isolation level, either overriding the > System.Data.IsolationLevel that the framework's persitence handler > passes in, or map it in a different way than apparently is standard for > the Firebird .Net provider. I.e. map ReadCommitted to ReadCommitted + > RecVersion + NoWait rather than ReadCommitted + NoRecVersion + NoWait. > > Possible? Inherit from FbCOnnection and override BeginTransaction and > use that (derived) component in place of FbConnection? > > Kjell > > -- > --- > Kjell Rilbe > Telefon: 0733-44 24 64 (+46 733 442464) > --- > "If there's a price for bein' me, that's one I'll have to pay" > Aaron Tippin > --- > > > > -- > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 > ___ > Firebird-net-provider mailing list > Firebird-net-provider@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/firebird-net-provider -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Firebird-net-provider mailing list Firebird-net-provider@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/firebird-net-provider