* Treiber, Host, User und Passwort, ueber den der Zugriff auf die
* Datenbank erfolgt.
*
- * @version $Id: Database.java,v 1.44.2.8 2003/11/24 19:57:54 rk Exp $
+ * @version $Id: Database.java,v 1.44.2.12 2003/11/24 23:54:06 rk Exp $
* @author rk
*
*/
*/
public EntityList selectByWhereClauseWithExtraTables(String mainTablePrefix,
- Vector extraTables, String aWhereClause )
+ List extraTables, String aWhereClause )
throws StorageObjectFailure {
return selectByWhereClause( mainTablePrefix, extraTables, aWhereClause, "", 0, -1);
}
* @return EntityList mit den gematchten Entities
* @exception StorageObjectException
*/
- public EntityList selectByWhereClause(String mainTablePrefix, Vector extraTables,
+ public EntityList selectByWhereClause(String mainTablePrefix, List extraTables,
String aWhereClause, String anOrderByClause,
int offset, int limit) throws StorageObjectFailure {
+
String useTable = theTable;
- if (mainTablePrefix!=null && mainTablePrefix.trim().length()>0)
- useTable+=" "+mainTablePrefix;
+ String selectStar = "*";
+ if (mainTablePrefix!=null && mainTablePrefix.trim().length()>0) {
+ useTable+=" "+mainTablePrefix;
+ selectStar=mainTablePrefix.trim() + ".*";
+ }
// check o_store for entitylist
// only if no relational select
StringBuffer countSql =
new StringBuffer("select count(*) from ").append(useTable);
StringBuffer selectSql =
- new StringBuffer("select * from ").append(useTable);
+ new StringBuffer("select "+selectStar+" from ").append(useTable);
// append extratables, if necessary
if (extraTables!=null) {
for (int i=0;i < extraTables.size();i++) {
- countSql.append( ", " + extraTables.elementAt(i));
- selectSql.append( ", " + extraTables.elementAt(i));
+ if (!extraTables.get(i).equals("")) {
+ countSql.append( ", " + extraTables.get(i));
+ selectSql.append( ", " + extraTables.get(i));
+ }
}
}