Schnittstelle IndexImplementation


public interface IndexImplementation
Ein SpaltenIndex innerhalb eines AbstractIndex, hiermit kann über eine Spalte der kleinste oder größte Wert bestimmt werden, wenn der Index über diese Spalte sortiert abgespeichert ist.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    long
    findEntryIndex(long searchValue, byte[] tmp)
    Findet den Element-Index des Eintrags zu einem Wert in diesem Index
    Die von diesem Objekt indexierte Spalte
    query(LongRange inputRange)
    Fragt die Indizes (Zeilennummern) eines Wertebereichs ab.
  • Methodendetails

    • query

      @Nullable LongRange query(LongRange inputRange) throws IOException
      Fragt die Indizes (Zeilennummern) eines Wertebereichs ab. Falls die Spalte, die dieser Index implementiert bspw. Datenzeitwerte enthält, wird query(new LongRange(1000, 2000)) den Zeilenbereich (bspw 12...45) zurückliefern, in denen die Werte in diesem Bereich stehen. In dem Fall könnte z. B. Zeile 12 den Wert 999 enthalten (wenn Zeile 13 den Wert 1002 enthält) und Zeile 45 den Wert 1985 (wenn Zeile 46 den Wert 2002 enthält).

      Das Verhalten entspricht hierbei Archivanfragen, d. h. der erste Datensatz vor Intervallanfang wird ebenfalls mit zurückgegeben, wenn auf dem Intervallanfang kein Datensatz liegt.

      Parameter:
      inputRange - Wertebereich
      Gibt zurück:
      Zeilenbereich oder null
      Löst aus:
      IOException - IO-Fehler beim Lesen des Index
    • findEntryIndex

      long findEntryIndex(long searchValue, byte[] tmp) throws IOException
      Findet den Element-Index des Eintrags zu einem Wert in diesem Index
      Parameter:
      searchValue - Zu suchender Wert
      tmp - Byte-Array zum ablegen von temporären Daten. (Mindestgröße: eine Index-Zeile)
      Gibt zurück:
      Der Index (Zeilennummer) an dem dieser Wert vorkommt.
      • Falls der Wert mehrmals vorkommt (bei nicht streng monoton ansteigenden Werten) wird eine beliebige passende Zeilennummer zurückgegeben.
      • Kommt der Wert nicht direkt vor, wird analog zu Arrays.binarySearch(int[], int) die Zahl (-(<i>Einfügeposition</i>) - 1) zurückgegeben, wobei Einfügeposition die ist, an der der Eintrag "fehlt" und eingefügt werden sollte, falls das beabsichtigt ist.
      Löst aus:
      IOException
    • getColumn

      Die von diesem Objekt indexierte Spalte
      Gibt zurück:
      Spalte