2 Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; version 2 of the License.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; if not, write to the Free Software
15 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 package com.mysql.clusterj.core.store;
20 import com.mysql.clusterj.LockMode;
25 public interface ClusterTransaction {
29 public void executeCommit();
31 public void executeCommit(boolean abort, boolean force);
33 public void executeNoCommit(boolean abort, boolean force);
35 public void executeNoCommit();
37 public void executeRollback();
39 public Operation getSelectOperation(Table storeTable);
41 public Operation getInsertOperation(Table storeTable);
43 public Operation getUpdateOperation(Table storeTable);
45 public Operation getWriteOperation(Table storeTable);
47 public Operation getDeleteOperation(Table storeTable);
49 public IndexOperation getUniqueIndexOperation(Index storeIndex, Table storeTable);
51 public IndexOperation getUniqueIndexDeleteOperation(Index storeIndex, Table storeTable);
53 public IndexScanOperation getIndexScanOperation(Index storeIndex, Table storeTable);
55 public IndexScanOperation getIndexScanOperationLockModeExclusiveScanFlagKeyInfo(Index storeIndex, Table storeTable);
57 public IndexScanOperation getIndexScanOperationMultiRange(Index storeIndex, Table storeTable);
59 public ScanOperation getTableScanOperation(Table storeTable);
61 public ScanOperation getTableScanOperationLockModeExclusiveScanFlagKeyInfo(Table storeTable);
63 public boolean isEnlisted();
65 public void setPartitionKey(PartitionKey partitionKey);
67 public String getCoordinatedTransactionId();
69 public void setCoordinatedTransactionId(String coordinatedTransactionId);
71 public void setLockMode(LockMode lockmode);
73 public void setAutocommit(boolean autocommit);
75 public void postExecuteCallback(Runnable postExecuteCallbackHandler);