Changeset: 250ca46d4043 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=250ca46d4043
Modified Files:
monetdb5/modules/mosaic/mosaic_join.h
monetdb5/modules/mosaic/mosaic_projection.h
monetdb5/modules/mosaic/mosaic_select.h
monetdb5/modules/mosaic/mosaic_utility.h
Branch: mosaic
Log Message:
See if this fixes Windows compilation error.
diffs (98 lines):
diff --git a/monetdb5/modules/mosaic/mosaic_join.h
b/monetdb5/modules/mosaic/mosaic_join.h
--- a/monetdb5/modules/mosaic/mosaic_join.h
+++ b/monetdb5/modules/mosaic/mosaic_join.h
@@ -91,7 +91,7 @@ MOSjoin_COUI_SIGNATURE(NAME, TPE)\
return MAL_SUCCEED;\
}
-#define do_join_COUI(NAME, TPE, WORK_AROUND_DUMMY) msg =
MOSjoin_COUI_##NAME##_##TPE(r1p, r2p, task, r, rci, nil_matches)
+#define do_join_COUI(NAME, TPE, DUMMY_ARGUMENT) msg =
MOSjoin_COUI_##NAME##_##TPE(r1p, r2p, task, r, rci, nil_matches)
/* Nested loop join with the left (C)ompressed side in the (O)uter loop
* and the right (U)ncompressed side in the (I)nner loop.
@@ -199,35 +199,35 @@ static str MOSjoin_COUI_##TPE(MOStask ta
switch(MOSgetTag(task->blk)){\
case MOSAIC_RLE:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_runlength\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop,
runlength, TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, runlength, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_CAPPED:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_capped\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop,
capped, TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, capped, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_VAR:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_var\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop, var,
TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, var, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_FRAME:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_frame\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop, frame,
TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, frame, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_DELTA:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_delta\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop, delta,
TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, delta, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_PREFIX:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_prefix\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop,
prefix, TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, prefix, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_LINEAR:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_linear\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop,
linear, TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, linear, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
case MOSAIC_RAW:\
ALGODEBUG mnstr_printf(GDKstdout,
"MOSjoin_raw\n");\
- DO_OPERATION_IF_ALLOWED(join_inner_loop, raw,
TPE, HAS_NIL, RIGHT_CI_NEXT);\
+
DO_OPERATION_IF_ALLOWED_VARIADIC(join_inner_loop, raw, TPE, HAS_NIL,
RIGHT_CI_NEXT);\
break;\
}\
\
diff --git a/monetdb5/modules/mosaic/mosaic_projection.h
b/monetdb5/modules/mosaic/mosaic_projection.h
--- a/monetdb5/modules/mosaic/mosaic_projection.h
+++ b/monetdb5/modules/mosaic/mosaic_projection.h
@@ -46,7 +46,7 @@ MOSprojection_SIGNATURE(NAME, TPE)\
return MAL_SUCCEED;\
}
-#define do_projection(NAME, TPE, WORK_AROUND_DUMMY)
MOSprojection_##NAME##_##TPE(task)
+#define do_projection(NAME, TPE, DUMMY_ARGUMENT)
MOSprojection_##NAME##_##TPE(task)
#define MOSprojection_generic_DEF(TPE) \
static str MOSprojection_##TPE(MOStask task)\
diff --git a/monetdb5/modules/mosaic/mosaic_select.h
b/monetdb5/modules/mosaic/mosaic_select.h
--- a/monetdb5/modules/mosaic/mosaic_select.h
+++ b/monetdb5/modules/mosaic/mosaic_select.h
@@ -175,7 +175,7 @@ MOSselect_SIGNATURE(NAME, TPE) {\
return MAL_SUCCEED;\
}
-#define do_select(NAME, TPE, WORK_AROUND_DUMMY) \
+#define do_select(NAME, TPE, DUMMY_ARGUMENT) \
MOSselect_##NAME##_##TPE(\
task,\
*(TPE*) low,\
diff --git a/monetdb5/modules/mosaic/mosaic_utility.h
b/monetdb5/modules/mosaic/mosaic_utility.h
--- a/monetdb5/modules/mosaic/mosaic_utility.h
+++ b/monetdb5/modules/mosaic/mosaic_utility.h
@@ -43,9 +43,11 @@ ALGEBRA_INTERFACE(NAME, dbl);
#define DO_OPERATION_ON_INTEGERS_ONLY_hge(OPERATION, NAME, ...)
do_##OPERATION(NAME, hge, __VA_ARGS__)
#endif
-#define DO_OPERATION_ON_INTEGERS_ONLY(OPERATION, NAME, TPE, ...)
DO_OPERATION_ON_INTEGERS_ONLY_##TPE(OPERATION, NAME, __VA_ARGS__)
-#define DO_OPERATION_ON_ALL_TYPES(OPERATION, NAME, ...) do_##OPERATION(NAME,
__VA_ARGS__)
+#define DO_OPERATION_ON_INTEGERS_ONLY(OPERATION, NAME, TPE, ...)
DO_OPERATION_ON_INTEGERS_ONLY_##TPE(OPERATION, NAME, __VA_ARGS__)
+#define DO_OPERATION_ON_ALL_TYPES(OPERATION, NAME, TPE, ...)
do_##OPERATION(NAME, TPE, __VA_ARGS__)
-#define DO_OPERATION_IF_ALLOWED(OPERATION, NAME, ...)
DO_OPERATION_ON_##NAME(OPERATION, __VA_ARGS__)
+/*DUMMY_PARAM is just an ugly workaround for the fact that a variadic macro
must have at least one variadic parameter*/
+#define DO_OPERATION_IF_ALLOWED(OPERATION, NAME, TPE)
DO_OPERATION_ON_##NAME(OPERATION, TPE, 0 /*DUMMY_PARAM*/)
+#define DO_OPERATION_IF_ALLOWED_VARIADIC(OPERATION, NAME, TPE, ...)
DO_OPERATION_ON_##NAME(OPERATION, TPE, __VA_ARGS__)
#endif /* _MOSAIC_UTILITY_ */
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list