On 20/11/12 11:50 AM, Markus Hoenicka wrote:
> Mike Rylander<mrylan...@gmail.com>  was heard to say:
>
>> I think I'd add three calls to the proposed API, though, for support
>> of savepoints.  They're part of the SQL standard, and supported by
>> several SQL RDBMS' including Postgres (the db my project uses, and we
>> use libdbi to connect to PG).  The relevant PG documentation is
>> available at http://www.postgresql.org/docs/9.1/static/sql-savepoint.html
>> .  I have wrappers for savepoints in my implementation, and they are
>> very handy for complex DB interactions.
>>
>
> Sounds like a no-brainer if it is as simple as you say. I don't keep
> the SQL standard underneath my pillow, but is it safe to assume that
> database engines are responsible to deal with any pending savepoints
> if a transaction is committed (i.e. no extra work for libdbi)?
>
> This brings up another question. Applications should of course check
> the "transaction_supported" and "savepoints_supported" driver
> capabilities and act responsibly. But if a database engine does not
> support savepoints, or transactions altogether, should libdbi just go
> ahead when asked, or should it throw an error instead? I recall that
> MySQL "supported" transactions in MyISAM tables using no-ops.

That is correct. The transactional engine is InnoDB, and it's the 
recommended one if you care about your data and its integrity.

I would suggest that libdbi should not try to be clever here - it's 
basically infeasible to try and determine whether a sequence of 
statements is transactionally unsafe in some way. For one thing, storage 
engines can be mixed in one MySQL schema, and a sequence of statements 
can involve them in arbitrary combinations (which is very foolish, but 
still). A warning about MyISAM might be placed in the manual, however.

I don't know anything about savepoints so can't comment on that part.

--Toby

>
> regards,
> Markus
>


------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
libdbi-users mailing list
libdbi-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libdbi-users

Reply via email to