[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Thoughts on Voiding Invoices



David Tangye wrote:
On Sun, 2006-09-24 at 09:43 -0700, Joshua D. Drake wrote:
Here is some simple psuedo-code for you:

BEGIN;

INSERT INTO invoices VALUES('a','120.00');
ERROR: You can't sell part 'a' for 120.00.

ROLLBACK;

Yes it is a silly example but that is EXACTLY what void means.
No its not. That is rolling back a database transaction. Voiding in the
application is where you have not rolled back, you have committed. In
that commit intgerval (or synch interval) all logically-related
operations have occurred for that business transaction. *Then* you want
to void that business transaction: ie delete the record of that business
event.

Voiding as you folk have been discussing is an application/business
-level thing, not voiding/rolling back a database transaction.

David, are you not able to abstract things out? The database example above wasn't meant as a database transaction. I was only using the database transaction as a metaphor.

Joshua D. Drake
--

   === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240
   Providing the most comprehensive  PostgreSQL solutions since 1997
             http://www.commandprompt.com/