Subject Re: generate report for POS
Author Adam
--- In firebird-support@yahoogroups.com, bill_lam <bill_lam@...> wrote:
>
> Adam wrote:
> > For your report, simply start a snapshot transaction (not sure how
> > this is done in your environment, but if you post details someone will
> > know). Then just issue your select statement, and it will not see
> > changes made subsequent to the transaction start. There are lots of
> > options depending on what you are doing, and many scenarios that can
> > be encountered, too many for a single post.
> >
> In ODBC, it uses four transaction isolation levels (as defined by
SQL-92)
> Read uncommitted
> Read committed
> Repeatable read
> Serializable
>
> SQLServer and MySQL ODBC support all 4 levels.
> Firebird suport all except the first.
>
> SNAPSHOT or versoning isolation levels are not mentioned in ODBC.

SNAPSHOT/CONCURRENCY = Repeatable read

Not sure where the terms came from, but remember that Firebird's
predecessor predates SQL92, so it would not surprise me if the terms
are slightly different.

The document I posted before mentions the way the levels are in Firebird.

http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_expert5

You may also want to check the documentation of your particular
Firebird ODBC driver to see what maps to what.

>
> FYI, you are discouraged to issue a "SET TRANSACTION" sql command
within ODBC,
> because transactions must be managed using ODBC api. But I'll try to
see if it
> works.
>
> BTW, is SNAPSHOT (transaction not cursor) available in other FB
middleware like
> jaybird or netprovider?
>

I believe these interfaces do surface all the available isolation
levels. I am not sure of exactly how each implements it, however there
are lists dedicated to them. Follow the links from the main
www.firebirdsql.org to the lists and subscribe.

Btw, a quick google found this:
http://www.dotnetfirebird.org/transaction-isolation-levels

Adam