/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package com.github.geophile.erdo.transaction; // Represents a tree, which records updates from one or more transactions. The updates from one // transaction are completely contained in one tree at a time. public interface TransactionUpdates { /** * Sets the timestamp of a tree of updates not created by consolidation. * @param timestamp Timestamp of the updates. */ void transactionTimestamp(long timestamp); /** * The timestamps of transactions represented by this map. The state of a transaction is * always entirely contained in either one or two maps. In the case of two maps, * one of the maps is being consolidated into the other. * * @return The timestamps of transactions represented by this map. */ TimestampSet timestamps(); /** * Returns the number of records contained by the map. This is not the same as cardinality, * since some of the contained records may have deleted() = true. * * @return Number of records contained by the map. */ long recordCount(); }