Changeset: 98bd9fea40e6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=98bd9fea40e6
Modified Files:
        gdk/gdk.h
        gdk/gdk_batop.mx
Branch: bwd
Log Message:

* implemented property unset function


Unterschiede (45 Zeilen):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -3022,6 +3022,7 @@ gdk_export int ALIGNsetH(BAT *b1, BAT *b
 gdk_export void PROPdestroy(PROPrec *p);
 gdk_export PROPrec *BATgetprop(const BAT *b, const char* idx);
 gdk_export void BATsetprop(BAT *b, const char* idx, int type, void *v);
+gdk_export void BATunsetprop(BAT *b, const char* idx);
 gdk_export BAT *BAThistogram(BAT *b);
 gdk_export int BATtopN(BAT *b, BUN topN);      /* used in 
monet5/src/modules/kernel/algebra.mx */
 
diff --git a/gdk/gdk_batop.mx b/gdk/gdk_batop.mx
--- a/gdk/gdk_batop.mx
+++ b/gdk/gdk_batop.mx
@@ -2871,6 +2871,30 @@ BATsetprop(BAT *b, const char* idx, int 
 }
 
 void
+BATunsetprop(BAT *b, const char* idx)
+{
+       PROPrec *p = b->T->props;
+       if(p->id == idx){
+               if (p->v.vtype == TYPE_str)
+                       GDKfree(p->v.val.sval);
+               GDKfree(p);
+               b->T->props = NULL;
+               
+       } else {
+               while(p->next && p->next->id != idx)
+                       p = p->next;
+               if (p->next->v.vtype == TYPE_str)
+                       GDKfree(p->next->v.val.sval);
+               {
+                       PROPrec *nextnext = p->next->next;
+                       GDKfree(p->next);
+                       p->next = nextnext;
+               }
+       }
+       b->batDirtydesc = TRUE;
+}
+
+void
 BATpropagate(BAT *dst, BAT *src, char* idx)
 {
        PROPrec *p = BATgetprop(src, idx);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to