Re: 'Official' definition of ACID compliance?

From: Steve Crawford <scrawford(at)pinpointresearch(dot)com>
To: Alan Garrison <alang(at)cronosys(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: 'Official' definition of ACID compliance?
Date: 2006-01-05 16:22:01
Message-ID: 43BD47A9.5030705@pinpointresearch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sean Davis 2006-01-05 16:32:27 Re: Loading large amounts of data in a SQL command
Previous Message Tom Lane 2006-01-05 16:16:48 Re: Getting timestamp without milliseconds