
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--
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
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
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
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
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--
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