1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

MCOL-523 Add UDAF and UDAnF SDK

This commit is contained in:
David Hall
2017-07-26 11:53:08 -05:00
parent 630b113565
commit bc2a4e7795
75 changed files with 10250 additions and 4523 deletions

View File

@ -34,7 +34,7 @@ namespace funcexp
//------------------------------------------------------------------------------
// Return input argument type.
// See IDB_add in udfsdk.h for explanation of this function.
// See mcs_add in udfsdk.h for explanation of this function.
//------------------------------------------------------------------------------
execplan::CalpontSystemCatalog::ColType Func_inet_aton::operationType(
FunctionParm& fp,

View File

@ -54,7 +54,7 @@ namespace funcexp
//------------------------------------------------------------------------------
// Return input argument type.
// See IDB_add in udfsdk.h for explanation of this function.
// See mcs_add in udfsdk.h for explanation of this function.
//------------------------------------------------------------------------------
execplan::CalpontSystemCatalog::ColType Func_inet_ntoa::operationType(
FunctionParm& fp,

12
utils/funcexp/func_lpad.cpp Normal file → Executable file
View File

@ -63,7 +63,7 @@ std::string Func_lpad::getStrVal(rowgroup::Row& row,
const string& tstr = fp[0]->data()->getStrVal(row, isNull);
// The result length in number of characters
int len = 0;
size_t len = 0;
switch (fp[1]->data()->resultType().colDataType)
{
case execplan::CalpontSystemCatalog::BIGINT:
@ -129,16 +129,16 @@ std::string Func_lpad::getStrVal(rowgroup::Row& row,
// determine the size of buffer to allocate, we can be sure the wide
// char string won't be longer than
strwclen = tstr.length(); // a guess to start with. This will be >= to the real count.
int alen = len;
size_t alen = len;
if(strwclen > len)
alen = strwclen;
int bufsize = (alen+1) * sizeof(wchar_t);
size_t bufsize = (alen+1) * sizeof(wchar_t);
// Convert to wide characters. Do all further work in wide characters
wchar_t* wcbuf = (wchar_t*)alloca(bufsize);
strwclen = utf8::idb_mbstowcs(wcbuf, tstr.c_str(), strwclen+1);
unsigned int strSize = strwclen; // The number of significant characters
size_t strSize = strwclen; // The number of significant characters
const wchar_t* pWChar = wcbuf;
for (i = 0; *pWChar != '\0' && i < strwclen; ++pWChar, ++i)
{
@ -165,13 +165,13 @@ std::string Func_lpad::getStrVal(rowgroup::Row& row,
// Convert the pad string to wide
padwclen = pad.length(); // A guess to start.
int padbufsize = (padwclen+1) * sizeof(wchar_t);
size_t padbufsize = (padwclen+1) * sizeof(wchar_t);
wchar_t* wcpad = (wchar_t*)alloca(padbufsize);
// padwclen+1 is for giving count for the terminating null
size_t padlen = utf8::idb_mbstowcs(wcpad, pad.c_str(), padwclen+1);
// How many chars do we need?
unsigned int padspace = len - strSize;
size_t padspace = len - strSize;
// Shift the contents of wcbuf to the right.
wchar_t* startofstr = wcbuf + padspace;

2
utils/funcexp/func_rpad.cpp Normal file → Executable file
View File

@ -63,7 +63,7 @@ std::string Func_rpad::getStrVal(rowgroup::Row& row,
const string& tstr = fp[0]->data()->getStrVal(row, isNull);
// The result length in number of characters
int len = 0;
size_t len = 0;
switch (fp[1]->data()->resultType().colDataType)
{
case execplan::CalpontSystemCatalog::BIGINT:

658
utils/funcexp/funcexp.vpj Normal file → Executable file
View File

@ -1,332 +1,332 @@
<!DOCTYPE Project SYSTEM "http://www.slickedit.com/dtd/vse/10.0/vpj.dtd">
<Project
Version="10.0"
VendorName="SlickEdit"
TemplateName="GNU C/C++"
WorkingDir=".">
<Config
Name="Debug"
Type="gnuc"
DebugCallbackName="gdb"
Version="1"
OutputFile="%bdfuncexp.so"
CompilerConfigName="Latest Version">
<Menu>
<Target
Name="Compile"
MenuCaption="&amp;Compile"
Dialog="_gnuc_options_form Compile"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
OutputExts="*.o"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ -c %xup %defd -g -o "%bd%n%oe" %i "%f"'/>
</Target>
<Target
Name="Link"
MenuCaption="&amp;Link"
ShowOnMenu="Never"
Dialog="_gnuc_options_form Link"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ %xup -g -o "%o" %f %libs -shared -fPIC'/>
</Target>
<Target
Name="Build"
MenuCaption="&amp;Build"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine="make"/>
</Target>
<Target
Name="Rebuild"
MenuCaption="&amp;Rebuild"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="Debug"
MenuCaption="&amp;Debug"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveNone"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine=""/>
</Target>
<Target
Name="Execute"
MenuCaption="E&amp;xecute"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="dash"
MenuCaption="-"
Deletable="0">
<Exec/>
</Target>
<Target
Name="GNU C Options"
MenuCaption="GNU C &amp;Options..."
ShowOnMenu="HideIfNoCmdLine"
Deletable="0"
SaveOption="SaveNone">
<Exec
CmdLine="gnucoptions"
Type="Slick-C"/>
</Target>
</Menu>
<List Name="GNUC Options">
<Item
Name="LinkerOutputType"
Value="SharedLibrary"/>
</List>
</Config>
<Config
Name="Release"
Type="gnuc"
DebugCallbackName="gdb"
Version="1"
OutputFile="%bdfuncexp.so"
CompilerConfigName="Latest Version">
<Menu>
<Target
Name="Compile"
MenuCaption="&amp;Compile"
Dialog="_gnuc_options_form Compile"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
OutputExts="*.o"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ -c %xup %defd -o "%bd%n%oe" %i "%f"'/>
</Target>
<Target
Name="Link"
MenuCaption="&amp;Link"
ShowOnMenu="Never"
Dialog="_gnuc_options_form Link"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ %xup -o "%o" %f %libs -shared -fPIC'/>
</Target>
<Target
Name="Build"
MenuCaption="&amp;Build"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine="make"/>
</Target>
<Target
Name="Rebuild"
MenuCaption="&amp;Rebuild"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="Debug"
MenuCaption="&amp;Debug"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveNone"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine=""/>
</Target>
<Target
Name="Execute"
MenuCaption="E&amp;xecute"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="dash"
MenuCaption="-"
Deletable="0">
<Exec/>
</Target>
<Target
Name="GNU C Options"
MenuCaption="GNU C &amp;Options..."
ShowOnMenu="HideIfNoCmdLine"
Deletable="0"
SaveOption="SaveNone">
<Exec
CmdLine="gnucoptions"
Type="Slick-C"/>
</Target>
</Menu>
<List Name="GNUC Options">
<Item
Name="LinkerOutputType"
Value="SharedLibrary"/>
</List>
</Config>
<Files>
<Folder
Name="Source Files"
Filters="*.c;*.C;*.cc;*.cpp;*.cp;*.cxx;*.c++;*.prg;*.pas;*.dpr;*.asm;*.s;*.bas;*.java;*.cs;*.sc;*.e;*.cob;*.html;*.rc;*.tcl;*.py;*.pl;*.d">
<F N="func_abs.cpp"/>
<F N="func_add_time.cpp"/>
<F N="func_ascii.cpp"/>
<F N="func_between.cpp"/>
<F N="func_bitand.cpp"/>
<F N="func_bitwise.cpp"/>
<F N="func_case.cpp"/>
<F N="func_cast.cpp"/>
<F N="func_ceil.cpp"/>
<F N="func_char.cpp"/>
<F N="func_char_length.cpp"/>
<F N="func_coalesce.cpp"/>
<F N="func_concat.cpp"/>
<F N="func_concat_ws.cpp"/>
<F N="func_conv.cpp"/>
<F N="func_crc32.cpp"/>
<F N="func_date.cpp"/>
<F N="func_date_add.cpp"/>
<F N="func_date_format.cpp"/>
<F N="func_day.cpp"/>
<F N="func_dayname.cpp"/>
<F N="func_dayofweek.cpp"/>
<F N="func_dayofyear.cpp"/>
<F N="func_div.cpp"/>
<F N="func_elt.cpp"/>
<F N="func_exp.cpp"/>
<F N="func_extract.cpp"/>
<F N="func_find_in_set.cpp"/>
<F N="func_floor.cpp"/>
<F N="func_from_days.cpp"/>
<F N="func_from_unixtime.cpp"/>
<F N="func_get_format.cpp"/>
<F N="func_greatest.cpp"/>
<F N="func_hex.cpp"/>
<F N="func_hour.cpp"/>
<F N="func_if.cpp"/>
<F N="func_ifnull.cpp"/>
<F N="func_in.cpp"/>
<F N="func_inet_aton.cpp"/>
<F N="func_inet_ntoa.cpp"/>
<F N="func_insert.cpp"/>
<F N="func_instr.cpp"/>
<F N="func_isnull.cpp"/>
<F N="func_last_day.cpp"/>
<F N="func_lcase.cpp"/>
<F N="func_least.cpp"/>
<F N="func_left.cpp"/>
<F N="func_length.cpp"/>
<F N="func_lpad.cpp"/>
<F N="func_ltrim.cpp"/>
<F N="func_makedate.cpp"/>
<F N="func_maketime.cpp"/>
<F N="func_math.cpp"/>
<F N="func_md5.cpp"/>
<F N="func_microsecond.cpp"/>
<F N="func_minute.cpp"/>
<F N="func_mod.cpp"/>
<F N="func_month.cpp"/>
<F N="func_monthname.cpp"/>
<F N="func_nullif.cpp"/>
<F N="func_period_add.cpp"/>
<F N="func_period_diff.cpp"/>
<F N="func_pow.cpp"/>
<F N="func_quarter.cpp"/>
<F N="func_rand.cpp"/>
<F N="func_regexp.cpp"/>
<F N="func_repeat.cpp"/>
<F N="func_replace.cpp"/>
<F N="func_reverse.cpp"/>
<F N="func_right.cpp"/>
<F N="func_round.cpp"/>
<F N="func_rpad.cpp"/>
<F N="func_rtrim.cpp"/>
<F N="func_sec_to_time.cpp"/>
<F N="func_second.cpp"/>
<F N="func_sha.cpp"/>
<F N="func_sign.cpp"/>
<F N="func_str_to_date.cpp"/>
<F N="func_strcmp.cpp"/>
<F N="func_substr.cpp"/>
<F N="func_substring_index.cpp"/>
<F N="func_sysdate.cpp"/>
<F N="func_time.cpp"/>
<F N="func_time_format.cpp"/>
<F N="func_time_to_sec.cpp"/>
<F N="func_timediff.cpp"/>
<F N="func_timestampdiff.cpp"/>
<F N="func_to_days.cpp"/>
<F N="func_trim.cpp"/>
<F N="func_truncate.cpp"/>
<F N="func_ucase.cpp"/>
<F N="func_unhex.cpp"/>
<F N="func_unix_timestamp.cpp"/>
<F N="func_week.cpp"/>
<F N="func_weekday.cpp"/>
<F N="func_year.cpp"/>
<F N="func_yearweek.cpp"/>
<F N="funcexp.cpp"/>
<F N="funcexpwrapper.cpp"/>
<F N="functor.cpp"/>
</Folder>
<Folder
Name="Header Files"
Filters="*.h;*.H;*.hh;*.hpp;*.hxx;*.inc;*.sh;*.cpy;*.if">
<F N="funcexp.h"/>
<F N="funcexpwrapper.h"/>
<F N="funchelpers.h"/>
<F N="functor.h"/>
<F N="functor_all.h"/>
<F N="functor_bool.h"/>
<F N="functor_dtm.h"/>
<F N="functor_export.h"/>
<F N="functor_int.h"/>
<F N="functor_real.h"/>
<F N="functor_str.h"/>
<F N="sha.h"/>
</Folder>
<Folder
Name="Resource Files"
Filters="*.ico;*.cur;*.dlg"/>
<Folder
Name="Bitmaps"
Filters="*.bmp"/>
<Folder
Name="Other Files"
Filters="">
<F
N="Makefile"
Type="Makefile"/>
</Folder>
</Files>
Version="10.0"
VendorName="SlickEdit"
TemplateName="GNU C/C++"
WorkingDir=".">
<Config
Name="Debug"
Type="gnuc"
DebugCallbackName="gdb"
Version="1"
OutputFile="%bdfuncexp.so"
CompilerConfigName="Latest Version">
<Menu>
<Target
Name="Compile"
MenuCaption="&amp;Compile"
Dialog="_gnuc_options_form Compile"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
OutputExts="*.o"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ -c %xup %defd -g -o "%bd%n%oe" %i "%f"'/>
</Target>
<Target
Name="Link"
MenuCaption="&amp;Link"
ShowOnMenu="Never"
Dialog="_gnuc_options_form Link"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ %xup -g -o "%o" %f %libs -shared -fPIC'/>
</Target>
<Target
Name="Build"
MenuCaption="&amp;Build"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine="make"/>
</Target>
<Target
Name="Rebuild"
MenuCaption="&amp;Rebuild"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="Debug"
MenuCaption="&amp;Debug"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveNone"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine=""/>
</Target>
<Target
Name="Execute"
MenuCaption="E&amp;xecute"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="dash"
MenuCaption="-"
Deletable="0">
<Exec/>
</Target>
<Target
Name="GNU C Options"
MenuCaption="GNU C &amp;Options..."
ShowOnMenu="HideIfNoCmdLine"
Deletable="0"
SaveOption="SaveNone">
<Exec
CmdLine="gnucoptions"
Type="Slick-C"/>
</Target>
</Menu>
<List Name="GNUC Options">
<Item
Name="LinkerOutputType"
Value="SharedLibrary"/>
</List>
</Config>
<Config
Name="Release"
Type="gnuc"
DebugCallbackName="gdb"
Version="1"
OutputFile="%bdfuncexp.so"
CompilerConfigName="Latest Version">
<Menu>
<Target
Name="Compile"
MenuCaption="&amp;Compile"
Dialog="_gnuc_options_form Compile"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
OutputExts="*.o"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ -c %xup %defd -o "%bd%n%oe" %i "%f"'/>
</Target>
<Target
Name="Link"
MenuCaption="&amp;Link"
ShowOnMenu="Never"
Dialog="_gnuc_options_form Link"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveCurrent"
RunFromDir="%rw">
<Exec CmdLine='g++ %xup -o "%o" %f %libs -shared -fPIC'/>
</Target>
<Target
Name="Build"
MenuCaption="&amp;Build"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine="make"/>
</Target>
<Target
Name="Rebuild"
MenuCaption="&amp;Rebuild"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="Debug"
MenuCaption="&amp;Debug"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveNone"
RunFromDir="%rw"
ClearProcessBuffer="1">
<Exec CmdLine=""/>
</Target>
<Target
Name="Execute"
MenuCaption="E&amp;xecute"
Dialog="_gnuc_options_form Run/Debug"
BuildFirst="1"
CaptureOutputWith="ProcessBuffer"
Deletable="0"
SaveOption="SaveWorkspaceFiles"
RunFromDir="%rw">
<Exec CmdLine=""/>
</Target>
<Target
Name="dash"
MenuCaption="-"
Deletable="0">
<Exec/>
</Target>
<Target
Name="GNU C Options"
MenuCaption="GNU C &amp;Options..."
ShowOnMenu="HideIfNoCmdLine"
Deletable="0"
SaveOption="SaveNone">
<Exec
CmdLine="gnucoptions"
Type="Slick-C"/>
</Target>
</Menu>
<List Name="GNUC Options">
<Item
Name="LinkerOutputType"
Value="SharedLibrary"/>
</List>
</Config>
<Files>
<Folder
Name="Source Files"
Filters="*.c;*.C;*.cc;*.cpp;*.cp;*.cxx;*.c++;*.prg;*.pas;*.dpr;*.asm;*.s;*.bas;*.java;*.cs;*.sc;*.e;*.cob;*.html;*.rc;*.tcl;*.py;*.pl;*.d">
<F N="func_abs.cpp"/>
<F N="func_add_time.cpp"/>
<F N="func_ascii.cpp"/>
<F N="func_between.cpp"/>
<F N="func_bitand.cpp"/>
<F N="func_bitwise.cpp"/>
<F N="func_case.cpp"/>
<F N="func_cast.cpp"/>
<F N="func_ceil.cpp"/>
<F N="func_char.cpp"/>
<F N="func_char_length.cpp"/>
<F N="func_coalesce.cpp"/>
<F N="func_concat.cpp"/>
<F N="func_concat_ws.cpp"/>
<F N="func_conv.cpp"/>
<F N="func_crc32.cpp"/>
<F N="func_date.cpp"/>
<F N="func_date_add.cpp"/>
<F N="func_date_format.cpp"/>
<F N="func_day.cpp"/>
<F N="func_dayname.cpp"/>
<F N="func_dayofweek.cpp"/>
<F N="func_dayofyear.cpp"/>
<F N="func_div.cpp"/>
<F N="func_elt.cpp"/>
<F N="func_exp.cpp"/>
<F N="func_extract.cpp"/>
<F N="func_find_in_set.cpp"/>
<F N="func_floor.cpp"/>
<F N="func_from_days.cpp"/>
<F N="func_from_unixtime.cpp"/>
<F N="func_get_format.cpp"/>
<F N="func_greatest.cpp"/>
<F N="func_hex.cpp"/>
<F N="func_hour.cpp"/>
<F N="func_if.cpp"/>
<F N="func_ifnull.cpp"/>
<F N="func_in.cpp"/>
<F N="func_inet_aton.cpp"/>
<F N="func_inet_ntoa.cpp"/>
<F N="func_insert.cpp"/>
<F N="func_instr.cpp"/>
<F N="func_isnull.cpp"/>
<F N="func_last_day.cpp"/>
<F N="func_lcase.cpp"/>
<F N="func_least.cpp"/>
<F N="func_left.cpp"/>
<F N="func_length.cpp"/>
<F N="func_lpad.cpp"/>
<F N="func_ltrim.cpp"/>
<F N="func_makedate.cpp"/>
<F N="func_maketime.cpp"/>
<F N="func_math.cpp"/>
<F N="func_md5.cpp"/>
<F N="func_microsecond.cpp"/>
<F N="func_minute.cpp"/>
<F N="func_mod.cpp"/>
<F N="func_month.cpp"/>
<F N="func_monthname.cpp"/>
<F N="func_nullif.cpp"/>
<F N="func_period_add.cpp"/>
<F N="func_period_diff.cpp"/>
<F N="func_pow.cpp"/>
<F N="func_quarter.cpp"/>
<F N="func_rand.cpp"/>
<F N="func_regexp.cpp"/>
<F N="func_repeat.cpp"/>
<F N="func_replace.cpp"/>
<F N="func_reverse.cpp"/>
<F N="func_right.cpp"/>
<F N="func_round.cpp"/>
<F N="func_rpad.cpp"/>
<F N="func_rtrim.cpp"/>
<F N="func_sec_to_time.cpp"/>
<F N="func_second.cpp"/>
<F N="func_sha.cpp"/>
<F N="func_sign.cpp"/>
<F N="func_str_to_date.cpp"/>
<F N="func_strcmp.cpp"/>
<F N="func_substr.cpp"/>
<F N="func_substring_index.cpp"/>
<F N="func_sysdate.cpp"/>
<F N="func_time.cpp"/>
<F N="func_time_format.cpp"/>
<F N="func_time_to_sec.cpp"/>
<F N="func_timediff.cpp"/>
<F N="func_timestampdiff.cpp"/>
<F N="func_to_days.cpp"/>
<F N="func_trim.cpp"/>
<F N="func_truncate.cpp"/>
<F N="func_ucase.cpp"/>
<F N="func_unhex.cpp"/>
<F N="func_unix_timestamp.cpp"/>
<F N="func_week.cpp"/>
<F N="func_weekday.cpp"/>
<F N="func_year.cpp"/>
<F N="func_yearweek.cpp"/>
<F N="funcexp.cpp"/>
<F N="funcexpwrapper.cpp"/>
<F N="functor.cpp"/>
</Folder>
<Folder
Name="Header Files"
Filters="*.h;*.H;*.hh;*.hpp;*.hxx;*.inc;*.sh;*.cpy;*.if">
<F N="funcexp.h"/>
<F N="funcexpwrapper.h"/>
<F N="funchelpers.h"/>
<F N="functor.h"/>
<F N="functor_all.h"/>
<F N="functor_bool.h"/>
<F N="functor_dtm.h"/>
<F N="functor_export.h"/>
<F N="functor_int.h"/>
<F N="functor_real.h"/>
<F N="functor_str.h"/>
<F N="sha.h"/>
</Folder>
<Folder
Name="Resource Files"
Filters="*.ico;*.cur;*.dlg"/>
<Folder
Name="Bitmaps"
Filters="*.bmp"/>
<Folder
Name="Other Files"
Filters="">
<F
N="Makefile"
Type="Makefile"/>
</Folder>
</Files>
</Project>

View File

@ -182,7 +182,7 @@ public:
Func_isnull():fIsNotNull(false) {}
Func_isnull(bool isnotnull) : fIsNotNull(isnotnull) {}
/*
* Destructor. IDB_add does not need to do anything here to clean up.
* Destructor. isnull does not need to do anything here to clean up.
*/
virtual ~Func_isnull() {}