Re: 'Official' definition of ACID compliance? - Mailing list pgsql-general

From Steve Crawford
Subject Re: 'Official' definition of ACID compliance?
Date
Msg-id 43BD47A9.5030705@pinpointresearch.com
Whole thread Raw
In response to Re: 'Official' definition of ACID compliance?  (Alan Garrison <alang@cronosys.com>)
Responses Re: 'Official' definition of ACID compliance?  (Russ Brown <pickscrape@gmail.com>)
List pgsql-general
Alan Garrison wrote:
> Russ Brown wrote:
>> Does anyone know where I can find the 'official' definition of what it
>> meant by ACID compliance?
>>
>> We're having a discussion about it that we could do with resolving. In
>> particular, the key point is what it meant by the 'C' part. I maintain
>> that MySQL is not ACID compliant because it will (among other things)
>> swallow integers that don't fit into a column silently and just
>> truncate it, while our DBA (while agreeing that this is not good
>> behaviour) maintains that this is not what the C part means: he says
>> that's just about transaction states (succeed or fail etc).

I personally read "C" to disallow MySQL's truncation behavior. Suppose
you have a simple/stupid banking database with only one table listing
the amount in the bank for each customer. The manager sums up the
balances to find out how much is in the bank. Meanwhile Larry owes Jane
some money so he has it transferred to her account. The balance the
manager gets should be identical whether she runs the query before,
during or after the transaction.

Now Jane is a good saver so when Larry transfers the money, MySQL
truncates her account at the max amount allowed by the column-type. The
manager's reports will be incorrect as will Jane's account balance.
Unless Larry and Jane bank at Enron S&L, this is bound to violate some
rule or integrity constraint.

But if you and the DBA are in agreement that MySQL behaves badly, why
waste time arguing over which letter in some acronym is pertinent?

Cheers,
Steve

pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: Getting timestamp without milliseconds
Next
From: Sean Davis
Date:
Subject: Re: Loading large amounts of data in a SQL command