Changeset: 3be4152afaa3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3be4152afaa3
Modified Files:
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_bat.h
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_interpreter.c
Branch: default
Log Message:
Add HEADLESS warning flag
During conversion towards :oid and col it would be nice to
trap all cases where an 'alien' bat is created.
A free bit in the debug flag is used for that purpose.
diffs (71 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2334,6 +2334,8 @@ VALptr(const ValRecord *v)
*/
#define PARMASK (1<<7)
#define PARDEBUG if (GDKdebug & PARMASK)
+#define HEADLESSMASK (1<<8)
+#define HEADLESSDEBUG if ( GDKdebug & HEADLESSMASK)
/* TRGMASK not used anymore
#define TRGMASK (1<<8)
#define TRGDEBUG if (GDKdebug & TRGMASK)
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -89,6 +89,11 @@ BATcreatedesc(int ht, int tt, int heapna
if (bs == NULL)
return NULL;
+ HEADLESSDEBUG {
+ if ( ht != TYPE_void && ht != TYPE_oid)
+ fprintf(stderr, "#headless violation in BATcreatedesc
%d\n", ht);
+
+ }
/*
* assert needed in the kernel to get symbol eprintf resolved.
* Else modules using assert fail to load.
@@ -2799,7 +2804,7 @@ BATmode(BAT *b, int mode)
* is not actually used anywhere, but it is checked. */
#ifndef NDEBUG
-void
+static void
BATassertHeadProps(BAT *b)
{
BATiter bi = bat_iterator(b);
diff --git a/gdk/gdk_bat.h b/gdk/gdk_bat.h
--- a/gdk/gdk_bat.h
+++ b/gdk/gdk_bat.h
@@ -23,7 +23,6 @@
gdk_export BUN void_replace_bat(BAT *b, BAT *u, bit force);
gdk_export int void_inplace(BAT *b, oid id, const void *val, bit force);
gdk_export BAT *BATattach(int tt, const char *heapfile);
-gdk_export void BATassertHeadProps(BAT *b);
extern int default_ident(char *s);
extern oid MAXoid(BAT *i);
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -618,7 +618,7 @@ DFLOWstep(FlowTask *t, FlowStatus fs)
#if 0 /* when needed, enable */
if (i < pci->retc && bid){
BAT *b =
BATdescriptor(bid);
- BATassertHeadProps(b);
+ BATassertProps(b);
BBPunfix(b->batCacheid);
}
#endif
diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c
--- a/monetdb5/mal/mal_interpreter.c
+++ b/monetdb5/mal/mal_interpreter.c
@@ -860,7 +860,7 @@ str runMALsequence(Client cntxt, MalBlkP
#if 0 /* when needed, enable */
if (i < pci->retc &&
bid){
BAT *b =
BATdescriptor(bid);
-
BATassertHeadProps(b);
+
BATassertProps(b);
BBPunfix(b->batCacheid);
}
#endif
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list