AggregateFunctVarSampExpression Class Reference

Represents XQuery non-standard function fn:var_samp. More...

#include <aggregatefunctvarsampexpression.h>

Inheritance diagram for AggregateFunctVarSampExpression:

Inheritance graph
[legend]
Collaboration diagram for AggregateFunctVarSampExpression:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AggregateFunctVarSampExpression (VarExpression *_var)
 Constructor.
 AggregateFunctVarSampExpression (VarStepExpression *_varstep)
 Constructor.
virtual ~AggregateFunctVarSampExpression ()
virtual void eval (OutputStream &eos, Environment *env, unsigned modus)

Private Member Functions

virtual long double calculateValue (OutputStream &eos, Environment *env, unsigned modus, bool &empty_sequence)


Detailed Description

Represents XQuery non-standard function fn:var_samp.

Represents XQuery non-standard function fn:var_samp, which takes either a VarExpression, e.g. fn:var_samp($x), or a VarStepExpression, e.g. fn:var_samp($x/bib/book) or fn:var_samp(/bib//book) respectively, as argument and returns the sample variance of the sequence located through the entered VarExpression or the entered VarStepExpression respectively.

Author:
Michael Schmidt

Gunnar Jehl

Version:
2.1
License:
Software License Agreement (BSD License)

Definition at line 60 of file aggregatefunctvarsampexpression.h.


Constructor & Destructor Documentation

AggregateFunctVarSampExpression::AggregateFunctVarSampExpression ( VarExpression _var  ) 

Constructor.

Constructor - creating object for a VarExpression.

Parameters:
[in] _var Pointer to a VarExpression object.

Definition at line 37 of file aggregatefunctvarsampexpression.cpp.

AggregateFunctVarSampExpression::AggregateFunctVarSampExpression ( VarStepExpression _varstep  ) 

Constructor.

Constructor - creating object for a VarStepExpression.

Parameters:
[in] _varstep Pointer to a VarStepExpression object.

Definition at line 41 of file aggregatefunctvarsampexpression.cpp.

AggregateFunctVarSampExpression::~AggregateFunctVarSampExpression (  )  [virtual]

Destructor.

Definition at line 45 of file aggregatefunctvarsampexpression.cpp.


Member Function Documentation

long double AggregateFunctVarSampExpression::calculateValue ( OutputStream eos,
Environment env,
unsigned  modus,
bool &  empty_sequence 
) [private, virtual]

Result calculation of the corresponding aggregate function.

Result calculation of the corresponding aggregate function.

Parameters:
[in] eos Pointer to a OutputStream object.
[in] env Pointer to a Environment object.
[in] modus Evaluation modus.
[in] empty_sequence Indicator if aggreagte function is called on an empty sequence.
Return values:
long double Result of the corresponding aggregate function.

Implements AggregateFunctExpression.

Definition at line 99 of file aggregatefunctvarsampexpression.cpp.

References AggregateFunctExpression::bit, BufferIterator::clear(), ForExpression::evalSignOffForBinding(), AggregateFunctExpression::forexp, MiscFunctions::getDivisionFrom(), VarExpression::getId(), BufferIterator::getNext(), Environment::getNodeBinding(), MiscFunctions::getNumericFromString(), MiscFunctions::getPowerFrom(), MiscFunctions::getRoundFrom(), MiscFunctions::getSummationFrom(), BufferIterator::init(), LOCK_CONTEXT_ALWAYS_CLEAR, READ_UP_TO_CLOSE_CONTEXT, AggregateFunctExpression::var, and AggregateFunctExpression::varstep.

Referenced by eval().

void AggregateFunctVarSampExpression::eval ( OutputStream eos,
Environment env,
unsigned  modus 
) [virtual]

Evaluates the expression in the given environment.

Evaluates the expression in the given environment. The evaluation takes place in the environment that is passed to this method. In addition, the parameter modus is one of the following: EVAL_QUERY, EVAL_QUERY_SILENT or EVAL_SIGNOFF (see also the corresponding defines for more information). This method implements the XQuery semantics for the standard expression types, but also the GCX specific extensions like signOff-statements.

Parameters:
[in] eos Pointer to a OutputStream object.
[in] env Pointer to an Environment object.
[in] modus The query evaluation mode.
Exceptions:
RuntimeException If illegal evaluation mode.
Exceptions:
InvalidCastException If it is not possible to cast all affected PCDATA values of an XML document to numeric values or some value calculation will cause an (internal) error.

Implements AggregateFunctExpression.

Definition at line 48 of file aggregatefunctvarsampexpression.cpp.

References calculateValue(), OperandExpression::cur_val, ForExpression::eval(), EVAL_QUERY, EVAL_QUERY_SILENT, EVAL_SIGNOFF, AggregateFunctExpression::forexp, MiscFunctions::getStringFromNumerical(), OUTPUT_VARSAMP_ON_EMPTY_SEQUENCE, Value::setNumVal(), and Value::setStrVal().


Generated on Sun May 24 20:20:21 2009 for G(arbage) C(ollected) X(Query) Engine by  doxygen 1.5.9