org.d2rq.db.op
Interface DatabaseOp
- All Known Implementing Classes:
- AliasOp, AssertUniqueKeyOp, DatabaseOp.Wrapper, DistinctOp, EmptyOp, InnerJoinOp, LimitOp, NamedOp, OrderOp, ProjectOp, SelectOp, SQLOp, TableOp
public interface DatabaseOp
An operator or operand in a relational algebra expression
over SQL-style tables.
- Author:
- Richard Cyganiak (richard@cyganiak.de)
Field Summary |
static DatabaseOp |
TRUE
A table with one row and no columns. |
TRUE
static final DatabaseOp TRUE
- A table with one row and no columns. Like Oracle's
DUAL
table. The identity element of the relational cross product operation.
In many databases, this table can be accessed by simply omitting
the FROM
clause in a SELECT
statement.
getTableName
TableName getTableName()
- Returns:
- Name in [[CATALOG.]SCHEMA.]TABLE notation, possibly
null
hasColumn
boolean hasColumn(ColumnName column)
- Parameters:
column
- A qualified or unqualified column name
- Returns:
false
for ambiguous unqualified names
getColumns
List<ColumnName> getColumns()
- Returns:
- Fully qualified column names if possible, no duplicates
isNullable
boolean isNullable(ColumnName column)
getColumnType
DataType getColumnType(ColumnName column)
getUniqueKeys
Collection<Key> getUniqueKeys()
accept
void accept(OpVisitor visitor)