Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
DB Interface Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

RWDBExprFuncDef{n}

Module:  DB Interface Module   Group:  Expression Classes


RWDBExprFuncDef{n} RWDBExprFormDefinition

Local Index

Members

Synopsis

#include <rw/db/func.h>

RWDBExprFuncDef0 myFunc0("myFunc0");
RWDBExprFuncDef1 myFunc1("myFunc1");
RWDBExprFuncDef2 myFunc2("myFunc2");
RWDBExprFuncDef3 myFunc3("myFunc3");
RWDBExprFuncDef4 myFunc4("myFunc4");

Description

RWDBExprFuncDef{n}, where n is replaced by 0, ..., 4, represents the five possible specializations of the base class RWDBExprFormDefinition. These specializations are: RWDBExprFuncDef0, RWDBExprFuncDef1, RWDBExprFuncDef2, RWDBExprFuncDef3, and RWDBExprFuncDef4. These classes provide a simplified mechanism for defining SQL functions of 0 - 4 arguments, respectively. Unlike the base class, these classes do not require positional placeholders in their function definitions. Also, since the number of required arguments is fixed, compile-time checking can be done on the number of arguments actually passed.

Example

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

Notice that the number of actual arguments passed to decrypt is checked at compile time. Compare this with the RWDBExprFormDefinition example.

Related Classes

RWDBCritFuncDef0, RWDBCritFuncDef1, RWDBCritFuncDef2, RWDBCritFuncDef3, and RWDBCritFuncDef4 provide a parallel mechanism for defining an RWDBCriterion, rather than an RWDBExpr. The RWDBExprFormDefinition base class may be used directly to gain additional flexibility. See RWDBExpr for details on SQL expressions in the DB Interface Module, as well as for a complete listing of predefined SQL functions.

Public Constructors

RWDBExprFuncDef0(const RWCString& functionName);
RWDBExprFuncDef1(const RWCString& functionName);
RWDBExprFuncDef2(const RWCString& functionName);
RWDBExprFuncDef3(const RWCString& functionName);
RWDBExprFuncDef4(const RWCString& functionName);

Public Member Operators

virtual RWDBExpr 
operator() ();
virtual RWDBExpr 
operator() (const RWDBExpr& expr0);
virtual RWDBExpr 
operator() (const RWDBExpr& expr0, const RWDBExpr& expr1);
virtual RWDBExpr 
operator() (const RWDBExpr& expr0, const RWDBExpr& expr1,
            const RWDBExpr& expr2);
virtual RWDBExpr 
operator() (const RWDBExpr& expr0, const RWDBExpr& expr1, 
            const RWDBExpr& expr2, const RWDBExpr& expr3);


Previous fileTop of DocumentContentsIndex pageNext file

© 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.