pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Hiroshi Inoue <Inoue@tpf.co.jp>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Hiroki Kataoka <kataoka@interwiz.koganei.tokyo.jp>
Cc: pgsql-interfaces@postgresql.org
Cc: pgsql-odbc@postgresql.org
Cc: Steve Wranovsky <stevew@merge.com>
Subject: RE: 7.1 beta 3 Linux ODBC BEGIN Behaviour
Date: Sun, 11 Feb 2001 06:37:02 +0900
Message-ID: <EKEJJICOHDIEMGPNIFIJCEBDDJAA.Inoue@tpf.co.jp> (raw)
In-Reply-To: <3976.981826245@sss.pgh.pa.us>

> -----Original Message-----
> From: Tom Lane
> 
> It'd be nice if ODBC could distinguish SELECT FOR UPDATE from plain
> SELECT, but in practice it cannot reliably do so.  Doubtless we could
> extend ODBC to look for "FOR UPDATE" in the text of the query, but
> that will only catch simple situations.  Consider these possibilities:
> 
> * A view or rule invoked by the query uses FOR UPDATE.  (Pre-7.1, we
> didn't support FOR UPDATE in views ... but we do now.)
> 
> * A function invoked by the query does SELECT FOR UPDATE internally.
> 
> For that matter, it's quite possible for a function invoked by a SELECT
> to do INSERT/UPDATE/DELETE internally.  Therefore, it's impossible for
> the ODBC driver to reliably distinguish a pure SELECT from a SELECT that
> causes locking or even data updates.
> 
> Given these considerations, I think it's a mistake for ODBC to treat
> SELECT differently from other queries for the purpose of setting
> transaction boundaries.
>

OK, agreed. 
However simply putting back the behabior make it impossible to call
VACUUM in psqlodbc autocommit off mode.

My idea is as follows.
 [In autocommit off mode]
 1) All statements except STMT_TYPE_OTHER issue
     "BEGIN" if a trasaction isn't in progress.
 2) STMT_TYPE_OTHER statements automatically issue
    "COMMIT" if a transaction is progress.

Comments ?

Regards,
Hiroshi Inoue



view thread (13+ messages)  latest in thread

Message-ID: <EKEJJICOHDIEMGPNIFIJCEBDDJAA.Inoue@tpf.co.jp>
Permalink:  ../EKEJJICOHDIEMGPNIFIJCEBDDJAA.Inoue@tpf.co.jp/
Also on:    postgresql.org/message-id/EKEJJICOHDIEMGPNIFIJCEBDDJAA.Inoue@tpf.co.jp

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: Inoue@tpf.co.jp, tgl@sss.pgh.pa.us, kataoka@interwiz.koganei.tokyo.jp, pgsql-odbc@postgresql.org, stevew@merge.com
  Subject: RE: 7.1 beta 3 Linux ODBC BEGIN Behaviour
  In-Reply-To: <EKEJJICOHDIEMGPNIFIJCEBDDJAA.Inoue@tpf.co.jp>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox