de.fuberlin.wiwiss.d2rq.sql
Class SQL

java.lang.Object
  extended by de.fuberlin.wiwiss.d2rq.sql.SQL

public class SQL
extends Object

Parses different types of SQL fragments from Strings, and turns them back into Strings. All methods are static. TODO: find/rename/quoteColumnsInExpression will fail e.g. for coumn names occuring inside string literals

Version:
$Id: SQL.java,v 1.2 2006/09/15 19:36:44 cyganiak Exp $
Author:
Richard Cyganiak (richard@cyganiak.de)

Method Summary
static Set findColumnsInExpression(String expression)
           
static AliasMap.Alias parseAlias(String aliasExpression)
          Constructs an Alias from an SQL "foo AS bar" expression.
static Attribute parseAttribute(String qualifiedName)
          Constructs an attribute from a fully qualified column name in [schema.]table.column notation.
static Set parseJoins(Collection joinConditions)
          Builds a list of Join objects from a list of join condition strings.
static RelationName parseRelationName(String qualifiedName)
          Constructs a relation name from a fully qualified name in schema.table or table notation.
static String quoteColumnsInExpression(String expression, ConnectedDB database)
           
static String replaceColumnsInExpression(String expression, ColumnRenamer columnRenamer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parseAttribute

public static Attribute parseAttribute(String qualifiedName)
Constructs an attribute from a fully qualified column name in [schema.]table.column notation.

Parameters:
qualifiedName - The attribute's name

findColumnsInExpression

public static Set findColumnsInExpression(String expression)

replaceColumnsInExpression

public static String replaceColumnsInExpression(String expression,
                                                ColumnRenamer columnRenamer)

quoteColumnsInExpression

public static String quoteColumnsInExpression(String expression,
                                              ConnectedDB database)

parseRelationName

public static RelationName parseRelationName(String qualifiedName)
Constructs a relation name from a fully qualified name in schema.table or table notation.

Parameters:
qualifiedName - The relation's name

parseAlias

public static AliasMap.Alias parseAlias(String aliasExpression)
Constructs an Alias from an SQL "foo AS bar" expression.


parseJoins

public static Set parseJoins(Collection joinConditions)
Builds a list of Join objects from a list of join condition strings. Groups multiple condition that connect the same two table (multi-column keys) into a single join.

Parameters:
joinConditions - a collection of strings
Returns:
a set of Join instances