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

Reply via email to