Package acdp

Interface Information.WRStoreInfo

All Superinterfaces:
Information.StoreInfo
Enclosing interface:
Information

public static interface Information.WRStoreInfo extends Information.StoreInfo
The WR store info comprises some useful information about the WR store of a table of a WR database, including all values from the store sublayout.
Author:
Beat Hörmann
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    Returns the size in bytes of a memory block within the FL file space.
    Returns the FL data file, that is the backing file for the table's fixed length data.
    long
    Returns the total size in bytes of the unused memory blocks within the FL file space.
    long
    Returns the total size in bytes of the used memory blocks within the FL file space.
    long
    Computes the highest value of the reference counter over all rows of the table associated with this store.
    long
    Returns the maximum number of memory blocks within the FL file space (used and unused ones) the ACDP file space manager can sustain.
    long
    Returns the maximum safe size in bytes of the VL data file, provided that the store saves any outrow data.
    int
    Returns the number of bytes required for referencing any outrow data in the table associated with this store.
    int
    Returns the number of bytes used by the reference counter in the header of a row in the table associated with this store.
    int
    Returns the number of bytes required for referencing a row in the table associated with this store.
    long
    Returns the number of memory blocks within the FL file space (used and unused ones).
    long
    The size in bytes of the VL data file, provided that this store saves any outrow data.
    Returns the VL data file, that is the backing file for the table's outrow data, provided that this store saves any outrow data.
    long
    Returns the total size in bytes of the unused memory blocks within the VL file space.
    long
    Returns the total size in bytes of the used memory blocks within the VL file space.
  • Method Details

    • flDataFile

      Path flDataFile()
      Returns the FL data file, that is the backing file for the table's fixed length data.

      This property is registered in the store sublayout.

      Returns:
      The FL data file, never null.
    • vlDataFile

      Path vlDataFile()
      Returns the VL data file, that is the backing file for the table's outrow data, provided that this store saves any outrow data.

      This property is registered in the store sublayout.

      Returns:
      The VL data file or null if and only if this store has no outrow data.
    • flUsed

      long flUsed()
      Returns the total size in bytes of the used memory blocks within the FL file space. Dividing the result of this method by the block size returns the number of used FL memory blocks which is equal to the number of rows that are stored in the table associated with this store.

      Note that the result of this method is immediately outdated if concurrent writes are taking place on the table data stored in this store. Use a read zone to prevent concurrent writes. (Read zones are explained in section "Read Zones" of the Database interface description.)

      Returns:
      The total size of the used FL memory blocks in bytes. This value is greater than or equal to zero.
    • flUnused

      long flUnused()
      Returns the total size in bytes of the unused memory blocks within the FL file space. Dividing the result of this method by the block size returns the number of unused FL memory blocks.

      Unused FL memory blocks are reused when rows are inserted into the table. Compacting the FL file space removes unused FL memory blocks.

      Note that the result of this method is immediately outdated if concurrent writes are taking place on the table data stored in this store. Use a read zone to prevent concurrent writes. (Read zones are explained in section "Read Zones" of the Database interface description.)

      Returns:
      The total size of the unused FL memory blocks in bytes. This value is greater than or equal to zero.
    • vlUsed

      long vlUsed()
      Returns the total size in bytes of the used memory blocks within the VL file space.

      Note that the result of this method is immediately outdated if concurrent writes are taking place on the table data stored in this store. Use a read zone to prevent concurrent writes. (Read zones are explained in section "Read Zones" of the Database interface description.)

      Returns:
      The total size of the used VL memory blocks in bytes. This value is greater than or equal to zero. If this store does not save any outrow data then this value is zero.
    • vlUnused

      long vlUnused()
      Returns the total size in bytes of the unused memory blocks within the VL file space.

      Compacting the VL file space removes the unused VL memory blocks.

      Note that the result of this method is immediately outdated if concurrent writes are taking place on the table data stored in this store. Use a read zone to prevent concurrent writes. (Read zones are explained in section "Read Zones" of the Database interface description.)

      Returns:
      The total size of the unused VL memory blocks in bytes. This value is greater than or equal to zero. If this store does not save any outrow data then this value is zero.
    • nobsRowRef

      int nobsRowRef()
      Returns the number of bytes required for referencing a row in the table associated with this store.

      See the description of the Setup Tool for further information about the nobsRowRef, nobsOutrowPtr and nobsRefCount properties.

      This property is registered in the store sublayout.

      Returns:
      The value of the nobsRowRef property, greater than or equal to 1 and less than or equal to 8.
    • nobsOutrowPtr

      int nobsOutrowPtr()
      Returns the number of bytes required for referencing any outrow data in the table associated with this store.

      See the description of the Setup Tool for further information about the nobsRowRef, nobsOutrowPtr and nobsRefCount properties.

      This property is registered in the store sublayout.

      Returns:
      The value of the nobsOutrowPtr property, greater than or equal to 1 and less than or equal to 8. If this store does not save any outrow data then this value is zero.
    • nobsRefCount

      int nobsRefCount()
      Returns the number of bytes used by the reference counter in the header of a row in the table associated with this store.

      See the description of the Setup Tool for further information about the nobsRowRef, nobsOutrowPtr and nobsRefCount properties.

      This property is registered in the store sublayout.

      Returns:
      The value of the nobsRefCount property, greater than or equal to 1 and less than or equal to 8. If the table associated with this store is not referenced by any table of the database then this value is zero.
    • highestRefCount

      long highestRefCount() throws IOFailureException
      Computes the highest value of the reference counter over all rows of the table associated with this store.

      Note that the value returned by this method is always less than or equal to 256n-1, where n denotes the value returned by the nobsRefCount() method.

      In case of table data corruption this read-only service operation may throw an exception of a type different from the one listed below. If the database is a writable WR database then temporary table data corruption may be due to concurrent writes. Invoke this operation inside a read zone or a unit to ensure that no concurrent writes are taken place in the database while this operation is being executed.

      Returns:
      The highest value of the reference counter or -1 if the table associated with this store is not referenced by any table of the database.
      Throws:
      IOFailureException - If an I/O error occurs.
    • blockSize

      int blockSize()
      Returns the size in bytes of a memory block within the FL file space.
      Returns:
      The size of an FL memory block, greater than zero.
    • numberOfBlocks

      long numberOfBlocks()
      Returns the number of memory blocks within the FL file space (used and unused ones).

      Note that the result of this method is immediately outdated if concurrent writes are taking place on the table data stored in this store. Use a read zone to prevent concurrent writes. (Read zones are explained in section "Read Zones" of the Database interface description.)

      Returns:
      The number of used and unused FL memory blocks, greater than or equal to zero.
    • maxNumberOfBlocks

      long maxNumberOfBlocks()
      Returns the maximum number of memory blocks within the FL file space (used and unused ones) the ACDP file space manager can sustain. This number is determined by the nobsRowRef() property.
      Returns:
      The maximum number of used an unused FL memory blocks, greater than or equal to 255.
    • sizeOfVlDataFile

      long sizeOfVlDataFile()
      The size in bytes of the VL data file, provided that this store saves any outrow data.

      Note that the result of this method is immediately outdated if concurrent writes are taking place on the table data stored in this store. Use a read zone to prevent concurrent writes. (Read zones are explained in section "Read Zones" of the Database interface description.)

      Returns:
      The size of the VL data file in bytes or -1 if this store does not save any outrow data.
    • maxSafeSizeOfVlDataFile

      long maxSafeSizeOfVlDataFile()
      Returns the maximum safe size in bytes of the VL data file, provided that the store saves any outrow data.

      Any VL memory block can be referenced from an FL memory block if the size of the VL data file does not exceed the value returned by this method.

      The maximum safe size of the VL data file is directly linked to the nobsOutrowPtr() property.

      Returns:
      The maximum safe size of the VL data file in bytes, greater than or equal to 256 or -1 if this store does not save any outrow data.