Changeset: 2bd50305d500 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2bd50305d500 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/kernel/batcalc.c monetdb5/modules/kernel/batcalc.mal monetdb5/modules/kernel/batcalc.mal.sh Branch: default Log Message:
Cleanup of changeset b51e0d4dae3f. No need for batcalc.TYPE working on non-BAT types (that's what calc.TYPE is for). Make that clients exports test finds all exported functions by not hiding the export declaration inside a #define. diffs (truncated from 1475 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1330,8 +1330,26 @@ str CMDclearTrace(int *res); str CMDcloseProfilerStream(int *res); str CMDclrFilterProfiler(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CMDclrFilterVariable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pc); -str CMDconvert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -str CMDconvertsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); +str CMDconvert_bit(bat *ret, bat *bid); +str CMDconvert_bte(bat *ret, bat *bid); +str CMDconvert_dbl(bat *ret, bat *bid); +str CMDconvert_flt(bat *ret, bat *bid); +str CMDconvert_int(bat *ret, bat *bid); +str CMDconvert_lng(bat *ret, bat *bid); +str CMDconvert_oid(bat *ret, bat *bid); +str CMDconvert_sht(bat *ret, bat *bid); +str CMDconvert_str(bat *ret, bat *bid); +str CMDconvert_wrd(bat *ret, bat *bid); +str CMDconvertsignal_bit(bat *ret, bat *bid); +str CMDconvertsignal_bte(bat *ret, bat *bid); +str CMDconvertsignal_dbl(bat *ret, bat *bid); +str CMDconvertsignal_flt(bat *ret, bat *bid); +str CMDconvertsignal_int(bat *ret, bat *bid); +str CMDconvertsignal_lng(bat *ret, bat *bid); +str CMDconvertsignal_oid(bat *ret, bat *bid); +str CMDconvertsignal_sht(bat *ret, bat *bid); +str CMDconvertsignal_str(bat *ret, bat *bid); +str CMDconvertsignal_wrd(bat *ret, bat *bid); str CMDdeactivateProfiler(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CMDdebug(int *ret, int *flg); str CMDdumpTrace(int *res); diff --git a/monetdb5/modules/kernel/batcalc.c b/monetdb5/modules/kernel/batcalc.c --- a/monetdb5/modules/kernel/batcalc.c +++ b/monetdb5/modules/kernel/batcalc.c @@ -1327,32 +1327,6 @@ CMDcalcavg(dbl *avg, bat *bid) return CMDcalcavg2(avg, NULL, bid); } -batcalc_export str CMDconvert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); - -str -CMDconvert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - (void) cntxt; - (void) mb; - - if (VARconvert(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)], 0) == GDK_FAIL) - return mythrow(MAL, "batcalc.convert", OPERATION_FAILED); - return MAL_SUCCEED; -} - -batcalc_export str CMDconvertsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); - -str -CMDconvertsignal(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - (void) cntxt; - (void) mb; - - if (VARconvert(&stk->stk[getArg(pci, 0)], &stk->stk[getArg(pci, 1)], 1) == GDK_FAIL) - return mythrow(MAL, "batcalc.convert", OPERATION_FAILED); - return MAL_SUCCEED; -} - static str CMDconvertbat(bat *ret, bat *bid, int tp, int abort_on_error) { @@ -1362,36 +1336,55 @@ CMDconvertbat(bat *ret, bat *bid, int tp throw(MAL, "batcalc.convert", RUNTIME_OBJECT_MISSING); bn = BATconvert(b, tp, abort_on_error); BBPreleaseref(b->batCacheid); - if (bn == NULL) - return mythrow(MAL, "batcalc.convert", OPERATION_FAILED); + if (bn == NULL) { + char buf[20]; + snprintf(buf, sizeof(buf), "batcalc.%s", ATOMname(tp)); + return mythrow(MAL, buf, OPERATION_FAILED); + } BBPkeepref(*ret = bn->batCacheid); return MAL_SUCCEED; } -#define CONVERT_TYPE(TYPE) \ -batcalc_export str CMDconvert_##TYPE(bat *ret, bat *bid); \ - \ -str \ -CMDconvert_##TYPE(bat *ret, bat *bid) \ -{ \ - return CMDconvertbat(ret, bid, TYPE_##TYPE, 0); \ -} \ - \ -batcalc_export str CMDconvertsignal_##TYPE(bat *ret, bat *bid); \ - \ -str \ -CMDconvertsignal_##TYPE(bat *ret, bat *bid) \ -{ \ - return CMDconvertbat(ret, bid, TYPE_##TYPE, 1); \ +#define BATCONVERT_TYPE(TYPE) \ +str \ +CMDconvert_##TYPE(bat *ret, bat *bid) \ +{ \ + return CMDconvertbat(ret, bid, TYPE_##TYPE, 0); \ +} \ +str \ +CMDconvertsignal_##TYPE(bat *ret, bat *bid) \ +{ \ + return CMDconvertbat(ret, bid, TYPE_##TYPE, 1); \ } -CONVERT_TYPE(bit) -CONVERT_TYPE(bte) -CONVERT_TYPE(sht) -CONVERT_TYPE(int) -CONVERT_TYPE(wrd) -CONVERT_TYPE(lng) -CONVERT_TYPE(flt) -CONVERT_TYPE(dbl) -CONVERT_TYPE(oid) -CONVERT_TYPE(str) +/* exports outside of define for clients exports test */ +batcalc_export str CMDconvert_bit(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_bit(bat *ret, bat *bid); +BATCONVERT_TYPE(bit) +batcalc_export str CMDconvert_bte(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_bte(bat *ret, bat *bid); +BATCONVERT_TYPE(bte) +batcalc_export str CMDconvert_sht(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_sht(bat *ret, bat *bid); +BATCONVERT_TYPE(sht) +batcalc_export str CMDconvert_int(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_int(bat *ret, bat *bid); +BATCONVERT_TYPE(int) +batcalc_export str CMDconvert_wrd(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_wrd(bat *ret, bat *bid); +BATCONVERT_TYPE(wrd) +batcalc_export str CMDconvert_lng(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_lng(bat *ret, bat *bid); +BATCONVERT_TYPE(lng) +batcalc_export str CMDconvert_flt(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_flt(bat *ret, bat *bid); +BATCONVERT_TYPE(flt) +batcalc_export str CMDconvert_dbl(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_dbl(bat *ret, bat *bid); +BATCONVERT_TYPE(dbl) +batcalc_export str CMDconvert_oid(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_oid(bat *ret, bat *bid); +BATCONVERT_TYPE(oid) +batcalc_export str CMDconvert_str(bat *ret, bat *bid); +batcalc_export str CMDconvertsignal_str(bat *ret, bat *bid); +BATCONVERT_TYPE(str) diff --git a/monetdb5/modules/kernel/batcalc.mal b/monetdb5/modules/kernel/batcalc.mal --- a/monetdb5/modules/kernel/batcalc.mal +++ b/monetdb5/modules/kernel/batcalc.mal @@ -11947,1300 +11947,700 @@ comment "average and number of non-nil v command bit(b:bat[:any_1,:bit]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from bit to bit, signal error on overflow"; -pattern bit(v:bit) :bit -address CMDconvertsignal -comment "cast from bit to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:bit]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from bit to bit"; -pattern bit_noerror(v:bit) :bit -address CMDconvert -comment "cast from bit to bit"; command bit(b:bat[:any_1,:bte]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from bte to bit, signal error on overflow"; -pattern bit(v:bte) :bit -address CMDconvertsignal -comment "cast from bte to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:bte]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from bte to bit"; -pattern bit_noerror(v:bte) :bit -address CMDconvert -comment "cast from bte to bit"; command bit(b:bat[:any_1,:sht]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from sht to bit, signal error on overflow"; -pattern bit(v:sht) :bit -address CMDconvertsignal -comment "cast from sht to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:sht]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from sht to bit"; -pattern bit_noerror(v:sht) :bit -address CMDconvert -comment "cast from sht to bit"; command bit(b:bat[:any_1,:int]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from int to bit, signal error on overflow"; -pattern bit(v:int) :bit -address CMDconvertsignal -comment "cast from int to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:int]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from int to bit"; -pattern bit_noerror(v:int) :bit -address CMDconvert -comment "cast from int to bit"; command bit(b:bat[:any_1,:wrd]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from wrd to bit, signal error on overflow"; -pattern bit(v:wrd) :bit -address CMDconvertsignal -comment "cast from wrd to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:wrd]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from wrd to bit"; -pattern bit_noerror(v:wrd) :bit -address CMDconvert -comment "cast from wrd to bit"; command bit(b:bat[:any_1,:lng]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from lng to bit, signal error on overflow"; -pattern bit(v:lng) :bit -address CMDconvertsignal -comment "cast from lng to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:lng]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from lng to bit"; -pattern bit_noerror(v:lng) :bit -address CMDconvert -comment "cast from lng to bit"; command bit(b:bat[:any_1,:flt]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from flt to bit, signal error on overflow"; -pattern bit(v:flt) :bit -address CMDconvertsignal -comment "cast from flt to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:flt]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from flt to bit"; -pattern bit_noerror(v:flt) :bit -address CMDconvert -comment "cast from flt to bit"; command bit(b:bat[:any_1,:dbl]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from dbl to bit, signal error on overflow"; -pattern bit(v:dbl) :bit -address CMDconvertsignal -comment "cast from dbl to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:dbl]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from dbl to bit"; -pattern bit_noerror(v:dbl) :bit -address CMDconvert -comment "cast from dbl to bit"; command bit(b:bat[:any_1,:oid]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from oid to bit, signal error on overflow"; -pattern bit(v:oid) :bit -address CMDconvertsignal -comment "cast from oid to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:oid]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from oid to bit"; -pattern bit_noerror(v:oid) :bit -address CMDconvert -comment "cast from oid to bit"; command bit(b:bat[:any_1,:str]) :bat[:any_1,:bit] address CMDconvertsignal_bit comment "cast from str to bit, signal error on overflow"; -pattern bit(v:str) :bit -address CMDconvertsignal -comment "cast from str to bit, signal error on overflow"; command bit_noerror(b:bat[:any_1,:str]) :bat[:any_1,:bit] address CMDconvert_bit comment "cast from str to bit"; -pattern bit_noerror(v:str) :bit -address CMDconvert -comment "cast from str to bit"; command bte(b:bat[:any_1,:bit]) :bat[:any_1,:bte] address CMDconvertsignal_bte comment "cast from bit to bte, signal error on overflow"; -pattern bte(v:bit) :bte -address CMDconvertsignal -comment "cast from bit to bte, signal error on overflow"; command bte_noerror(b:bat[:any_1,:bit]) :bat[:any_1,:bte] address CMDconvert_bte comment "cast from bit to bte"; -pattern bte_noerror(v:bit) :bte -address CMDconvert -comment "cast from bit to bte"; command bte(b:bat[:any_1,:bte]) :bat[:any_1,:bte] address CMDconvertsignal_bte _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list