When implementing a callback function, avoid calls to FairCom DB functions or to c-treeDB API functions that in turn make calls to other FairCom DB functions, as these calls may interfere with any current internal states maintained by c-tree or by c-treeDB API.
Some c-treeDB API functions are safe to be called from inside callback functions since they do not make FairCom DB calls and do not affect the internal state maintained by c-treeDB API.
The following c-treeDB API functions are safe to be called from inside callback functions:
ctdbSetCallback ctdbGetCallback ctdbClearCallback ctdbClearAllCallback ctdbGetHandleType ctdbSetLocalTag ctdbGetLocalTag ctdbGetRebuildProgress ctdbDateCheck ctdbDatePack ctdbDateUnpack ctdbDateToString ctdbStringToDate ctdbGetDay ctdbGetMonth ctdbGetYear ctdbIsLeapYear ctdbDayOfWeek ctdbGetDefDateType ctdbSetDefDateType ctdbCurrentDate ctdbTimeCheck ctdbTimePack ctdbTimeUnpack ctdbTimeToString ctdbStringToTime ctdbGetHour ctdbGetMinute ctdbGetSecond ctdbGetDefTimeType ctdbSetDefTimeType ctdbCurrentTime ctdbDateTimePack ctdbDateTimeSetDate ctdbDateTimeSetTime ctdbDateTimeToString |
ctdbDateTimeUnpack ctdbDateTimeGetDate ctdbDateTimeGetTime ctdbMoneyToLong ctdbLongToMoney ctdbMoneyToFloat ctdbFloatToMoney ctdbMoneyToString ctdbStringToMoney ctdbMoneyAdd ctdbMoneySub ctdbMoneyMul ctdbMoneyDiv ctdbMoneyCmp ctdbMoneyAbs ctdbBlobAlloc ctdbBlobFree ctdbBlobGetData ctdbBlobGetSize ctdbBlobSet ctdbBlobCmp ctdbBlobClear ctdbBigIntToLong ctdbLongToBigInt ctdbBigIntToFloat ctdbFloatToBigInt ctdbBigIntToString ctdbStringToBigInt ctdbMoneyToCurrency ctdbCurrencyToMoney ctdbCurrencyToLong ctdbLongToCurrency ctdbCurrencyToBigInt ctdbBigIntToCurrency ctdbCurrencyToFloat ctdbFloatToCurrency |
ctdbStringToDateTime ctdbCurrentDateTime ctdbCurrencyToString ctdbStringToCurrency ctdbCurrencyAdd ctdbCurrencySub ctdbCurrencyMul ctdbCurrencyDiv ctdbCurrencyCmp ctdbCurrencyAbs ctdbCurrencyRound ctdbMoneyToNumber ctdbNumberToMoney ctdbNumberToLong ctdbLongToNumber ctdbNumberToBigInt ctdbBigIntToNumber ctdbNumberToCurrency ctdbCurrencyToNumber ctdbNumberToFloat ctdbFloatToNumber ctdbNumberToString ctdbStringToNumber ctdbNumberAdd ctdbNumberSub ctdbNumberMul ctdbNumberDiv ctdbNumberZero ctdbIsNumberZero ctdbNumberCmp ctdbNumberAbs ctdbNumberNegate ctdbNumberCopy ctdbNumberRound ctdbNumberGetDecimal |