vishnu.model.indexes
Interface Index

All Known Subinterfaces:
HashIndex
All Known Implementing Classes:
AbstractHashIndex, AbstractIndex, BTreeIndex, StaticHashIndex

public interface Index

Esta interfaz modela un indice. Solo permite acceder a la definicion del mismo, no a su estructura, ni tampoco recorrerlo.

Author:
Mariano Tepper
 

Field Summary
static int BTREE
           
static int CLUSTERED
           
static int HASH
           
static int UNIQUE
           
 
Method Summary
 void attach(TableContext c)
          Usado para definir el esquema del indice.
 Record createSearchKeyRecord()
           
 int getStructure()
          devuelve el tipo de estructura del indice (HASH , BTREE o algun otro)
 Value getStructureIdentifier()
          devuelve el tipo de estructura del indice (HASH , BTREE o algun otro)
 boolean isClustered()
          indica si el indice es clustered
 boolean isUnique()
          indica si el indice es unique
 RecordSet matchingRecords(Record searchKeyValues)
           
 java.lang.String name()
          devuelve el nombre del indice
 void notifyDelete(Record r)
           
 void notifyInsert(Record r)
           
 void notifyUpdate(Record r)
           
 java.util.List<java.lang.String> searchKeys()
          TODO FIX COMMENT.
 

Field Detail

UNIQUE

static final int UNIQUE
See Also:
Constant Field Values

CLUSTERED

static final int CLUSTERED
See Also:
Constant Field Values

HASH

static final int HASH
See Also:
Constant Field Values

BTREE

static final int BTREE
See Also:
Constant Field Values
Method Detail

searchKeys

java.util.List<java.lang.String> searchKeys()
TODO FIX COMMENT. debe trabajar sobre una lista de columnas (SearchKey) devuelve el nombre de la columna a la que apunta el indice


name

java.lang.String name()
devuelve el nombre del indice


getStructureIdentifier

Value getStructureIdentifier()
devuelve el tipo de estructura del indice (HASH , BTREE o algun otro)


getStructure

int getStructure()
devuelve el tipo de estructura del indice (HASH , BTREE o algun otro)


isUnique

boolean isUnique()
indica si el indice es unique


isClustered

boolean isClustered()
indica si el indice es clustered


attach

void attach(TableContext c)
Usado para definir el esquema del indice.


createSearchKeyRecord

Record createSearchKeyRecord()

matchingRecords

RecordSet matchingRecords(Record searchKeyValues)

notifyInsert

void notifyInsert(Record r)

notifyUpdate

void notifyUpdate(Record r)

notifyDelete

void notifyDelete(Record r)