BTreeDuplicateKeyExcn Class Reference

Exception class for duplicate keys encountered during insert or update. More...

#include <BTreeDuplicateKeyExcn.h>

Inheritance diagram for BTreeDuplicateKeyExcn:

FennelExcn List of all members.

Public Member Functions

 BTreeDuplicateKeyExcn (TupleDescriptor const &keyDescriptor, TupleData const &keyData)
 Constructs a new BTreeDuplicateKeyExcn.
virtual const char * what () const throw ()
virtual void throwSelf ()
std::string const & getMessage ()

Protected Attributes

std::string msg

Detailed Description

Exception class for duplicate keys encountered during insert or update.

Definition at line 37 of file BTreeDuplicateKeyExcn.h.


Constructor & Destructor Documentation

BTreeDuplicateKeyExcn::BTreeDuplicateKeyExcn ( TupleDescriptor const &  keyDescriptor,
TupleData const &  keyData 
) [explicit]

Constructs a new BTreeDuplicateKeyExcn.

TODO: take more information to get a better key description

Parameters:
keyDescriptor TupleDescriptor for the BTree's key
keyData data for the duplicate key

Definition at line 35 of file BTreeDuplicateKeyExcn.cpp.

References FennelExcn::msg, and TuplePrinter::print().

00038     : FennelExcn("")
00039 {
00040     std::ostringstream oss;
00041     // TODO:  nicer formatting
00042     TuplePrinter tuplePrinter;
00043     tuplePrinter.print(oss,keyDescriptor,keyData);
00044     msg = oss.str();
00045     msg = FennelResource::instance().duplicateKeyDetected(msg);
00046 }


Member Function Documentation

const char * FennelExcn::what (  )  const throw () [virtual, inherited]

Definition at line 38 of file FennelExcn.cpp.

References FennelExcn::msg.

Referenced by CalcExtMathTest::testCalcExtMathLogarithmsFails(), CalcExtMathTest::testCalcExtMathPow(), and CalcExtMathTest::testCalcExtMathPowFails().

00039 {
00040     return msg.c_str();
00041 }

void FennelExcn::throwSelf (  )  [virtual, inherited]

Reimplemented in JavaExcn.

Definition at line 43 of file FennelExcn.cpp.

00044 {
00045     throw *this;
00046 }

std::string const& FennelExcn::getMessage (  )  [inline, inherited]

Definition at line 52 of file FennelExcn.h.

