Changeset: 20a293374ea3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20a293374ea3 Modified Files: clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc_compare.h gdk/gdk_cand.c gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_string.c gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_unique.c gdk/gdk_utils.c geom/lib/libgeom.c monetdb5/mal/mal_instruction.c monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/xml.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/microbenchmark.c sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.stable.err sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.stable.err sql/test/BugTracker-2015/Tests/float-space-parse.Bug-3691.stable.err sql/test/pg_regress/Tests/inet.stable.err Branch: Jun2020 Log Message:
Use GDKtracer for GDKerror. Since the tracer code prints the function name of the calling function, we can remote that from the error message given to GDKerror. diffs (truncated from 4044 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 @@ -253,7 +253,6 @@ gdk_return GDKcopyenv(BAT **key, BAT **v gdk_return GDKcreatedir(const char *nme); gdk_return GDKcreatesem(int id, int count, int *semid); int GDKdebug; -void GDKerror(_In_z_ _Printf_format_string_ const char *format, ...) __attribute__((__format__(__printf__, 1, 2))); _Noreturn void GDKexit(int status); void GDKexit(int status); bool GDKexiting(void); @@ -301,10 +300,9 @@ void GDKsetverbose(int verbosity); ssize_t GDKstrFromStr(unsigned char *restrict dst, const unsigned char *restrict src, ssize_t len); str GDKstrdup(const char *s) __attribute__((__warn_unused_result__)); str GDKstrndup(const char *s, size_t n) __attribute__((__warn_unused_result__)); -void GDKsyserror(_In_z_ _Printf_format_string_ const char *format, ...) __attribute__((__format__(__printf__, 1, 2))); gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level); gdk_return GDKtracer_flush_buffer(void); -gdk_return GDKtracer_log(const char *file, const char *func, int lineno, log_level_t lvl, component_t comp, const char *format, ...) __attribute__((__format__(__printf__, 6, 7))); +gdk_return GDKtracer_log(const char *file, const char *func, int lineno, log_level_t lvl, component_t comp, const char *syserr, _In_z_ _Printf_format_string_ const char *format, ...) __attribute__((__format__(__printf__, 7, 8))); void GDKtracer_reinit_basic(int sig); gdk_return GDKtracer_reset_adapter(void); gdk_return GDKtracer_reset_component_level(const char *comp); diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1414,11 +1414,14 @@ gdk_export BAT *BBPquickdesc(bat b, bool /* Data Distilleries uses ICU for internationalization of some MonetDB error messages */ -gdk_export void GDKerror(_In_z_ _Printf_format_string_ const char *format, ...) - __attribute__((__format__(__printf__, 1, 2))); +#include "gdk_tracer.h" + +#define GDKerror(format, ...) \ + GDKtracer_log(__FILE__, __func__, __LINE__, M_ERROR, \ + GDK, NULL, format, ##__VA_ARGS__) #define GDKsyserror(format, ...) \ - GDKtracer_log(__FILE__, __func__, __LINE__, \ - M_CRITICAL, GDK, GDKstrerror(errno, (char[64]){0}, 64), \ + GDKtracer_log(__FILE__, __func__, __LINE__, M_CRITICAL, \ + GDK, GDKstrerror(errno, (char[64]){0}, 64), \ format, ##__VA_ARGS__) #ifndef HAVE_EMBEDDED @@ -1616,7 +1619,7 @@ bunfastappVAR(BAT *b, const void *v) { if (BATcount(b) >= BATcapacity(b)) { if (BATcount(b) == BUN_MAX) { - GDKerror("bunfastapp: too many elements to accommodate (" BUNFMT ")\n", BUN_MAX); + GDKerror("too many elements to accommodate (" BUNFMT ")\n", BUN_MAX); return GDK_FAIL; } gdk_return rc = BATextend(b, BATgrows(b)); @@ -1649,7 +1652,6 @@ gdk_export gdk_return BATorderidx(BAT *b gdk_export gdk_return GDKmergeidx(BAT *b, BAT**a, int n_ar); gdk_export bool BATcheckorderidx(BAT *b); -#include "gdk_tracer.h" #include "gdk_delta.h" #include "gdk_hash.h" #include "gdk_bbp.h" @@ -1934,12 +1936,12 @@ gdk_export void BATassertProps(BAT *b); gdk_export BAT *VIEWcreate(oid seq, BAT *b); gdk_export void VIEWbounds(BAT *b, BAT *view, BUN l, BUN h); -#define ALIGNapp(x, y, f, e) \ +#define ALIGNapp(x, f, e) \ do { \ if (!(f) && ((x)->batRestricted == BAT_READ || \ (x)->batSharecnt > 0)) { \ - GDKerror("%s: access denied to %s, aborting.\n", \ - (y), BATgetId(x)); \ + GDKerror("access denied to %s, aborting.\n", \ + BATgetId(x)); \ return (e); \ } \ } while (false) diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -895,11 +895,11 @@ BATgroupsum(BAT *b, BAT *g, BAT *e, BAT lng t0 = GDKusec(); if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return NULL; } if (g == NULL) { - GDKerror("%s: b and g must be aligned\n", __func__); + GDKerror("b and g must be aligned\n"); return NULL; } @@ -967,7 +967,7 @@ BATsum(void *res, int tp, BAT *b, BAT *s lng t0 = GDKusec(); if ((err = BATgroupaggrinit(b, NULL, NULL, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return GDK_FAIL; } switch (tp) { @@ -1057,8 +1057,8 @@ BATsum(void *res, int tp, BAT *b, BAT *s * (flt *) res = nil_if_empty ? flt_nil : 0; break; default: - GDKerror("%s: type combination (sum(%s)->%s) not supported.\n", - __func__, ATOMname(b->ttype), ATOMname(tp)); + GDKerror("type combination (sum(%s)->%s) not supported.\n", + ATOMname(b->ttype), ATOMname(tp)); return GDK_FAIL; } if (BATcount(b) == 0) @@ -1470,11 +1470,11 @@ BATgroupprod(BAT *b, BAT *g, BAT *e, BAT const char *err; if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return NULL; } if (g == NULL) { - GDKerror("%s: b and g must be aligned\n", __func__); + GDKerror("b and g must be aligned\n"); return NULL; } @@ -1532,7 +1532,7 @@ BATprod(void *res, int tp, BAT *b, BAT * const char *err; if ((err = BATgroupaggrinit(b, NULL, NULL, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return GDK_FAIL; } switch (tp) { @@ -1560,8 +1560,8 @@ BATprod(void *res, int tp, BAT *b, BAT * * (dbl *) res = nil_if_empty ? dbl_nil : (dbl) 1; break; default: - GDKerror("%s: type combination (prod(%s)->%s) not supported.\n", - __func__, ATOMname(b->ttype), ATOMname(tp)); + GDKerror("type combination (prod(%s)->%s) not supported.\n", + ATOMname(b->ttype), ATOMname(tp)); return GDK_FAIL; } if (BATcount(b) == 0) @@ -1668,11 +1668,11 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT * functions) argument */ if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return GDK_FAIL; } if (g == NULL) { - GDKerror("%s: b and g must be aligned\n", __func__); + GDKerror("b and g must be aligned\n"); return GDK_FAIL; } @@ -1783,8 +1783,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT else GDKfree(cnts); BBPunfix(bn->batCacheid); - GDKerror("%s: type (%s) not supported.\n", __func__, - ATOMname(b->ttype)); + GDKerror("type (%s) not supported.\n", ATOMname(b->ttype)); return GDK_FAIL; } GDKfree(rems); @@ -1953,7 +1952,7 @@ BATcalcavg(BAT *b, BAT *s, dbl *avg, BUN AVERAGE_FLOATTYPE(dbl); break; default: - GDKerror("%s: average of type %s unsupported.\n", __func__, + GDKerror("average of type %s unsupported.\n", ATOMname(b->ttype)); return GDK_FAIL; } @@ -2009,11 +2008,11 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA (void) abort_on_error; /* functions) argument */ if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return NULL; } if (g == NULL) { - GDKerror("%s: b and g must be aligned\n", __func__); + GDKerror("b and g must be aligned\n"); return NULL; } @@ -2134,11 +2133,11 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT (void) skip_nils; if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return NULL; } if (g == NULL) { - GDKerror("%s: b and g must be aligned\n", __func__); + GDKerror("b and g must be aligned\n"); return NULL; } @@ -2517,7 +2516,7 @@ BATmin_skipnil(BAT *b, void *aggr, bit s if (!ATOMlinear(b->ttype)) { /* there is no such thing as a smallest value if you * can't compare values */ - GDKerror("%s: non-linear type", __func__); + GDKerror("non-linear type"); return NULL; } if (BATcount(b) == 0) { @@ -2617,7 +2616,7 @@ BATmax_skipnil(BAT *b, void *aggr, bit s BATiter bi; if (!ATOMlinear(b->ttype)) { - GDKerror("%s: non-linear type", __func__); + GDKerror("non-linear type"); return NULL; } if (BATcount(b) == 0) { @@ -2745,24 +2744,24 @@ doBATgroupquantile(BAT *b, BAT *g, BAT * case TYPE_dbl: break; default: - GDKerror("%s: incompatible type\n", __func__); + GDKerror("incompatible type\n"); return NULL; } dnil = &dbl_nil; } if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return NULL; } assert(tp == b->ttype); if (!ATOMlinear(tp)) { - GDKerror("%s: cannot determine quantile on " - "non-linear type %s\n", __func__, ATOMname(tp)); + GDKerror("cannot determine quantile on " + "non-linear type %s\n", ATOMname(tp)); return NULL; } if (quantile < 0 || quantile > 1) { - GDKerror("%s: cannot determine quantile for " - "p=%f (p has to be in [0,1])\n", __func__, quantile); + GDKerror("cannot determine quantile for " + "p=%f (p has to be in [0,1])\n", quantile); return NULL; } @@ -3266,8 +3265,8 @@ BATcalccorrelation(BAT *b1, BAT *b2) AGGR_CORRELATION_SINGLE(dbl); break; default: - GDKerror("%s: type (%s) not supported.\n", - __func__, ATOMname(tp)); + GDKerror("type (%s) not supported.\n", + ATOMname(tp)); return dbl_nil; } if (n > 0 && up > 0 && down1 > 0 && down2 > 0) @@ -3745,11 +3744,11 @@ BATgroupcorrelation(BAT *b1, BAT *b2, BA (void) abort_on_error; if ((err = BATgroupaggrinit(b1, g, e, s, &min, &max, &ngrp, &ci, &ncand)) != NULL) { - GDKerror("%s: %s\n", __func__, err); + GDKerror("%s\n", err); return NULL; } if (g == NULL) { - GDKerror("%s: b1, b2 and g must be aligned\n", __func__); + GDKerror("b1, b2 and g must be aligned\n"); return NULL; } @@ -3827,8 +3826,7 @@ BATgroupcorrelation(BAT *b1, BAT *b2, BA GDKfree(down1); GDKfree(down2); GDKfree(cnts); - GDKerror("%s: type (%s) not supported.\n", - __func__, ATOMname(b1->ttype)); + GDKerror("type (%s) not supported.\n", ATOMname(b1->ttype)); return NULL; } GDKfree(mean1); diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -84,7 +84,7 @@ VIEWcreate(oid seq, BAT *b) BAT *bn; bat tp = 0; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list