KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > mckoi > database > interpret > CompleteTransaction


1 /**
2  * com.mckoi.database.interpret.CompleteTransaction 14 Sep 2001
3  *
4  * Mckoi SQL Database ( http://www.mckoi.com/database )
5  * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * Version 2 as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License Version 2 for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * Version 2 along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19  *
20  * Change Log:
21  *
22  *
23  */

24
25 package com.mckoi.database.interpret;
26
27 import com.mckoi.database.*;
28 import java.util.ArrayList JavaDoc;
29 import java.util.List JavaDoc;
30
31 /**
32  * This represents either a COMMIT or ROLLBACK SQL command.
33  *
34  * @author Tobias Downer
35  */

36
37 public class CompleteTransaction extends Statement {
38
39   String JavaDoc command; // This is set to either 'commit' or 'rollback'
40

41
42
43   // ---------- Implemented from Statement ----------
44

45   public void prepare() throws DatabaseException {
46     command = (String JavaDoc) cmd.getObject("command");
47   }
48
49   public Table evaluate() throws DatabaseException, TransactionException {
50
51     DatabaseQueryContext context = new DatabaseQueryContext(database);
52
53     if (command.equals("commit")) {
54 // try {
55
// Commit the current transaction on this connection.
56
database.commit();
57 // }
58
// catch (TransactionException e) {
59
// // This needs to be handled better!
60
// Debug.writeException(e);
61
// throw new DatabaseException(e.getMessage());
62
// }
63
return FunctionTable.resultTable(context, 0);
64     }
65     else if (command.equals("rollback")) {
66       // Rollback the current transaction on this connection.
67
database.rollback();
68       return FunctionTable.resultTable(context, 0);
69     }
70     else {
71       throw new Error JavaDoc("Unrecognised transaction completion command.");
72     }
73
74   }
75
76
77 }
78
Popular Tags