Uses of Interface
org.d2rq.db.op.DatabaseOp

Packages that use DatabaseOp
org.d2rq   
org.d2rq.algebra   
org.d2rq.db   
org.d2rq.db.expr   
org.d2rq.db.op   
org.d2rq.db.op.util   
org.d2rq.db.renamer   
org.d2rq.engine   
org.d2rq.lang   
org.d2rq.tmp   
org.d2rq.values   
 

Uses of DatabaseOp in org.d2rq
 

Constructors in org.d2rq with parameters of type DatabaseOp
ResourceCollection(CompiledMapping mapping, SQLConnection connection, NodeMaker entityMaker, DatabaseOp entityTable, Collection<TripleRelation> entityDescription)
           
 

Uses of DatabaseOp in org.d2rq.algebra
 

Methods in org.d2rq.algebra that return DatabaseOp
 DatabaseOp NodeRelation.getBaseTabular()
           
 DatabaseOp NodeRelationProjecter.visit(SQLOp original)
           
 DatabaseOp NodeRelationOrderer.visit(SQLOp original)
           
 DatabaseOp NodeRelationProjecter.visit(TableOp original)
           
 DatabaseOp NodeRelationOrderer.visit(TableOp original)
           
 DatabaseOp NodeRelationProjecter.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp NodeRelationOrderer.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp NodeRelationProjecter.visitLeave(DistinctOp original, DatabaseOp child)
          We have a DISTINCT clause; adding or removing columns would change the result.
 DatabaseOp NodeRelationOrderer.visitLeave(EmptyOp original, DatabaseOp child)
          Sorting an empty table is a no-op, so just return the original
 DatabaseOp NodeRelationProjecter.visitLeave(InnerJoinOp original, Collection<NamedOp> newChildren)
          TODO: Can we push parts of the projection down into the join?
 DatabaseOp NodeRelationOrderer.visitLeave(InnerJoinOp original, Collection<NamedOp> newChildren)
           
 DatabaseOp NodeRelationOrderer.visitLeave(LimitOp original, DatabaseOp child)
          We have a LIMIT clause; adding ORDER BY would change the result as ordering is done before LIMIT in SQL.
 DatabaseOp NodeRelationProjecter.visitLeave(OrderOp original, DatabaseOp child)
          TODO: Can we push the projection down over the ordering?
 DatabaseOp NodeRelationOrderer.visitLeave(OrderOp original, DatabaseOp child)
          We can merge with an existing ORDER BY clause.
 DatabaseOp NodeRelationProjecter.visitLeave(ProjectOp original, DatabaseOp child)
          Merge the projection lists.
 DatabaseOp NodeRelationProjecter.visitLeave(SelectOp original, DatabaseOp child)
          TODO: Can we push the projection down over the selection?
 DatabaseOp NodeRelationOrderer.visitLeave(SelectOp original, DatabaseOp child)
           
 DatabaseOp NodeRelationProjecter.visitOpTrue()
           
 DatabaseOp NodeRelationOrderer.visitOpTrue()
           
 

Methods in org.d2rq.algebra with parameters of type DatabaseOp
 DatabaseOp NodeRelationProjecter.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp NodeRelationOrderer.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp NodeRelationProjecter.visitLeave(DistinctOp original, DatabaseOp child)
          We have a DISTINCT clause; adding or removing columns would change the result.
 DatabaseOp NodeRelationOrderer.visitLeave(EmptyOp original, DatabaseOp child)
          Sorting an empty table is a no-op, so just return the original
 DatabaseOp NodeRelationOrderer.visitLeave(LimitOp original, DatabaseOp child)
          We have a LIMIT clause; adding ORDER BY would change the result as ordering is done before LIMIT in SQL.
 DatabaseOp NodeRelationProjecter.visitLeave(OrderOp original, DatabaseOp child)
          TODO: Can we push the projection down over the ordering?
 DatabaseOp NodeRelationOrderer.visitLeave(OrderOp original, DatabaseOp child)
          We can merge with an existing ORDER BY clause.
 DatabaseOp NodeRelationProjecter.visitLeave(ProjectOp original, DatabaseOp child)
          Merge the projection lists.
 DatabaseOp NodeRelationProjecter.visitLeave(SelectOp original, DatabaseOp child)
          TODO: Can we push the projection down over the selection?
 DatabaseOp NodeRelationOrderer.visitLeave(SelectOp original, DatabaseOp child)
           
 

