org.hibernate.dialect.function
Class AvgWithArgumentCastFunction

java.lang.Object
  extended by org.hibernate.dialect.function.StandardSQLFunction
      extended by org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions.AvgFunction
          extended by org.hibernate.dialect.function.AvgWithArgumentCastFunction
All Implemented Interfaces:
SQLFunction

public class AvgWithArgumentCastFunction
extends StandardAnsiSqlAggregationFunctions.AvgFunction

Some databases strictly return the type of the of the aggregation value for AVG which is problematic in the case of averaging integers because the decimals will be dropped. The usual workaround is to cast the integer argument as some form of double/decimal.


Field Summary
 
Fields inherited from class org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions.AvgFunction
INSTANCE
 
Constructor Summary
AvgWithArgumentCastFunction(String castType)
           
 
Method Summary
protected  String renderArgument(String argument, int firstArgumentJdbcType)
           
 
Methods inherited from class org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions.AvgFunction
determineJdbcTypeCode, render, render
 
Methods inherited from class org.hibernate.dialect.function.StandardSQLFunction
getName, getReturnType, getType, hasArguments, hasParenthesesIfNoArguments, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AvgWithArgumentCastFunction

public AvgWithArgumentCastFunction(String castType)
Method Detail

renderArgument

protected String renderArgument(String argument,
                                int firstArgumentJdbcType)
Overrides:
renderArgument in class StandardAnsiSqlAggregationFunctions.AvgFunction


Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.