org.objectweb.medor.optim.lib

Class IndexesGenerator

Implemented Interfaces:
ExecPlanGenerator, QueryTransformer

public class IndexesGenerator
extends java.lang.Object
implements ExecPlanGenerator

MEDOR: Middleware Enabling Distributed Object Requests Copyright (C) 2001-2003 France Telecom R&D Contact: alexandre.lefebvre@rd.francetelecom.com This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Initial developers: M. Alia, A. Lefebvre

Method Summary

int[]
computesFieldIndexes(TupleStructure ts, QueryTree nodes)
void
setFilterIndexes(Expression e, QueryTree qts)
This method inherited from QueryIndexGenerator.
QueryTree
transform(QueryTree query)
This methods transforms a QueryTree into another QueryTree.

Method Details

computesFieldIndexes

public int[] computesFieldIndexes(TupleStructure ts,
                                  QueryTree nodes)
            throws MedorException,
                   ExpressionException


setFilterIndexes

public void setFilterIndexes(Expression e,
                             QueryTree qts)
            throws MedorException,
                   ExpressionException
This method inherited from QueryIndexGenerator. It checks that all Fields in the Expression are present in the array of QueryTree and sets yhe indexs of the fieldOperand.

Parameters:
e - Expression filter
qts - array of QueryTree


transform

public QueryTree transform(QueryTree query)
            throws MedorException
This methods transforms a QueryTree into another QueryTree.
Specified by:
transform in interface QueryTransformer