Constructors in org.d2rq.algebra with parameters of type DatabaseOp
DownloadRelation(SQLConnection sqlConnection, DatabaseOp tabular, NodeMaker nodeMaker, ValueMaker mediaTypeMaker, ColumnName contentDownloadColumn)
           
NodeRelation(SQLConnection connection, DatabaseOp base, BindingMaker bindingMaker)
           
NodeRelation(SQLConnection connection, DatabaseOp base, Map<Var,NodeMaker> nodeMakers)
           
TripleRelation(SQLConnection connection, DatabaseOp baseRelation, BindingMaker bindingMaker)
           
TripleRelation(SQLConnection connection, DatabaseOp baseRelation, NodeMaker subjectMaker, NodeMaker predicateMaker, NodeMaker objectMaker)
           
 

Uses of DatabaseOp in org.d2rq.db
 

Methods in org.d2rq.db with parameters of type DatabaseOp
 boolean SQLConnection.areCompatibleFormats(DatabaseOp table1, ColumnName column1, DatabaseOp table2, ColumnName column2)
          Checks if two columns are formatted by the database in a compatible fashion.
 

Constructors in org.d2rq.db with parameters of type DatabaseOp
SelectStatementBuilder(DatabaseOp input, Vendor vendor)
           
 

Uses of DatabaseOp in org.d2rq.db.expr
 

Methods in org.d2rq.db.expr with parameters of type DatabaseOp
 DataType UnaryMinus.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType SQLExpression.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType NotNull.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType Negation.getDataType(DatabaseOp table, Vendor vendor)
           
abstract  DataType Expression.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType Disjunction.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType Constant.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType Conjunction.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType Concatenation.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType ColumnListEquality.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType ColumnExpr.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType BooleanToIntegerCaseExpression.getDataType(DatabaseOp table, Vendor vendor)
           
 DataType BinaryOperator.getDataType(DatabaseOp table, Vendor vendor)
           
 String UnaryMinus.toSQL(DatabaseOp table, Vendor vendor)
           
 String SQLExpression.toSQL(DatabaseOp table, Vendor vendor)
           
 String NotNull.toSQL(DatabaseOp table, Vendor vendor)
           
 String Negation.toSQL(DatabaseOp table, Vendor vendor)
           
abstract  String Expression.toSQL(DatabaseOp table, Vendor vendor)
           
 String Disjunction.toSQL(DatabaseOp table, Vendor vendor)
           
 String Constant.toSQL(DatabaseOp table, Vendor vendor)
           
 String Conjunction.toSQL(DatabaseOp table, Vendor vendor)
           
 String Concatenation.toSQL(DatabaseOp table, Vendor vendor)
           
 String ColumnListEquality.toSQL(DatabaseOp table, Vendor vendor)
           
 String ColumnExpr.toSQL(DatabaseOp table, Vendor vendor)
           
 String BooleanToIntegerCaseExpression.toSQL(DatabaseOp table, Vendor vendor)
           
 String BinaryOperator.toSQL(DatabaseOp table, Vendor vendor)
           
 

Uses of DatabaseOp in org.d2rq.db.op
 

Classes in org.d2rq.db.op that implement DatabaseOp
 class AliasOp
           
 class AssertUniqueKeyOp
          Asserts that a certain combination of columns is unique in the wrapped DatabaseOp, even if no unique key is present on it.
static class DatabaseOp.Wrapper
           
 class DistinctOp
          Removes duplicates from the wrapped DatabaseOp.
 class EmptyOp
          A DatabaseOp that is known to be empty (has zero rows).
 class InnerJoinOp
          An inner join between multiple NamedOps.
 class LimitOp
           
 class NamedOp
          A DatabaseOp that can be used directly in the FROM clause of a SQL join.
 class OrderOp
          An ORDER BY clause for a DatabaseOp.
 class ProjectOp
          Also forces all projected columns and expression to be not null.
 class SelectOp
           
 class SQLOp
          A SQL SELECT statement.
 class TableOp
           
 

