A subquery.
| Method from org.apache.openjpa.jdbc.kernel.exps.SubQ Detail: |
public void acceptVisit(ExpressionVisitor visitor) {
visitor.enter(this);
for (int i = 0; i < _exps.projections.length; i++)
_exps.projections[i].acceptVisit(visitor);
if (_exps.filter != null)
_exps.filter.acceptVisit(visitor);
for (int i = 0; i < _exps.grouping.length; i++)
_exps.grouping[i].acceptVisit(visitor);
if (_exps.having != null)
_exps.having.acceptVisit(visitor);
for (int i = 0; i < _exps.ordering.length; i++)
_exps.ordering[i].acceptVisit(visitor);
visitor.exit(this);
}
|
public void appendIsEmpty(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql) {
sql.append("NOT EXISTS ");
appendTo(sel, ctx, state, sql, 0);
}
|
public void appendIsNotEmpty(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql) {
sql.append("EXISTS ");
appendTo(sel, ctx, state, sql, 0);
}
|
public void appendSize(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql) {
appendTo(sel, ctx, state, sql, 0, true);
}
|
public void appendTo(Select sel,
ExpContext ctx,
ExpState state,
SQLBuffer sql,
int index) {
appendTo(sel, ctx, state, sql, index, false);
}
|
public void calculateValue(Select sel,
ExpContext ctx,
ExpState state,
Val other,
ExpState otherState) {
}
|
public ClassMapping getCandidate() {
return _candidate;
}
Return the subquery candidate type. |
public String getCandidateAlias() {
return _alias;
}
|
public ClassMetaData getMetaData() {
return _meta;
}
|
public Class getType() {
if (_exps != null) {
if (_exps.projections.length == 0)
return _candidate.getDescribedType();
if (_exps.projections.length == 1)
return _exps.projections[0].getType();
}
return _type;
}
|
public void groupBy(Select sel,
ExpContext ctx,
ExpState state) {
sel.groupBy(newSQLBuffer(sel, ctx, state));
}
|
public ExpState initialize(Select sel,
ExpContext ctx,
int flags) {
if (_exps.projections.length == 1)
return ((Val) _exps.projections[0]).initialize(sel, ctx, flags);
return ExpState.NULL;
}
|
public int length(Select sel,
ExpContext ctx,
ExpState state) {
return 1;
}
|
public Object load(ExpContext ctx,
ExpState state,
Result res) throws SQLException {
return Filters.convert(res.getObject(this,
JavaSQLTypes.JDBC_DEFAULT, null), getType());
}
|
public void orderBy(Select sel,
ExpContext ctx,
ExpState state,
boolean asc) {
sel.orderBy(newSQLBuffer(sel, ctx, state), asc, false);
}
|
public void select(Select sel,
ExpContext ctx,
ExpState state,
boolean pks) {
selectColumns(sel, ctx, state, pks);
}
|
public void selectColumns(Select sel,
ExpContext ctx,
ExpState state,
boolean pks) {
sel.select(newSQLBuffer(sel, ctx, state), this);
}
|
public void setImplicitType(Class type) {
if (_exps != null && _exps.projections.length == 1)
_exps.projections[0].setImplicitType(type);
_type = type;
}
|
public void setMetaData(ClassMetaData meta) {
_meta = meta;
}
|
public void setQueryExpressions(QueryExpressions query) {
_exps = query;
}
|
public Object toDataStoreValue(Select sel,
ExpContext ctx,
ExpState state,
Object val) {
if (_exps.projections.length == 0)
return _candidate.toDataStoreValue(val,
_candidate.getPrimaryKeyColumns(), ctx.store);
if (_exps.projections.length == 1)
return ((Val) _exps.projections[0]).toDataStoreValue(sel, ctx,
state, val);
return val;
}
|