Changeset: 8211183b107e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8211183b107e Modified Files: monetdb5/mal/mal_errors.h monetdb5/mal/mal_exception.c monetdb5/mal/mal_exception.h monetdb5/modules/mal/tracer.c Branch: gdk_tracer Log Message:
Exception handling for failing GDKtracer routines in MAL layer diffs (139 lines): diff --git a/monetdb5/mal/mal_errors.h b/monetdb5/mal/mal_errors.h --- a/monetdb5/mal/mal_errors.h +++ b/monetdb5/mal/mal_errors.h @@ -88,6 +88,7 @@ #define RUNTIME_QRY_TIMEOUT "Query aborted due to timeout" #define RUNTIME_SESSION_TIMEOUT "Query aborted due to session timeout" #define OPERATION_FAILED "operation failed" +#define _OPERATION_FAILED "Operation failed" #define BOX_CLOSED "Box is not open" diff --git a/monetdb5/mal/mal_exception.c b/monetdb5/mal/mal_exception.c --- a/monetdb5/mal/mal_exception.c +++ b/monetdb5/mal/mal_exception.c @@ -29,6 +29,7 @@ static char *exceptionNames[] = { /*11 */ "ArithmeticException", /*12 */ "PermissionDeniedException", /*13 */ "SQLException", +/*14 */ "TracerException", /*15 */ "Deprecated operation", /*EOE*/ NULL }; diff --git a/monetdb5/mal/mal_exception.h b/monetdb5/mal/mal_exception.h --- a/monetdb5/mal/mal_exception.h +++ b/monetdb5/mal/mal_exception.h @@ -26,7 +26,8 @@ enum malexception { PARSE, ARITH, PERMD, - SQL + SQL, + TRACER }; #define MAL_SUCCEED ((str) 0) /* no error */ diff --git a/monetdb5/modules/mal/tracer.c b/monetdb5/modules/mal/tracer.c --- a/monetdb5/modules/mal/tracer.c +++ b/monetdb5/modules/mal/tracer.c @@ -16,9 +16,9 @@ str TRACERflush_buffer(void) { GDK_result = GDKtracer_flush_buffer(); - // if(GDK_result == GDK_FAIL) - - + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, _OPERATION_FAILED); + return MAL_SUCCEED; } @@ -28,8 +28,8 @@ TRACERset_component_level(void *ret, int { (void) ret; GDK_result = GDKtracer_set_component_level(comp, lvl); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, ILLEGAL_ARGUMENT); return MAL_SUCCEED; } @@ -39,8 +39,8 @@ str TRACERreset_component_level(int *comp) { GDK_result = GDKtracer_reset_component_level(comp); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, _OPERATION_FAILED); return MAL_SUCCEED; } @@ -51,8 +51,8 @@ TRACERset_layer_level(void *ret, int *la { (void) ret; GDK_result = GDKtracer_set_layer_level(layer, lvl); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, ILLEGAL_ARGUMENT); return MAL_SUCCEED; } @@ -62,8 +62,8 @@ str TRACERreset_layer_level(int *layer) { GDK_result = GDKtracer_reset_layer_level(layer); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, _OPERATION_FAILED); return MAL_SUCCEED; } @@ -74,8 +74,8 @@ TRACERset_flush_level(void *ret, int *lv { (void) ret; GDK_result = GDKtracer_set_flush_level(lvl); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, ILLEGAL_ARGUMENT); return MAL_SUCCEED; } @@ -85,8 +85,8 @@ str TRACERreset_flush_level(void) { GDK_result = GDKtracer_reset_flush_level(); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, _OPERATION_FAILED); return MAL_SUCCEED; } @@ -97,8 +97,8 @@ TRACERset_adapter(void *ret, int *adapte { (void) ret; GDK_result = GDKtracer_set_adapter(adapter); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, ILLEGAL_ARGUMENT); return MAL_SUCCEED; } @@ -108,8 +108,8 @@ str TRACERreset_adapter(void) { GDK_result = GDKtracer_reset_adapter(); - // if(GDK_result == GDK_FAIL) - // throw(TRACER, __FILE__, "%s:%s", __func__, OPERATION_FAILED); + if(GDK_result == GDK_FAIL) + throw(TRACER, __FUNCTION__, _OPERATION_FAILED); return MAL_SUCCEED; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list