driver ODBC-PostreSQL, cursor and transaction isolation level

This is a multi-part message in MIME format.

------=_NextPart_000_010A_01C9B3BB.FB293D90
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hello,



I have some problems to have a transaction isolation level serializable with
postgresql-ODBC driver for windows by using the ODBC cursor
(UseDeclareFetch=1).



My database is on PostgreSQL 8.3.7/ Linux.

I use the postgresql-ODBC version 8.03.04 for windows.

I make this test with the default_transaction_isolation = 'read committed'
and after with the default_transaction_isolation = 'serializable' on the
server. The results are the same.



I do the followings operations in a c++ programm:

* I open 2 connections on my database with the ODBC drivers:
"connexion1" and "connexion2"

* CDatabase * db1 = new CDatabase ;
* CDatabase * db2 = new CDatabase
* db1->OpenEx (chaine_connection_mydatabase, CDatabase::noOdbcDialog);
* db2->OpenEx (chaine_connection_mydatabase, CDatabase::noOdbcDialog)

* I ask for the number of tuples of table "table1" --> n tuples:

* CRecordset crs (db1)
* crs.Open (CRecordset::snapshot, "SELECT count (*) FROM table1;")

* I make the "connexion1" serializable :

* db1->ExecuteSQL ("BEGIN TRANSACTION;")
* db1->ExecuteSQL ("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;")

* In the connexion1, I add a tuple in the table "table1" :

* db1->ExecuteSQL ("INSERT INTO table1 ..;")

* In the connexion1, I ask for the number of tuples of table "table1"
--> n+1 tuples

* CRecordset crs (db1)
* crs.Open (CRecordset::snapshot, "SELECT count (*) FROM table1;")

* In the connexion2, I ask for the number of tuples of table "table1"
--> n+1 tuples;

* CRecordset crs (db1)
* crs.Open (CRecordset::snapshot, "SELECT count (*) FROM table2;")

I don't understand why the number is not n tuples in the "connexion2"
because the connexion1 is serializable ?



Do I use the good parameters for ODBC? Are there some restrictions for the
use of the cursors with ODBC-PostgreSQL and the transaction isolation level
?

My parameters are the followings:

"DRIVER={PostgreSQL
ANSI};DATABASE=<mabase>;SERVER=<monserver>;PORT=5438;UID=<user>;PWD=<passwor
d>;SSLmode=disable;ReadOnly=0;Protocol=7.4-1;FakeOidIndex=0; ShowOidColumn=0;
RowVersioning=0;ShowSystemTables=0;ConnSettings=;Fetch=10000 ;Socket=4096;Unk
nownSizes=0;MaxVarcharSize=255;MaxLongVarcharSize=5400000;De bug=0;CommLog=0;
Optimizer=1;Ksqo=1;UseDeclareFetch=1;TextAsLongVarchar=1;Unk nownsAsLongVarch
ar=1;BoolsAsChar=1;Parse=0;CancelAsFreeStmt=0;ExtraSysTableP refixes=dd_;;LFC
onversion=0;UpdatableCursors=1;DisallowPremature=0;TrueIsMin us1=0;BI=0;Bytea
AsLongVarBinary=0;UseServerSidePrepare=1;LowerCaseIdentifier =0;XaOpt=1"



If I use the option "UseDeclareFetch=0", the transaction isolation level
serializable is respected.



Thank's all



Olivier








