1 /* 2 3 Derby - Class org.apache.derby.iapi.store.raw.xact.TransactionId 4 5 Licensed to the Apache Software Foundation (ASF) under one or more 6 contributor license agreements. See the NOTICE file distributed with 7 this work for additional information regarding copyright ownership. 8 The ASF licenses this file to you under the Apache License, Version 2.0 9 (the "License"); you may not use this file except in compliance with 10 the License. You may obtain a copy of the License at 11 12 http://www.apache.org/licenses/LICENSE-2.0 13 14 Unless required by applicable law or agreed to in writing, software 15 distributed under the License is distributed on an "AS IS" BASIS, 16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 See the License for the specific language governing permissions and 18 limitations under the License. 19 20 */ 21 22 package org.apache.derby.iapi.store.raw.xact; 23 24 import org.apache.derby.iapi.services.io.Formatable; 25 26 /** 27 A transaction identifier that is only unique within a raw store, do not 28 ever pass this out of raw store. During reboot, all transaction Ids that 29 have ever generated a log record will not be reused. 30 31 However, if you put away the transaction Id of a read only transaction, 32 then the is no guarentee that the transactionId won't be reused when the 33 system reboots. It is much safer to store away the ExternalTrasanctionId 34 rather than the transactionId. 35 36 The equals() method for TransactionId implements by value equality. 37 38 MT - immutable 39 40 */ 41 public interface TransactionId extends Formatable { 42 43 /** 44 Return the maximum number of bytes the transactionId will take 45 to store using writeExternal. 46 */ 47 int getMaxStoredSize(); 48 49 /* need to write a value based HashCode() method. */ 50 } 51