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
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 |