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

Reply via email to