We'd accidentally conflated SQL expressions and SQL clauses into the one interface SQLExpressionsf, which would allow statements like 'FooRecord.BAR.add(FooRecord.getKey(1))' to compile erroneously. Let SQLExpressions and QueryClauses both be subclasses of a new type SQLFragment, and let our ExpressionVisitor be a FragmentVisitor.
This commit is contained in:
@@ -35,7 +35,7 @@ import com.samskivert.depot.expression.ColumnExp;
|
|||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.DepotMarshaller;
|
import com.samskivert.depot.impl.DepotMarshaller;
|
||||||
import com.samskivert.depot.impl.DepotUtil;
|
import com.samskivert.depot.impl.DepotUtil;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A special form of {@link WhereClause} that uniquely specifies a single database row and thus
|
* A special form of {@link WhereClause} that uniquely specifies a single database row and thus
|
||||||
@@ -60,7 +60,7 @@ public class Key<T extends PersistentRecord> extends WhereClause
|
|||||||
public Comparable<?>[] getValues () {
|
public Comparable<?>[] getValues () {
|
||||||
return _values;
|
return _values;
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> builder) {
|
public Object accept (FragmentVisitor<?> builder) {
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet) {
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet) {
|
||||||
@@ -205,7 +205,7 @@ public class Key<T extends PersistentRecord> extends WhereClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ import com.samskivert.depot.clause.WhereClause;
|
|||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.DepotUtil;
|
import com.samskivert.depot.impl.DepotUtil;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.LiteralExp;
|
import com.samskivert.depot.impl.expression.LiteralExp;
|
||||||
import com.samskivert.depot.impl.operator.In;
|
import com.samskivert.depot.impl.operator.In;
|
||||||
|
|
||||||
@@ -291,7 +291,7 @@ public abstract class KeySet<T extends PersistentRecord> extends WhereClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.samskivert.depot;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
import com.samskivert.depot.impl.SQLBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a fragment of an SQL statement, generally a clause (WHERE, FROM, ...) or an
|
||||||
|
* expression (1+1, 'foo', "columnName", ...).
|
||||||
|
*/
|
||||||
|
public interface SQLFragment
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Most uses of this class have been implemented with a visitor pattern. Create your own
|
||||||
|
* {@link FragmentVisitor} and call this method with it.
|
||||||
|
*
|
||||||
|
* @see SQLBuilder
|
||||||
|
*/
|
||||||
|
public Object accept (FragmentVisitor<?> visitor);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds all persistent classes that are brought into the SQL context by this clause: FROM
|
||||||
|
* clauses, JOINs, UPDATEs, anything that could create a new table abbreviation. This method
|
||||||
|
* should recurse into any subordinate state that may in turn bring in new classes so that
|
||||||
|
* sub-queries work correctly.
|
||||||
|
*/
|
||||||
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet);
|
||||||
|
}
|
||||||
@@ -25,7 +25,7 @@ import java.util.Collection;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.LiteralExp;
|
import com.samskivert.depot.impl.expression.LiteralExp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -81,7 +81,7 @@ public class FieldDefinition implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> visitor)
|
public Object accept (FragmentVisitor<?> visitor)
|
||||||
{
|
{
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ package com.samskivert.depot.clause;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a FOR UPDATE clause.
|
* Represents a FOR UPDATE clause.
|
||||||
@@ -31,7 +31,7 @@ import com.samskivert.depot.impl.ExpressionVisitor;
|
|||||||
public class ForUpdate implements QueryClause
|
public class ForUpdate implements QueryClause
|
||||||
{
|
{
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import com.google.common.collect.Lists;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.impl.DepotUtil;
|
import com.samskivert.depot.impl.DepotUtil;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Completely overrides the FROM clause, if it exists.
|
* Completely overrides the FROM clause, if it exists.
|
||||||
@@ -63,7 +63,7 @@ public class FromOverride implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a GROUP BY clause.
|
* Represents a GROUP BY clause.
|
||||||
@@ -42,7 +42,7 @@ public class GroupBy implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds actual SQL given a main persistent type and some {@link QueryClause} objects.
|
* Builds actual SQL given a main persistent type and some {@link QueryClause} objects.
|
||||||
@@ -62,7 +62,7 @@ public class InsertClause implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import com.samskivert.depot.PersistentRecord;
|
|||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.DepotUtil;
|
import com.samskivert.depot.impl.DepotUtil;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.operator.Equals;
|
import com.samskivert.depot.impl.operator.Equals;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,7 +74,7 @@ public class Join implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ package com.samskivert.depot.clause;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a LIMIT/OFFSET clause, for pagination.
|
* Represents a LIMIT/OFFSET clause, for pagination.
|
||||||
@@ -47,7 +47,7 @@ public class Limit implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import java.util.Collection;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.util.ArrayUtil;
|
import com.samskivert.util.ArrayUtil;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.LiteralExp;
|
import com.samskivert.depot.impl.expression.LiteralExp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -95,7 +95,7 @@ public class OrderBy implements QueryClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,11 +20,11 @@
|
|||||||
|
|
||||||
package com.samskivert.depot.clause;
|
package com.samskivert.depot.clause;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.SQLFragment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a piece or modifier of an SQL query.
|
* Represents a piece or modifier of an SQL query.
|
||||||
*/
|
*/
|
||||||
public interface QueryClause extends SQLExpression
|
public interface QueryClause extends SQLFragment
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import com.google.common.collect.Maps;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a complete select clause.
|
* Represents a complete select clause.
|
||||||
@@ -193,7 +193,7 @@ public class SelectClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import com.samskivert.depot.Ops;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.ValueExp;
|
import com.samskivert.depot.impl.expression.ValueExp;
|
||||||
import com.samskivert.depot.impl.operator.Equals;
|
import com.samskivert.depot.impl.operator.Equals;
|
||||||
import com.samskivert.depot.impl.operator.IsNull;
|
import com.samskivert.depot.impl.operator.IsNull;
|
||||||
@@ -73,7 +73,7 @@ public class Where extends WhereClause
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.clause.Join;
|
import com.samskivert.depot.clause.Join;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.operator.In;
|
import com.samskivert.depot.impl.operator.In;
|
||||||
import com.samskivert.depot.impl.operator.IsNull;
|
import com.samskivert.depot.impl.operator.IsNull;
|
||||||
import com.samskivert.depot.impl.operator.Like;
|
import com.samskivert.depot.impl.operator.Like;
|
||||||
@@ -92,7 +92,7 @@ public class ColumnExp extends FluentExp
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,16 +20,12 @@
|
|||||||
|
|
||||||
package com.samskivert.depot.expression;
|
package com.samskivert.depot.expression;
|
||||||
|
|
||||||
import java.util.Collection;
|
import com.samskivert.depot.SQLFragment;
|
||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
|
||||||
import com.samskivert.depot.impl.SQLBuilder;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an SQL expression, e.g. column name, function, or constant.
|
* Represents an SQL expression, e.g. column name, function, or constant.
|
||||||
*/
|
*/
|
||||||
public interface SQLExpression
|
public interface SQLExpression extends SQLFragment
|
||||||
{
|
{
|
||||||
/** Used internally to represent the lack of a value. */
|
/** Used internally to represent the lack of a value. */
|
||||||
public static final class NoValue
|
public static final class NoValue
|
||||||
@@ -46,19 +42,4 @@ public interface SQLExpression
|
|||||||
protected String _reason;
|
protected String _reason;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Most uses of this class have been implemented with a visitor pattern. Create your own
|
|
||||||
* {@link ExpressionVisitor} and call this method with it.
|
|
||||||
*
|
|
||||||
* @see SQLBuilder
|
|
||||||
*/
|
|
||||||
public Object accept (ExpressionVisitor<?> visitor);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds all persistent classes that are brought into the SQL context by this clause: FROM
|
|
||||||
* clauses, JOINs, UPDATEs, anything that could create a new table abbreviation. This method
|
|
||||||
* should recurse into any subordinate state that may in turn bring in new classes so that
|
|
||||||
* sub-queries work correctly.
|
|
||||||
*/
|
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ import com.samskivert.depot.impl.operator.Not;
|
|||||||
* Implements the base functionality of the SQL-building pass of {@link SQLBuilder}. Dialectal
|
* Implements the base functionality of the SQL-building pass of {@link SQLBuilder}. Dialectal
|
||||||
* subclasses of this should be created and returned from {@link SQLBuilder#getBuildVisitor()}.
|
* subclasses of this should be created and returned from {@link SQLBuilder#getBuildVisitor()}.
|
||||||
*/
|
*/
|
||||||
public abstract class BuildVisitor implements ExpressionVisitor<Void>
|
public abstract class BuildVisitor implements FragmentVisitor<Void>
|
||||||
{
|
{
|
||||||
public String getQuery ()
|
public String getQuery ()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ import static com.samskivert.depot.Log.log;
|
|||||||
* TODO: that should be written.
|
* TODO: that should be written.
|
||||||
*/
|
*/
|
||||||
public class ExpressionEvaluator
|
public class ExpressionEvaluator
|
||||||
implements ExpressionVisitor<Object>
|
implements FragmentVisitor<Object>
|
||||||
{
|
{
|
||||||
public <T extends PersistentRecord> ExpressionEvaluator (Class<T> pClass, T pRec)
|
public <T extends PersistentRecord> ExpressionEvaluator (Class<T> pClass, T pRec)
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -85,7 +85,7 @@ import com.samskivert.depot.impl.operator.Not;
|
|||||||
/**
|
/**
|
||||||
* Enumerates visitation methods for every possible SQL expression type.
|
* Enumerates visitation methods for every possible SQL expression type.
|
||||||
*/
|
*/
|
||||||
public interface ExpressionVisitor<T>
|
public interface FragmentVisitor<T>
|
||||||
{
|
{
|
||||||
public T visit (FieldDefinition fieldOverride);
|
public T visit (FieldDefinition fieldOverride);
|
||||||
public T visit (FromOverride fromOverride);
|
public T visit (FromOverride fromOverride);
|
||||||
@@ -39,7 +39,7 @@ import com.samskivert.util.ByteEnum;
|
|||||||
import static com.samskivert.depot.Log.log;
|
import static com.samskivert.depot.Log.log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* At the heart of Depot's SQL generation, this object constructs an {@link ExpressionVisitor}
|
* At the heart of Depot's SQL generation, this object constructs an {@link FragmentVisitor}
|
||||||
* object and executes it, constructing SQL and parameter bindings as it recurses.
|
* object and executes it, constructing SQL and parameter bindings as it recurses.
|
||||||
*/
|
*/
|
||||||
public abstract class SQLBuilder
|
public abstract class SQLBuilder
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import com.samskivert.depot.clause.OrderBy.Order;
|
|||||||
import com.samskivert.depot.clause.QueryClause;
|
import com.samskivert.depot.clause.QueryClause;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
|
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an CREATE INDEX instruction to the database.
|
* Represents an CREATE INDEX instruction to the database.
|
||||||
@@ -71,14 +71,14 @@ public class CreateIndexClause
|
|||||||
return _fields;
|
return _fields;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
classSet.add(_pClass);
|
classSet.add(_pClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import com.samskivert.depot.PersistentRecord;
|
|||||||
import com.samskivert.depot.clause.QueryClause;
|
import com.samskivert.depot.clause.QueryClause;
|
||||||
import com.samskivert.depot.clause.WhereClause;
|
import com.samskivert.depot.clause.WhereClause;
|
||||||
|
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds actual SQL given a main persistent type and some {@link QueryClause} objects.
|
* Builds actual SQL given a main persistent type and some {@link QueryClause} objects.
|
||||||
@@ -50,14 +50,14 @@ public class DeleteClause
|
|||||||
return _where;
|
return _where;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
classSet.add(_pClass);
|
classSet.add(_pClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import java.util.Collection;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.clause.QueryClause;
|
import com.samskivert.depot.clause.QueryClause;
|
||||||
|
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an DROP INDEX instruction to the database.
|
* Represents an DROP INDEX instruction to the database.
|
||||||
@@ -49,14 +49,14 @@ public class DropIndexClause
|
|||||||
return _name;
|
return _name;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
classSet.add(_pClass);
|
classSet.add(_pClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import com.samskivert.depot.clause.WhereClause;
|
|||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
|
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds actual SQL given a main persistent type and some {@link QueryClause} objects.
|
* Builds actual SQL given a main persistent type and some {@link QueryClause} objects.
|
||||||
@@ -81,7 +81,7 @@ public class UpdateClause
|
|||||||
return _pClass;
|
return _pClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
classSet.add(_pClass);
|
classSet.add(_pClass);
|
||||||
@@ -95,8 +95,8 @@ public class UpdateClause
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
package com.samskivert.depot.impl.expression;
|
package com.samskivert.depot.impl.expression;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
||||||
|
|
||||||
public abstract class AggregateFun extends OneArgFun
|
public abstract class AggregateFun extends OneArgFun
|
||||||
@@ -33,7 +33,7 @@ public abstract class AggregateFun extends OneArgFun
|
|||||||
public Average (SQLExpression argument, boolean distinct) {
|
public Average (SQLExpression argument, boolean distinct) {
|
||||||
super(argument, distinct);
|
super(argument, distinct);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -48,7 +48,7 @@ public abstract class AggregateFun extends OneArgFun
|
|||||||
public Count (SQLExpression argument, boolean distinct) {
|
public Count (SQLExpression argument, boolean distinct) {
|
||||||
super(argument, distinct);
|
super(argument, distinct);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -63,7 +63,7 @@ public abstract class AggregateFun extends OneArgFun
|
|||||||
public Every (SQLExpression argument, boolean distinct) {
|
public Every (SQLExpression argument, boolean distinct) {
|
||||||
super(argument, distinct);
|
super(argument, distinct);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -78,7 +78,7 @@ public abstract class AggregateFun extends OneArgFun
|
|||||||
public Max (SQLExpression argument, boolean distinct) {
|
public Max (SQLExpression argument, boolean distinct) {
|
||||||
super(argument, distinct);
|
super(argument, distinct);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -93,7 +93,7 @@ public abstract class AggregateFun extends OneArgFun
|
|||||||
public Min (SQLExpression argument, boolean distinct) {
|
public Min (SQLExpression argument, boolean distinct) {
|
||||||
super(argument, distinct);
|
super(argument, distinct);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -108,7 +108,7 @@ public abstract class AggregateFun extends OneArgFun
|
|||||||
public Sum (SQLExpression argument, boolean distinct) {
|
public Sum (SQLExpression argument, boolean distinct) {
|
||||||
super(argument, distinct);
|
super(argument, distinct);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
package com.samskivert.depot.impl.expression;
|
package com.samskivert.depot.impl.expression;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.Function.ManyArgFun;
|
import com.samskivert.depot.impl.expression.Function.ManyArgFun;
|
||||||
|
|
||||||
public abstract class ConditionalFun
|
public abstract class ConditionalFun
|
||||||
@@ -30,7 +30,7 @@ public abstract class ConditionalFun
|
|||||||
public Coalesce (SQLExpression... args) {
|
public Coalesce (SQLExpression... args) {
|
||||||
super(args);
|
super(args);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -42,7 +42,7 @@ public abstract class ConditionalFun
|
|||||||
public Greatest (SQLExpression... args) {
|
public Greatest (SQLExpression... args) {
|
||||||
super(args);
|
super(args);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -54,7 +54,7 @@ public abstract class ConditionalFun
|
|||||||
public Least (SQLExpression... args) {
|
public Least (SQLExpression... args) {
|
||||||
super(args);
|
super(args);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
package com.samskivert.depot.impl.expression;
|
package com.samskivert.depot.impl.expression;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.Function.NoArgFun;
|
import com.samskivert.depot.impl.expression.Function.NoArgFun;
|
||||||
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ public abstract class DateFun
|
|||||||
super(date);
|
super(date);
|
||||||
_part = part;
|
_part = part;
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public Part getPart () {
|
public Part getPart () {
|
||||||
@@ -64,7 +64,7 @@ public abstract class DateFun
|
|||||||
super(date);
|
super(date);
|
||||||
_truncation= truncation;
|
_truncation= truncation;
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public Truncation getTruncation () {
|
public Truncation getTruncation () {
|
||||||
@@ -77,7 +77,7 @@ public abstract class DateFun
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Now extends NoArgFun {
|
public static class Now extends NoArgFun {
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A code for representing a date interval.
|
* A code for representing a date interval.
|
||||||
@@ -47,13 +47,13 @@ public class IntervalExp
|
|||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An expression for things we don't support natively, e.g. COUNT(*).
|
* An expression for things we don't support natively, e.g. COUNT(*).
|
||||||
@@ -38,13 +38,13 @@ public class LiteralExp
|
|||||||
_text = text;
|
_text = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
package com.samskivert.depot.impl.expression;
|
package com.samskivert.depot.impl.expression;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.Function.NoArgFun;
|
import com.samskivert.depot.impl.expression.Function.NoArgFun;
|
||||||
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
||||||
import com.samskivert.depot.impl.expression.Function.TwoArgFun;
|
import com.samskivert.depot.impl.expression.Function.TwoArgFun;
|
||||||
@@ -32,7 +32,7 @@ public abstract class NumericalFun
|
|||||||
public Abs (SQLExpression argument) {
|
public Abs (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -44,7 +44,7 @@ public abstract class NumericalFun
|
|||||||
public Ceil (SQLExpression argument) {
|
public Ceil (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -56,7 +56,7 @@ public abstract class NumericalFun
|
|||||||
public Exp (SQLExpression argument) {
|
public Exp (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -68,7 +68,7 @@ public abstract class NumericalFun
|
|||||||
public Floor (SQLExpression argument) {
|
public Floor (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -80,7 +80,7 @@ public abstract class NumericalFun
|
|||||||
public Ln (SQLExpression argument) {
|
public Ln (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -92,7 +92,7 @@ public abstract class NumericalFun
|
|||||||
public Log10 (SQLExpression value) {
|
public Log10 (SQLExpression value) {
|
||||||
super(value);
|
super(value);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -101,7 +101,7 @@ public abstract class NumericalFun
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Pi extends NoArgFun {
|
public static class Pi extends NoArgFun {
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -113,7 +113,7 @@ public abstract class NumericalFun
|
|||||||
public Power (SQLExpression value, SQLExpression power) {
|
public Power (SQLExpression value, SQLExpression power) {
|
||||||
super(value, power);
|
super(value, power);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -128,7 +128,7 @@ public abstract class NumericalFun
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Random extends NoArgFun {
|
public static class Random extends NoArgFun {
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -140,7 +140,7 @@ public abstract class NumericalFun
|
|||||||
public Round (SQLExpression argument) {
|
public Round (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -152,7 +152,7 @@ public abstract class NumericalFun
|
|||||||
public Sign (SQLExpression argument) {
|
public Sign (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -164,7 +164,7 @@ public abstract class NumericalFun
|
|||||||
public Sqrt (SQLExpression argument) {
|
public Sqrt (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -176,7 +176,7 @@ public abstract class NumericalFun
|
|||||||
public Trunc (SQLExpression argument) {
|
public Trunc (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
package com.samskivert.depot.impl.expression;
|
package com.samskivert.depot.impl.expression;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.Function.ManyArgFun;
|
import com.samskivert.depot.impl.expression.Function.ManyArgFun;
|
||||||
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
import com.samskivert.depot.impl.expression.Function.OneArgFun;
|
||||||
import com.samskivert.depot.impl.expression.Function.TwoArgFun;
|
import com.samskivert.depot.impl.expression.Function.TwoArgFun;
|
||||||
@@ -32,7 +32,7 @@ public abstract class StringFun
|
|||||||
public Length (SQLExpression argument) {
|
public Length (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -44,7 +44,7 @@ public abstract class StringFun
|
|||||||
public Lower (SQLExpression argument) {
|
public Lower (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -56,7 +56,7 @@ public abstract class StringFun
|
|||||||
public Position (SQLExpression substring, SQLExpression string) {
|
public Position (SQLExpression substring, SQLExpression string) {
|
||||||
super(substring, string);
|
super(substring, string);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -74,7 +74,7 @@ public abstract class StringFun
|
|||||||
public Substring (SQLExpression string, SQLExpression from, SQLExpression count) {
|
public Substring (SQLExpression string, SQLExpression from, SQLExpression count) {
|
||||||
super(string, from, count);
|
super(string, from, count);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -86,7 +86,7 @@ public abstract class StringFun
|
|||||||
public Trim (SQLExpression argument) {
|
public Trim (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
@@ -98,7 +98,7 @@ public abstract class StringFun
|
|||||||
public Upper (SQLExpression argument) {
|
public Upper (SQLExpression argument) {
|
||||||
super(argument);
|
super(argument);
|
||||||
}
|
}
|
||||||
public Object accept (ExpressionVisitor<?> visitor) {
|
public Object accept (FragmentVisitor<?> visitor) {
|
||||||
return visitor.visit(this);
|
return visitor.visit(this);
|
||||||
}
|
}
|
||||||
public String getCanonicalFunctionName () {
|
public String getCanonicalFunctionName () {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.FluentExp;
|
import com.samskivert.depot.expression.FluentExp;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Java value that is bound as a parameter to the query, e.g. 1 or 'abc'.
|
* A Java value that is bound as a parameter to the query, e.g. 1 or 'abc'.
|
||||||
@@ -36,13 +36,13 @@ public class ValueExp extends FluentExp
|
|||||||
_value = value;
|
_value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
package com.samskivert.depot.impl.operator;
|
package com.samskivert.depot.impl.operator;
|
||||||
|
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.depot.impl.expression.ValueExp;
|
import com.samskivert.depot.impl.expression.ValueExp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -32,8 +32,8 @@ public abstract class BinaryOperator extends BaseOperator
|
|||||||
*/
|
*/
|
||||||
public abstract Object evaluate (Object left, Object right);
|
public abstract Object evaluate (Object left, Object right);
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import java.util.Collection;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.clause.SelectClause;
|
import com.samskivert.depot.clause.SelectClause;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The SQL 'exists' operator.
|
* The SQL 'exists' operator.
|
||||||
@@ -38,7 +38,7 @@ public class Exists
|
|||||||
_clause = clause;
|
_clause = clause;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import java.util.Collection;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The SQL 'in (...)' operator.
|
* The SQL 'in (...)' operator.
|
||||||
@@ -57,13 +57,13 @@ public class In
|
|||||||
return _values;
|
return _values;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
_column.addClasses(classSet);
|
_column.addClasses(classSet);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import java.util.Collection;
|
|||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.ColumnExp;
|
import com.samskivert.depot.expression.ColumnExp;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The SQL 'is null' operator.
|
* The SQL 'is null' operator.
|
||||||
@@ -43,13 +43,13 @@ public class IsNull
|
|||||||
return _column;
|
return _column;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an operator with any number of operands.
|
* Represents an operator with any number of operands.
|
||||||
@@ -29,13 +29,13 @@ public abstract class MultiOperator extends BaseOperator
|
|||||||
*/
|
*/
|
||||||
public abstract Object evaluate (Object[] values);
|
public abstract Object evaluate (Object[] values);
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override // from SQLExpression
|
@Override // from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
for (SQLExpression operand : _args) {
|
for (SQLExpression operand : _args) {
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the truth negation of another conditon.
|
* Represents the truth negation of another conditon.
|
||||||
@@ -42,13 +42,13 @@ public class Not
|
|||||||
return _condition;
|
return _condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLFragment
|
||||||
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
public void addClasses (Collection<Class<? extends PersistentRecord>> classSet)
|
||||||
{
|
{
|
||||||
_condition.addClasses(classSet);
|
_condition.addClasses(classSet);
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import com.google.common.collect.Lists;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.SQLExpression;
|
import com.samskivert.depot.expression.SQLExpression;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
import com.samskivert.util.Tuple;
|
import com.samskivert.util.Tuple;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -57,7 +57,7 @@ public class Case
|
|||||||
}
|
}
|
||||||
|
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import java.util.Collection;
|
|||||||
|
|
||||||
import com.samskivert.depot.PersistentRecord;
|
import com.samskivert.depot.PersistentRecord;
|
||||||
import com.samskivert.depot.expression.FluentExp;
|
import com.samskivert.depot.expression.FluentExp;
|
||||||
import com.samskivert.depot.impl.ExpressionVisitor;
|
import com.samskivert.depot.impl.FragmentVisitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An attempt at a dialect-agnostic full-text search condition, such as MySQL's MATCH() and
|
* An attempt at a dialect-agnostic full-text search condition, such as MySQL's MATCH() and
|
||||||
@@ -35,7 +35,7 @@ public class FullText
|
|||||||
public class Rank extends FluentExp
|
public class Rank extends FluentExp
|
||||||
{
|
{
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
@@ -60,7 +60,7 @@ public class FullText
|
|||||||
public class Match extends FluentExp
|
public class Match extends FluentExp
|
||||||
{
|
{
|
||||||
// from SQLExpression
|
// from SQLExpression
|
||||||
public Object accept (ExpressionVisitor<?> builder)
|
public Object accept (FragmentVisitor<?> builder)
|
||||||
{
|
{
|
||||||
return builder.visit(this);
|
return builder.visit(this);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user