Fields in org.d2rq.db.op declared as DatabaseOp
static DatabaseOp DatabaseOp.TRUE
          A table with one row and no columns.
 

Methods in org.d2rq.db.op that return DatabaseOp
static DatabaseOp EmptyOp.create(DatabaseOp original)
           
 DatabaseOp AliasOp.getOriginal()
          Guaranteed not to be another AliasOp.
 DatabaseOp InnerJoinOp.getTable(TableName name)
           
 DatabaseOp DatabaseOp.Wrapper.getWrapped()
           
static DatabaseOp InnerJoinOp.join(Collection<NamedOp> tables, Set<ColumnListEquality> joinConditions)
           
static DatabaseOp InnerJoinOp.join(NamedOp table1, NamedOp table2, Key key1, Key key2)
           
static DatabaseOp LimitOp.limit(DatabaseOp tabular, int limit, int limitInverse)
           
static DatabaseOp SelectOp.select(DatabaseOp original, Expression condition)
           
static DatabaseOp LimitOp.swapLimits(DatabaseOp table)
          Modifies a Tabular that has an inverse limit to apply the inverse limit as its limit.
 

Methods in org.d2rq.db.op with parameters of type DatabaseOp
static DatabaseOp EmptyOp.create(DatabaseOp original)
           
static ProjectOp ProjectOp.create(DatabaseOp wrapped, Collection<ProjectionSpec> specs)
           
static ProjectOp ProjectOp.create(DatabaseOp wrapped, ColumnName... columns)
           
static ProjectOp ProjectOp.create(DatabaseOp wrapped, ProjectionSpec... specs)
           
static AliasOp AliasOp.create(DatabaseOp original, String alias)
           
static AliasOp AliasOp.create(DatabaseOp original, TableName alias)
           
static AliasOp AliasOp.createWithUniqueName(DatabaseOp original, String baseName)
          Generates an alias for a given tabular with a unique name.
abstract  DataType ProjectionSpec.getDataType(DatabaseOp table)
           
 DataType ProjectionSpec.ColumnProjectionSpec.getDataType(DatabaseOp table)
           
 DataType ProjectionSpec.ExprProjectionSpec.getDataType(DatabaseOp table)
           
static DatabaseOp LimitOp.limit(DatabaseOp tabular, int limit, int limitInverse)
           
static DatabaseOp SelectOp.select(DatabaseOp original, Expression condition)
           
static DatabaseOp LimitOp.swapLimits(DatabaseOp table)
          Modifies a Tabular that has an inverse limit to apply the inverse limit as its limit.
abstract  String ProjectionSpec.toSQL(DatabaseOp table, Vendor vendor)
           
 String ProjectionSpec.ColumnProjectionSpec.toSQL(DatabaseOp table, Vendor vendor)
           
 String ProjectionSpec.ExprProjectionSpec.toSQL(DatabaseOp table, Vendor vendor)
           
 

Constructors in org.d2rq.db.op with parameters of type DatabaseOp
AssertUniqueKeyOp(DatabaseOp wrapped, Key uniqueKey)
           
DatabaseOp.Wrapper(DatabaseOp wrapped)
           
DistinctOp(DatabaseOp wrapped)
           
OrderOp(List<OrderOp.OrderSpec> orderBy, DatabaseOp wrapped)
           
 

Uses of DatabaseOp in org.d2rq.db.op.util
 