------=_NextPart_000_010A_01C9B3BB.FB293D90
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Font Definitions */
[at] font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
[at] font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:Arial;
color:windowtext;}
[at] page Section1
{size:595.3pt 841.9pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
{page:Section1;}
/* List Definitions */
[at] list l0
{mso-list-id:259030399;
mso-list-type:hybrid;
mso-list-template-ids:-1688972534 67895297 67895299 67895301 67895297 =
67895299 67895301 67895297 67895299 67895301;}
[at] list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
[at] list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
[at] list l1
{mso-list-id:1456868070;
mso-list-type:hybrid;
mso-list-template-ids:1645627810 67895297 67895299 67895301 67895297 =
67895299 67895301 67895297 67895299 67895301;}
[at] list l1:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
[at] list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>

</head>

<body lang=3DFR link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma'>Hello,<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span =
style=3D'font-size:10.0pt;
font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>I have some problems to have a transaction =
isolation
level serializable with postgresql-ODBC driver for windows by using the =
ODBC
cursor (UseDeclareFetch=3D1).<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>My database is on PostgreSQL 8.3.7/ =
Linux.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>I use the </span></font><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma'>postgresql-ODB C version =
8.03.04
for windows.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>I make this test with the =
default_transaction_isolation
=3D 'read committed' and after with the default_transaction_isolation =
=3D 'serializable'
on the server. The results are the same.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>I do the followings operations in a c++ =
programm:<o:p></o:p></span></font></p>

<ul style=3D'margin-top:0cm' type=3Ddisc>
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'>I open 2
connections on my database with the ODBC drivers: =
“connexion1”
and “connexion2”<o:p></o:p></span></font></li>
<ul style=3D'margin-top:0cm' type=3Dcircle>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:10.0pt;font-style:italic'>CDatabase
* db1 =3D <font color=3Dblue><span =
style=3D'color:blue'>new</span></font>
CDatabase ;</span></font></i><i><font size=3D2><span lang=3DEN-GB
=
style=3D'font-size:10.0pt;font-style:italic'><o:p></o:p></span></font></i=
></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:10.0pt;font-style:italic'>CDatabase
* db2 =3D <font color=3Dblue><span =
style=3D'color:blue'>new</span></font> =
CDatabase</span></font></i><i><font
size=3D2><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-style:italic'><o:p></o:p></span></font></i=
></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3D"Times New Roman"><span lang=3DEN-GB =
style=3D'font-size:10.0pt;
font-style:italic'>db1->OpenEx (chaine_connection_mydatabase,
CDatabase::noOdbcDialog);</span></font></i><i><font size=3D2><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-style:italic'><o:p></o:p></span></font></i=
></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3D"Times New Roman"><span =
style=3D'font-size:10.0pt;font-style:italic'>db2->OpenEx
(chaine_connection_mydatabase, =
CDatabase::noOdbcDialog)</span></font></i><i><font
size=3D2><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-style:italic'><o:p></o:p></span></font></i=
></li>
</ul>
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'>I ask =
for the
number of tuples of table “table1” </span></font><font =
size=3D2
face=3DWingdings><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Wingdings'>à</span></font><f=
ont
size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:
Tahoma'> n tuples:<o:p></o:p></span></font></li>
<ul style=3D'margin-top:0cm' type=3Dcircle>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>CRecordset crs (</span></font></i><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>db1)<o:p></o:p></span></font></i></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>crs.Open (CRecordset::snapshot, "SELECT =
count (*)
FROM table1;")</span></font></i><i><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;font-style:ital ic'><o:p></o:=
p></span></font></i></li>
</ul>
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'>I make =
the “connexion1”
serializable :<o:p></o:p></span></font></li>
<ul style=3D'margin-top:0cm' type=3Dcircle>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>db1->ExecuteSQL (“BEGIN =
TRANSACTION;”) <o:p></o:p></span></font></i></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>db1->ExecuteSQL (“SET TRANSACTION =
ISOLATION
LEVEL SERIALIZABLE;”)<o:p></o:p></span></font></i></li>
</ul>
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'>In the =
connexion1, I
add a tuple in the table “table1” =
:<o:p></o:p></span></font></li>
<ul style=3D'margin-top:0cm' type=3Dcircle>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma'>db1->ExecuteSQL
("INSERT INTO table1 ….;”)</span></font><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma'><o:p></o:p></span></font></=
li>
</ul>
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'>In the =
connexion1, I
ask for the number of tuples of table “table1” =
</span></font><font
size=3D2 face=3DWingdings><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:
Wingdings'>à</span></font><font size=3D2 face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'> n+1 =
tuples<o:p></o:p></span></font></li>
<ul style=3D'margin-top:0cm' type=3Dcircle>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>CRecordset crs (</span></font></i><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>db1)<o:p></o:p></span></font></i></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>crs.Open (CRecordset::snapshot, "SELECT =
count (*)
FROM table1;")</span></font></i><i><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;font-style:ital ic'><o:p></o:=
p></span></font></i></li>
</ul>
<li class=3DMsoNormal style=3D'mso-list:l0 level1 lfo2'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'>In the =
connexion2, I
ask for the number of tuples of table “table1” =
</span></font><font
size=3D2 face=3DWingdings><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:
Wingdings'>à</span></font><font size=3D2 face=3DTahoma><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:Tahoma'> n+1 =
tuples; <o:p></o:p></span></font></li>
<ul style=3D'margin-top:0cm' type=3Dcircle>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>CRecordset crs (</span></font></i><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>db1)<o:p></o:p></span></font></i></li>
<li class=3DMsoNormal style=3D'mso-list:l0 level2 lfo2'><i><font =
size=3D2
face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;
font-style:italic'>crs.Open (CRecordset::snapshot, "SELECT =
count (*)
FROM table2;")</span></font></i><i><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma;font-style:ital ic'><o:p></o:=
p></span></font></i></li>
</ul>
</ul>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>I don’t understand why the number is =
not n
tuples in the “connexion2” because the connexion1 is =
serializable ?
<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>Do I use the good parameters for ODBC? Are =
there
some restrictions for the use of the cursors with ODBC-PostgreSQL and =
the
transaction isolation level ?<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>My parameters are the =
followings:<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>“DRIVER=3D{PostgreSQL =
ANSI};DATABASE=3D<mabase>;SERVER=3D<monserver>;PORT=3D5438;UI=
D=3D<user>;PWD=3D<password>;SSLmode=3Ddisable;ReadOnly=3D0;Pr=
otocol=3D7.4-1;FakeOidIndex=3D0;ShowOidColumn=3D0;RowVersion ing=3D0;ShowS=
ystemTables=3D0;ConnSettings=3D;Fetch=3D10000;Socket=3D4096; UnknownSizes=3D=
0;MaxVarcharSize=3D255;MaxLongVarcharSize=3D5400000;Debug=3D 0;CommLog=3D0=
;Optimizer=3D1;Ksqo=3D1;UseDeclareFetch=3D1;TextAsLongVarcha r=3D1;Unknown=
sAsLongVarchar=3D1;BoolsAsChar=3D1;Parse=3D0;CancelAsFreeStm t=3D0;ExtraSy=
sTablePrefixes=3Ddd_;;LFConversion=3D0;UpdatableCursors=3D1; DisallowPrema=
ture=3D0;TrueIsMinus1=3D0;BI=3D0;ByteaAsLongVarBinary=3D0;Us eServerSidePr=
epare=3D1;LowerCaseIdentifier=3D0;XaOpt=3D1”<o:p></o:p></span></fon=
t></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>If I use the option =
“UseDeclareFetch=3D0”,
the transaction isolation level serializable is =
respected.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>Thank’s =
all<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>Olivier<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_010A_01C9B3BB.FB293D90--
olivier dorie [ Do, 02 April 2009 17:53 ] [ ID #1996117 ]

Re: driver ODBC-PostreSQL, cursor and transaction isolation level

olivier dorie wrote:
> I have some problems to have a transaction isolation level
> serializable with postgresql-ODBC driver for windows by using
> the ODBC cursor (UseDeclareFetch=3D1).
>
> My database is on PostgreSQL 8.3.7/ Linux.
>
> I use the postgresql-ODBC version 8.03.04 for windows.
>
> I make this test with the default_transaction_isolation =3D 'read committ=
ed' and after with the
> default_transaction_isolation =3D 'serializable' on the server.
> The results are the same.
>
>
>
> I do the followings operations in a c++ programm:
>
> * I open 2 connections on my database with the ODBC drivers: "connexion1"=
and "connexion2"
>
> * CDatabase * db1 =3D new CDatabase ;
> * CDatabase * db2 =3D new CDatabase
> * db1->OpenEx (chaine_connection_mydatabase, CDatabase::noOdbcDialog);
> * db2->OpenEx (chaine_connection_mydatabase, CDatabase::noOdbcDialog)
>
> * I ask for the number of tuples of table "table1" --> n tuples:
>
> * CRecordset crs (db1)
> * crs.Open (CRecordset::snapshot, "SELECT count (*) FROM table1;")
>
> * I make the "connexion1" serializable :
>
> * db1->ExecuteSQL ("BEGIN TRANSACTION;")
> * db1->ExecuteSQL ("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;")
>
> * In the connexion1, I add a tuple in the table "table1" :
>
> * db1->ExecuteSQL ("INSERT INTO table1 ....;")
>
> * In the connexion1, I ask for the number of tuples of table "table1" -->=
n+1 tuples
>
> * CRecordset crs (db1)
> * crs.Open (CRecordset::snapshot, "SELECT count (*) FROM table1;")
>
> * In the connexion2, I ask for the number of tuples of table "table1" -->=
n+1 tuples;
>
> * CRecordset crs (db1)
> * crs.Open (CRecordset::snapshot, "SELECT count (*) FROM table2;")

Wait a minute:
I would say that in connection 1, you ask for the number of tuples in table2
and not what you claim. Is this a typo?

> I don't understand why the number is not n tuples in the
> "connexion2" because the connexion1 is serializable ?

The isolation level of a transaction does not influence other transactions.
It only changes the world-view of the transaction itself.

It is the fact that there is a transaction in progress (irrespective of
its isolation level) that will keep others from seeing the inserted record.

But yes, you are right, a second connection should only see committed recor=
ds.

Yours,
Laurenz Albe

--
Sent via pgsql-odbc mailing list (pgsql-odbc [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc
Albe Laurenz [ Fr, 03 April 2009 08:41 ] [ ID #1996237 ]

Re: driver ODBC-PostreSQL, cursor and transaction isolationlevel

olivier dorie wrote:
> Hello,
>
>
> I have some problems to have a transaction isolation level serializable=

> with postgresql-ODBC driver for windows by using the ODBC cursor
> (UseDeclareFetch=3D1).
>
>
> My database is on PostgreSQL 8.3.7/ Linux.
>
> I use the postgresql-ODBC version 8.03.04 for windows.
>
> I make this test with the default_transaction_isolation =3D 'read
> committed' and after with the default_transaction_isolation =3D
> 'serializable' on the server. The results are the same.
>
>
> I do the followings operations in a c++ programm:
>
> * I open 2 connections on my database with the ODBC drivers:
> =93connexion1=94 and =93connexion2=94
> o /CDatabase * db1 =3D new CDatabase ;///
> o /CDatabase * db2 =3D new CDatabase///
> o /db1->OpenEx (chaine_connection_mydatabase,
> CDatabase::noOdbcDialog);///
> o /db2->OpenEx (chaine_connection_mydatabase,
> CDatabase::noOdbcDialog)///
> * I ask for the number of tuples of table =93table1=94 =E0 n tuples=
:
> o /CRecordset crs (//db1)/
> o /crs.Open (CRecordset::snapshot, "SELECT count (*) FROM
> table1;")///
> * I make the =93connexion1=94 serializable :
> o /db1->ExecuteSQL (=93BEGIN TRANSACTION;=94) /
> o /db1->ExecuteSQL (=93SET TRANSACTION ISOLATION LEVEL
> SERIALIZABLE;=94)/

ODBC doesn't recommend to call dbms specific commands to control
transaction. Please use BeginTrans/CommitTrans/Rollback instead.

Anyway I improved the handling of transaction under useDeclareFetch
mode a little. Please try the drivers on testing for 8.4.0100 at
http://www.geocities.jp/inocchichichi/psqlodbc/index.html
..

regards,
Hiroshi Inoue

--
Sent via pgsql-odbc mailing list (pgsql-odbc [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc
Hiroshi Inoue [ Sa, 04 April 2009 09:01 ] [ ID #1996383 ]

Re: driver ODBC-PostreSQL, cursor and transaction isolation level

Hiroshi,

Thank you for your answer.

I try the 2 solutions (BeginTrans and the driver 8.4.0100) and the two of
them work: in the small test, I describe in the last mail, the transaction
is serializable.

I have a last question: with BeginTrans or with the driver 8.4.0100, the
transaction isolation level is every time serializable ? Is it possible to
have a read committed level?

Regards
Olivier

-----Message d'origine-----
De=A0: pgsql-odbc-owner [at] postgresql.org
[mailto:pgsql-odbc-owner [at] postgresql.org] De la part de Hiroshi Inoue
Envoy=E9=A0: samedi 4 avril 2009 09:01
=C0=A0: olivier dorie
Cc=A0: pgsql-odbc [at] postgresql.org
Objet=A0: Re: [ODBC] driver ODBC-PostreSQL, cursor and transaction isolation
level

olivier dorie wrote:
> Hello,
>
>
> I have some problems to have a transaction isolation level serializable=

> with postgresql-ODBC driver for windows by using the ODBC cursor
> (UseDeclareFetch=3D1).
>
>
> My database is on PostgreSQL 8.3.7/ Linux.
>
> I use the postgresql-ODBC version 8.03.04 for windows.
>
> I make this test with the default_transaction_isolation =3D 'read
> committed' and after with the default_transaction_isolation =3D
> 'serializable' on the server. The results are the same.
>
>
> I do the followings operations in a c++ programm:
>
> * I open 2 connections on my database with the ODBC drivers:
> =93connexion1=94 and =93connexion2=94
> o /CDatabase * db1 =3D new CDatabase ;///
> o /CDatabase * db2 =3D new CDatabase///
> o /db1->OpenEx (chaine_connection_mydatabase,
> CDatabase::noOdbcDialog);///
> o /db2->OpenEx (chaine_connection_mydatabase,
> CDatabase::noOdbcDialog)///
> * I ask for the number of tuples of table =93table1=94 =E0 n tuples:
> o /CRecordset crs (//db1)/
> o /crs.Open (CRecordset::snapshot, "SELECT count (*) FROM
> table1;")///
> * I make the =93connexion1=94 serializable :
> o /db1->ExecuteSQL (=93BEGIN TRANSACTION;=94) /
> o /db1->ExecuteSQL (=93SET TRANSACTION ISOLATION LEVEL
> SERIALIZABLE;=94)/

ODBC doesn't recommend to call dbms specific commands to control
transaction. Please use BeginTrans/CommitTrans/Rollback instead.

Anyway I improved the handling of transaction under useDeclareFetch
mode a little. Please try the drivers on testing for 8.4.0100 at
http://www.geocities.jp/inocchichichi/psqlodbc/index.html
=2E

regards,
Hiroshi Inoue

--
Sent via pgsql-odbc mailing list (pgsql-odbc [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc


--
Sent via pgsql-odbc mailing list (pgsql-odbc [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc
olivier dorie [ Mi, 08 April 2009 14:38 ] [ ID #1996801 ]

Re: driver ODBC-PostreSQL, cursor and transaction isolationlevel

Hi Olivier,

olivier dorie wrote:
> Hiroshi,
>
> Thank you for your answer.
>
> I try the 2 solutions (BeginTrans and the driver 8.4.0100) and the two of
> them work: in the small test, I describe in the last mail, the transaction
> is serializable.
>
> I have a last question: with BeginTrans or with the driver 8.4.0100, the
> transaction isolation level is every time serializable ?

Why do you think so?
Your example doesn't seem to show us the difference.

> Is it possible to
> have a read committed level?

It's determined by the server setting. The default is read committed.

regards,
Hiroshi Inoue

--
Sent via pgsql-odbc mailing list (pgsql-odbc [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc
Hiroshi Inoue [ Mi, 08 April 2009 16:27 ] [ ID #1996802 ]

Re: driver ODBC-PostreSQL, cursor and transaction isolation level

This is a multi-part message in MIME format.

------=_NextPart_000_02AF_01C9B90B.888A3EB0
Content-Type: text/plain;
charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hi Hiroshi,



Sorry for my last message, I made some mistakes in my tests.



Since, I have made others tests with begintrans with (the driver 8.4.0100
and the driver 8.3.4):

* No dirty read

* Read committed

* Serializable



I use the server settings or ExecuteSQL("SET ISOLATION LEVEL ..")



All tests give good results.



Regards



Olivier



Hi Olivier,



olivier dorie wrote:

> Hiroshi,

>

> Thank you for your answer.

>

> I try the 2 solutions (BeginTrans and the driver 8.4.0100) and the two

> of them work: in the small test, I describe in the last mail, the

> transaction is serializable.

>

> I have a last question: with BeginTrans or with the driver 8.4.0100,

> the transaction isolation level is every time serializable ?



Why do you think so?

Your example doesn't seem to show us the difference.



> Is it possible to

> have a read committed level?



It's determined by the server setting. The default is read committed.



regards,

Hiroshi Inoue








------=_NextPart_000_02AF_01C9B90B.888A3EB0
Content-Type: text/html;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" =
xmlns:st1=3D"urn:schemas-microsoft-com:office:smarttags" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<o:SmartTagType =
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"
name=3D"PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
[at] font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
[at] font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:Arial;
color:windowtext;}
[at] page Section1
{size:595.3pt 841.9pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
{page:Section1;}
/* List Definitions */
[at] list l0
{mso-list-id:259030399;
mso-list-type:hybrid;
mso-list-template-ids:-1688972534 67895297 67895299 67895301 67895297 =
67895299 67895301 67895297 67895299 67895301;}
[at] list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
[at] list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
[at] list l0:level3
{mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l0:level4
{mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l0:level5
{mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l0:level6
{mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l0:level7
{mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l0:level8
{mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l0:level9
{mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
[at] list l1
{mso-list-id:719671551;
mso-list-type:hybrid;
mso-list-template-ids:729728868 67895297 67895299 67895301 67895297 =
67895299 67895301 67895297 67895299 67895301;}
[at] list l1:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:36.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>

</head>

<body lang=3DFR link=3Dblue vlink=3Dpurple>

<div class=3DSection1>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'>Hi =
Hiroshi,<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'><o:p> </o:p></span></f=
ont></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'>Sorry for my last message, =
I made
some mistakes in my tests.<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'><o:p> </o:p></span></f=
ont></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'>Since, I have made others =
tests
with begintrans with (the driver 8.4.0100 and the driver 8.3.4): =
<o:p></o:p></span></font></p>

<p class=3DMsoPlainText =
style=3D'margin-left:36.0pt;text-indent:-18.0pt;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3DSymbol><span =
lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Symbol'><span =
style=3D'mso-list:Ignore'>·<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>        
</span></font></span></span></font><![endif]><font face=3DTahoma><span
lang=3DEN-GB style=3D'font-family:Tahoma'>No dirty read =
<o:p></o:p></span></font></p>

<p class=3DMsoPlainText =
style=3D'margin-left:36.0pt;text-indent:-18.0pt;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3DSymbol><span =
lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Symbol'><span =
style=3D'mso-list:Ignore'>·<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>        
</span></font></span></span></font><![endif]><font face=3DTahoma><span
lang=3DEN-GB style=3D'font-family:Tahoma'>Read =
committed<o:p></o:p></span></font></p>

<p class=3DMsoPlainText =
style=3D'margin-left:36.0pt;text-indent:-18.0pt;mso-list:
l1 level1 lfo3'><![if !supportLists]><font size=3D2 face=3DSymbol><span =
lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Symbol'><span =
style=3D'mso-list:Ignore'>·<font
size=3D1 face=3D"Times New Roman"><span style=3D'font:7.0pt "Times New =
Roman"'>        
</span></font></span></span></font><![endif]><font face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-family:Tahoma'>Serializable<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'><o:p> </o:p></span></f=
ont></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'>I use the server settings =
or ExecuteSQL(“SET
ISOLATION LEVEL ….”)<o:p></o:p></span></font></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'><o:p> </o:p></span></f=
ont></p>

<p class=3DMsoPlainText><font size=3D2 face=3DTahoma><span lang=3DEN-GB
style=3D'font-size:10.0pt;font-family:Tahoma'>All tests give good =
results.<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>Regards<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'>Olivier<o:p></o:p></span></font></p>

<div =
style=3D'mso-element:para-border-div;border:none;border-bott om:double =
windowtext 2.25pt;
padding:0cm 0cm 1.0pt 0cm'>

<p class=3DMsoNormal style=3D'border:none;padding:0cm'><font size=3D2 =
face=3DTahoma><span
lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:Tahoma'><o:p> </o:p></span></f=
ont></p>

</div>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>Hi =
Olivier,<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><st1:PersonName
ProductID=3D"olivier dorie" w:st=3D"on"><font size=3D2 face=3D"Courier =
New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'>olivier dorie</span></font></st1:PersonName><font
size=3D2 face=3D"Courier New"><span lang=3DEN-GB =
style=3D'font-size:10.0pt;font-family:
"Courier New"'> wrote:<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
Hiroshi,<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
Thank you
for your answer.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> I =
try the 2
solutions (BeginTrans and the driver 8.4.0100) and the two =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
of them
work: in the small test, I describe in the last mail, the =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
transaction
is serializable.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> I =
have a
last question: with BeginTrans or with the driver  8.4.0100, =
<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
the
transaction isolation level is every time serializable =
?<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>Why do =
you think
so?<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>Your =
example
doesn't seem to show us the difference.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'> > Is it
possible to<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>> =
have a read
committed level?<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier New"'>It's =
determined
by the server setting. The default is read =
committed.<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
lang=3DEN-GB style=3D'font-size:10.0pt;font-family:"Courier =
New"'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier =
New"'>regards,<o:p></o:p></span></font></p>

<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 =
face=3D"Courier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>Hiroshi =
Inoue<o:p></o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DTahoma><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Tahoma'><o:p> </o:p></span></font></p>

<p class=3DMsoNormal><font size=3D2 face=3DArial><span lang=3DEN-GB =
style=3D'font-size:
10.0pt;font-family:Arial'><o:p> </o:p></span></font></p>

</div>

</body>

</html>

------=_NextPart_000_02AF_01C9B90B.888A3EB0--
olivier dorie [ Do, 09 April 2009 12:05 ] [ ID #1996985 ]

Re: driver ODBC-PostreSQL, cursor and transaction isolation

On Thu, Apr 9, 2009 at 3:05 AM, olivier dorie <olivier.dorie [at] ign.fr> wrote:

> Since, I have made others tests with begintrans with (the driver 8.4.0100
> and the driver 8.3.4):
>
> =B7=A0=A0=A0=A0=A0=A0=A0=A0 No dirty read
> =B7=A0=A0=A0=A0=A0=A0=A0=A0 Read committed
> =B7=A0=A0=A0=A0=A0=A0=A0=A0 Serializable
>
> I use the server settings or ExecuteSQL(=93SET ISOLATION LEVEL =85.=94)
> All tests give good results.

Only Read Committed and Serializable are implemented in PostgreSQL all
other isolation levels default to one of these two:

http://www.postgresql.org/docs/8.3/interactive/sql-set-trans action.html


--
Regards,
Richard Broersma Jr.

Visit the Los Angeles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug

--
Sent via pgsql-odbc mailing list (pgsql-odbc [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-odbc
Richard Broersma [ Do, 09 April 2009 16:14 ] [ ID #1996986 ]
Datenbanken » gmane.comp.db.postgresql.odbc » driver ODBC-PostreSQL, cursor and transaction isolation level

Vorheriges Thema: geeting error in installing iodbc
Nächstes Thema: Problem with Oracle, ODBC and Postgresql