org.datanucleus.store.rdbms.sql.method
Class CollectionSizeMethod

java.lang.Object
  extended by org.datanucleus.store.rdbms.sql.method.AbstractSQLMethod
      extended by org.datanucleus.store.rdbms.sql.method.CollectionSizeMethod
All Implemented Interfaces:
SQLMethod

public class CollectionSizeMethod
extends AbstractSQLMethod

Method for evaluating {collExpr1}.size(). Returns a NumericExpression. Equates to a sub-query on the table for the collection returning the COUNT(*) of the number of elements. Something like

 SELECT COUNT(*) FROM COLLTABLE A0_SUB WHERE A0_SUB.OWNER_ID_OID = A0.OWNER_ID
 
where A0 is the candidate table in the outer query, and COLLTABLE is the join table (if using join collection) or the element table (if using FK collection).


Field Summary
 
Fields inherited from class org.datanucleus.store.rdbms.sql.method.AbstractSQLMethod
clr, exprFactory, LOCALISER, stmt
 
Constructor Summary
CollectionSizeMethod()
           
 
Method Summary
 SQLExpression getExpression(SQLExpression expr, java.util.List args)
          Return the expression for this SQL function.
 
Methods inherited from class org.datanucleus.store.rdbms.sql.method.AbstractSQLMethod
getMappingForClass, setStatement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CollectionSizeMethod

public CollectionSizeMethod()
Method Detail

getExpression

public SQLExpression getExpression(SQLExpression expr,
                                   java.util.List args)
Description copied from interface: SQLMethod
Return the expression for this SQL function.

Parameters:
expr - The expression that it is invoked on
args - Arguments passed in
Returns:
The SQL expression using the SQL function


Copyright © 2009. All Rights Reserved.