Methods in org.d2rq.db.op.util that return DatabaseOp
 DatabaseOp OpMutator.getResult()
           
 DatabaseOp OpSelecter.visit(SQLOp original)
           
 DatabaseOp OpMutator.visit(SQLOp original)
           
 DatabaseOp OpSelecter.visit(TableOp original)
           
 DatabaseOp OpMutator.visit(TableOp original)
           
 DatabaseOp OpSelecter.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(AliasOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(AssertUniqueKeyOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(DistinctOp original, DatabaseOp child)
           
 DatabaseOp OpSelecter.visitLeave(EmptyOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(EmptyOp original, DatabaseOp child)
           
 DatabaseOp OpSelecter.visitLeave(InnerJoinOp original, Collection<NamedOp> newChildren)
           
 DatabaseOp OpRenamer.visitLeave(InnerJoinOp table, Collection<NamedOp> children)
           
 DatabaseOp OpMutator.visitLeave(InnerJoinOp original, Collection<NamedOp> newChildren)
           
 DatabaseOp OpMutator.visitLeave(LimitOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(OrderOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(OrderOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(ProjectOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(ProjectOp original, DatabaseOp child)
           
 DatabaseOp OpSelecter.visitLeave(SelectOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(SelectOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(SelectOp original, DatabaseOp child)
           
 DatabaseOp OpSelecter.visitOpTrue()
           
 DatabaseOp OpMutator.visitOpTrue()
           
 

Methods in org.d2rq.db.op.util with parameters of type DatabaseOp
static boolean OpUtil.isEmpty(DatabaseOp tabular)
           
static boolean OpUtil.isTrivial(DatabaseOp tabular)
           
 DatabaseOp OpSelecter.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(AliasOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(AliasOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(AssertUniqueKeyOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(DistinctOp original, DatabaseOp child)
           
 DatabaseOp OpSelecter.visitLeave(EmptyOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(EmptyOp original, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(LimitOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(OrderOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(OrderOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(ProjectOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(ProjectOp original, DatabaseOp child)
           
 DatabaseOp OpSelecter.visitLeave(SelectOp original, DatabaseOp child)
           
 DatabaseOp OpRenamer.visitLeave(SelectOp table, DatabaseOp child)
           
 DatabaseOp OpMutator.visitLeave(SelectOp original, DatabaseOp child)
           
 

Constructors in org.d2rq.db.op.util with parameters of type DatabaseOp
OpMutator(DatabaseOp original)
           
OpRenamer(DatabaseOp subject, Renamer renamer)
           
OpSelecter(DatabaseOp table, Expression expression)
           
 

Uses of DatabaseOp in org.d2rq.db.renamer
 

Methods in org.d2rq.db.renamer that return types with arguments of type DatabaseOp
 Set<DatabaseOp> Renamer.applyToTabulars(Set<DatabaseOp> originals)
           
 

Method parameters in org.d2rq.db.renamer with type arguments of type DatabaseOp
 Set<DatabaseOp> Renamer.applyToTabulars(Set<DatabaseOp> originals)
           
 

Uses of DatabaseOp in org.d2rq.engine
 

Methods in org.d2rq.engine with parameters of type DatabaseOp
static QueryIterator QueryIterTableSQL.create(SQLConnection connection, DatabaseOp table, Collection<BindingMaker> bindingMakers, ExecutionContext execCxt)
          Creates an instance, or a simpler QueryIterator if optimization is possible (e.g., the relation is empty).
 

Uses of DatabaseOp in org.d2rq.lang
 

Methods in org.d2rq.lang that return DatabaseOp
 DatabaseOp TabularBuilder.getTabular()
           
 

Uses of DatabaseOp in org.d2rq.tmp
 

Methods in org.d2rq.tmp that return DatabaseOp
 DatabaseOp CompatibleRelationGroup.baseRelation()
           
 

Uses of DatabaseOp in org.d2rq.values
 

Methods in org.d2rq.values with parameters of type DatabaseOp
 Expression ValueMaker.valueExpression(String value, DatabaseOp tabular, Vendor vendor)
          A SQL expression that selects only rows where this value maker produces the specified value.
 Expression TemplateValueMaker.valueExpression(String value, DatabaseOp table, Vendor vendor)
           
 Expression SQLExpressionValueMaker.valueExpression(String value, DatabaseOp table, Vendor vendor)
           
 Expression DecoratingValueMaker.valueExpression(String value, DatabaseOp table, Vendor vendor)
           
 Expression ColumnValueMaker.valueExpression(String value, DatabaseOp tabular, Vendor vendor)
           
 Expression BlankNodeIDValueMaker.valueExpression(String value, DatabaseOp table, Vendor vendor)
           
 Expression BaseIRIValueMaker.valueExpression(String value, DatabaseOp tabular, Vendor vendor)