1 /** 2 * MEDOR: Middleware Enabling Distributed Object Requests 3 * 4 * Copyright (C) 2001-2003 France Telecom R&D 5 * Contact: alexandre.lefebvre@rd.francetelecom.com 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 * 21 * Initial developers: M. Alia, A. Lefebvre 22 */ 23 24 package org.objectweb.medor.query.rdb.api; 25 26 import org.objectweb.jorm.type.api.PType; 27 28 /** 29 * An RdbStringQueryLeaf is an RdbQueryLeaf built from a SQL request provided 30 * as a String. 31 * The Medor optimizer cannot "reason" with an RdbStringQueryLeaf, and namely 32 * cannot collapse several RdbStringQueryLeaves on the same datastore into one. 33 * Such an RdbStringQueryLeaf is thus a "black box". 34 * If RdbQueryLeaves should be collapsed into one for optimisation purposes, 35 * RdbExpQueryLeaves should be used instead. 36 * @see org.objectweb.medor.query.rdb.api.RdbQueryLeaf 37 * @see org.objectweb.medor.query.rdb.api.RdbExpQueryLeaf 38 * 39 * @author <A HREF="mailto:alia.mourad@rd.francetelecom.com><b> 40 * Mourad Alia 41 * </b></A> 42 * <A HREF="mailto:alexandre.lefebvre@rd.francetelecom.com><b> 43 * Alexandre Lefebvre 44 * </b></A> 45 */ 46 public interface RdbStringQueryLeaf extends RdbQueryLeaf { 47 /** 48 * Adds a Field to the RdbExpQueryLeaf 49 * @param fieldName is the name of the Field to be added. 50 * @param type is the PTyme of the Field to be added. 51 * @param nameInQuery is the name of the column in the associated 52 * QualifiedTable. 53 * @return the created RdbExpField. 54 */ 55 RdbField addRdbField(String fieldName, 56 PType type, 57 String nameInQuery); 58 59 } 60