rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWDBCritFuncDef1 Class Reference
[Expressions]

Specialization of the base class RWDBCritFormDefinition used for defining SQL functions taking 1 parameter. More...

#include <rw/db/func.h>

Inheritance diagram for RWDBCritFuncDef1:
RWDBCritFormDefinition

List of all members.

Public Member Functions

 RWDBCritFuncDef1 (const RWCString &functionName)
virtual RWDBCriterion operator() (const RWDBExpr &x1)

Private Member Functions

virtual RWDBCriterion operator() ()
virtual RWDBCriterion operator() (const RWDBExpr &, const RWDBExpr &)
virtual RWDBCriterion operator() (const RWDBExpr &, const RWDBExpr &, const RWDBExpr &)
virtual RWDBCriterion operator() (const RWDBExpr &, const RWDBExpr &, const RWDBExpr &, const RWDBExpr &)

Detailed Description

RWDBCritFuncDef1 is a specialization of the base class RWDBCritFormDefinition. This class provides a simplified mechanism for defining SQL functions taking 1 parameter. Unlike the base class, this class does not require positional placeholders in its function definitions. Also, since the number of required parameters is fixed, compile-time checking can be done on the number of parameters actually passed.

Synopsis

 #include <rw/db/func.h>
 
 RWDBCritFuncDef1 myFunc("myFunc");

Related Classes

RWDBExprFuncDef1 provides a parallel mechanism for defining an RWDBExpr, rather than using an RWDBCriterion.

The RWDBCritFormDefinition base class may be used directly to gain additional flexibility.

See RWDBCriterion for details on SQL WHERE clauses in the DB Interface Module.

Examples

Imagine that a database vendor's SQL variant provides the boolean function VALID_NAME(string), which can be used in a WHERE clause. The DB Interface Module has no direct support for this function, yet we would like to use it without losing the benefits of high-level constructs for data manipulation. To do so, we can use a function which we define ourselves:

 RWDBCritFuncDef1 validName("VALID_NAME");
 RWDBTable potentialNames = myDbase.table("potentialNames");
 RWDBColumn name = potentialNames["name"];
 RWDBSelector usableNames = myDbase.selector();
 usableNames << name;
 usableNames.where(validName(name));

Notice that the number of actual parameters passed to validName is checked at compile time. Compare this with the example for RWDBCritFormDefinition.


Constructor & Destructor Documentation

RWDBCritFuncDef1::RWDBCritFuncDef1 ( const RWCString functionName  ) 

Creates an RWDBCritFuncDef1 for a functional expression that takes 1 parameter. After such an RWDBCritFuncDef1 is instantiated, functionName may be used as though it were a predefined function.


Member Function Documentation

virtual RWDBCriterion RWDBCritFuncDef1::operator() ( const RWDBExpr ,
const RWDBExpr ,
const RWDBExpr ,
const RWDBExpr  
) [private, virtual]

Not applicable to this class. This class defines SQL functions taking one parameter.

Reimplemented from RWDBCritFormDefinition.

virtual RWDBCriterion RWDBCritFuncDef1::operator() ( const RWDBExpr ,
const RWDBExpr ,
const RWDBExpr  
) [private, virtual]

Not applicable to this class. This class defines SQL functions taking one parameter.

Reimplemented from RWDBCritFormDefinition.

virtual RWDBCriterion RWDBCritFuncDef1::operator() ( const RWDBExpr ,
const RWDBExpr  
) [private, virtual]

Not applicable to this class. This class defines SQL functions taking one parameter.

Reimplemented from RWDBCritFormDefinition.

virtual RWDBCriterion RWDBCritFuncDef1::operator() (  )  [private, virtual]

Not applicable to this class. This class defines SQL functions taking one parameter.

Reimplemented from RWDBCritFormDefinition.

virtual RWDBCriterion RWDBCritFuncDef1::operator() ( const RWDBExpr x1  )  [virtual]

Returns an RWDBCriterion in the form of a function with 1 parameter whose name is the name that was passed to self's constructor.

Reimplemented from RWDBCritFormDefinition.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.