Issue Details (XML | Word | Printable)

Key: ODBC-120
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Alexander Potapchenko
Reporter: kdv
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
ODBC Driver

Wrong file names and information at Install\HtmlHelp.*

Created: 10/Apr/11 12:42 PM   Updated: 01/Jun/12 12:02 PM
Component/s: None
Affects Version/s: 2.0
Fix Version/s: 2.0.1, 2.1 Beta

 Description  « Hide
1. OdbcJdbc\Install\\html really contains UKRANIAN text, so it must be named, not .uk.

2. Examples in both and are given with the transation options

which is simulation of IB/FB API default read_committed options, but will confuse users or programmers "why read_committed mode give deadlocks on reading non-committed" data.
I recommend to avoid mentioning or specifying NO RECORD_VERSION in all places, in documentation and even in source code (there are such places), because normal read committed mode is RECORD_VERSION, wich is not reading uncommitted version and does not show deadlock on them.

See initial discussion at firebird-devel mailing list, the subject is
[Firebird-devel] ReadCommitted isolation mode in Firebird's drivers

I do not understand c++, so, I can't find what default transaction options are used in this driver for ANSI ReadCommitted mode. But I suspect that the problem is the same as for Firebird .Net provider - DNET-337.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alexander Potapchenko added a comment - 11/Apr/11 08:37 AM
1) uk is renamed to ua in cvs
2) ODBC driver 2.0 uses read-committed/rec-version by default. I have replaced "NO RECORD_VERSION" to "RECORD_VERSION" in help.

kdv added a comment - 11/Apr/11 09:37 AM
thanks, great (both 1 and 2).

kdv added a comment - 13/Apr/11 11:46 AM
Btw, Alexander. May I ask you to specify at Transactions.htm
supported ODBC isolation levels and sorresponding transaction parameters, as in

Some people complains that transaction parameters in is not expected or correct, as in document for .Net driver and in .Net driver itself.
(locks on reading non-committed data)

At first, none levels must have WAIT default option - everywhere must be NO WAIT, and WAIT must be optional.
Second, ReadCommitted isolation mode must have isc_dpb_rec_version option, not no_rec_version.

The problem is that driver developers seems that do not use their driver to develop software (do not use driver), and that's because transaction parameters are specified wrong way, than in other drivers or in direct access components like FIBPlus, IBX, etc.

Alexander Potapchenko added a comment - 13/Apr/11 12:19 PM - edited
I have looked at the russian Transactions.htm, what is problem with current version?
Transaction parameters for ReadCommitted are fixed in

kdv added a comment - 13/Apr/11 01:57 PM
I think there must be list of odbc isolation levels with corresponding Firebird transaction parameters. As in example document of .net driver.
Because people using odbc for connecting applications that will never specify Firebird transactions parameters directly.
Like this:
  ODBC Firebird
 READ_UNCOMMITTED - read committed, no rec version, no wait (this will give deadlock error on reading uncommitted data)
 READ_COMMITTED - read committed, rec version, no wait
 REPEATABLE_READ - concurrency, no wait
 SERIALIZABLE - consistency, no wait