Changeset: efdec31f0745 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=efdec31f0745
Modified Files:
        sql/storage/objectset.c
Branch: default
Log Message:

Fix destruction order.


diffs (41 lines):

diff --git a/sql/storage/objectset.c b/sql/storage/objectset.c
--- a/sql/storage/objectset.c
+++ b/sql/storage/objectset.c
@@ -559,11 +559,11 @@ os_destroy(objectset *os, sql_store stor
        if (--os->refcnt > 0)
                return;
        MT_lock_destroy(&os->ht_lock);
-       versionhead* n=os->name_based_h;
+       versionhead* n=os->id_based_h;
        while(n) {
                objectversion *ov = n->ov;
                while(ov) {
-                       objectversion *older = ov->name_based_older;
+                       objectversion *older = ov->id_based_older;
                        objectversion_destroy(store, os, ov);
                        ov = older;
                }
@@ -572,19 +572,19 @@ os_destroy(objectset *os, sql_store stor
                n = hn;
        }
 
-       n=os->id_based_h;
+       n=os->name_based_h;
        while(n) {
                versionhead* hn =n->next;
                node_destroy(os, store, n);
                n = hn;
        }
 
+       if (os->id_map && !os->id_map->sa)
+               hash_destroy(os->id_map);
+
        if (os->name_map && !os->name_map->sa)
                hash_destroy(os->name_map);
 
-       if (os->id_map && !os->id_map->sa)
-               hash_destroy(os->id_map);
-
        if (!os->sa)
                _DELETE(os);
 }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to