Referenced by CalcAssembler::assemble(), CalcAssemblerTestCase::assemble(), CalcAssembler::bindRegisterValue(), CalcAssembler::createInstruction(), CalcExecStream::execute(), JniEnvRef::handleExcn(), CalcExtWinAggFuncTest::initWindowedAggDataBlock(), FlatFileExecStreamImpl::open(), CalcExecStream::prepare(), BackupRestoreTest::testBackupCleanup(), CalcInstFactoryTest::testBool(), CalcInstFactoryTest::testBoolNative(), CalcInstFactoryTest::testBoolPointer(), CalcMiscTest::testCalcContinueOnException(), CalcExtCastTest::testCalcExtCastApproxToString(), CalcExtCastTest::testCalcExtCastBigExactToString(), CalcExtCastTest::testCalcExtCastBooleanToChar(), CalcExtCastTest::testCalcExtCastBooleanToVarChar(), CalcExtCastTest::testCalcExtCastCharToBoolean(), CalcExtCastTest::testCalcExtCastCharToDecimal(), CalcExtCastTest::testCalcExtCastCharToExact(), CalcExtCastTest::testCalcExtCastDecimalToChar(), CalcExtCastTest::testCalcExtCastDecimalToStringTruncates(), CalcExtCastTest::testCalcExtCastDecimalToVarChar(), CalcExtCastTest::testCalcExtCastExactToChar(), CalcExtCastTest::testCalcExtCastExactToStringTruncates(), CalcExtCastTest::testCalcExtCastExactToVarChar(), CalcExtCastTest::testCalcExtCastStringToApprox(), CalcExtCastTest::testCalcExtCastStringToChar(), CalcExtCastTest::testCalcExtCastStringToDecimalFails(), CalcExtCastTest::testCalcExtCastStringToDecimalMinMax(), CalcExtCastTest::testCalcExtCastStringToDecimalRange(), CalcExtCastTest::testCalcExtCastStringToExactFails(), CalcExtCastTest::testCalcExtCastStringToVarChar(), CalcExtCastTest::testCalcExtCastVarCharToBoolean(), CalcExtCastTest::testCalcExtCastVarCharToDecimal(), CalcExtCastTest::testCalcExtCastVarCharToExact(), CalcExtContextTest::testCalcExtContext(), CalcExtDateTimeTest::testCalcExtConvertDateToString(), CalcExtDynamicVariableTest::testCalcExtDynamicVariable(), CalcExtDateTimeTest::testCalcExtLocalTime(), CalcExtDateTimeTest::testCalcExtLocalTimestamp(), CalcExtMathTest::testCalcExtMathAbs(), CalcExtMathTest::testCalcExtMathLogarithms(), CalcExtMathTest::testCalcExtMathLogarithmsFails(), CalcExtMathTest::testCalcExtMathPow(), CalcExtMathTest::testCalcExtMathPowFails(), CalcExtRegExpTest::testCalcExtRegExpLikeAChar(), CalcExtRegExpTest::testCalcExtRegExpLikeAVarChar(), CalcExtRegExpTest::testCalcExtRegExpSimilarAChar(), CalcExtRegExpTest::testCalcExtRegExpSimilarAVarChar(), CalcExtStringTest::testCalcExtStringCatA2(), CalcExtStringTest::testCalcExtStringCatA3(), CalcExtStringTest::testCalcExtStringCmpA(), CalcExtStringTest::testCalcExtStringCmpOct(), CalcExtStringTest::testCalcExtStringLenBitA(), CalcExtStringTest::testCalcExtStringLenCharA(), CalcExtStringTest::testCalcExtStringLenOctA(), CalcExtStringTest::testCalcExtStringOverlayA4(), CalcExtStringTest::testCalcExtStringOverlayA5(), CalcExtStringTest::testCalcExtStringPosA(), CalcExtStringTest::testCalcExtStringSubStringA3(), CalcExtStringTest::testCalcExtStringSubStringA4(), CalcExtStringTest::testCalcExtStringToANull(), CalcExtStringTest::testCalcExtStringToLower(), CalcExtStringTest::testCalcExtStringToUpper(), CalcExtStringTest::testCalcExtStringTrim(), CalcMiscTest::testCalcRaise(), CalcMiscTest::testCalcRefInst(), CalcMiscTest::testCalcReturn(), CalcMiscTest::testCalcStatusReg(), CalcMiscTest::testCalcStatusRegZero(), CalcCastTest::testExe(), ExecStreamGovernorTest::testGovernor(), CalcInstFactoryTest::testIntegralNative(), CalcInstFactoryTest::testIntegralPointer(), CalcInstFactoryTest::testJump(), CalcInstFactoryTest::testNativeNative(), CalcInstFactoryTest::testPointerIntegral(), CalcInstFactoryTest::testPointerPointer(), CalcInstFactoryTest::testReturn(), CalcCastTest::testRoundInstruction(), WinAggAddTest(), WinAggAddTestStr(), WinAggDropTest(), and WinAggDropTestStr().

00053     {
00054         return msg;
00055     }


Member Data Documentation

std::string FennelExcn::msg [protected, inherited]

Definition at line 35 of file FennelExcn.h.

Referenced by BTreeDuplicateKeyExcn(), CalcExcn::CalcExcn(), JavaExcn::getStackTrace(), SysCallExcn::init(), InvalidParamExcn::InvalidParamExcn(), InvalidValueException< T >::InvalidValueException(), JavaExcn::JavaExcn(), TupleOverflowExcn::TupleOverflowExcn(), and FennelExcn::what().


The documentation for this class was generated from the following files:
Generated on Mon Jun 22 04:00:25 2009 for Fennel by  doxygen 1.5.1