Changeset: 5ef6342c6d8d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ef6342c6d8d
Modified Files:
        sql/backends/monet5/sql.mx
        sql/test/leaks/Tests/check0.stable.out
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/drop3.stable.out
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp3.stable.out
Branch: Aug2011
Log Message:

use a barrier to protect/group bbp calls.


diffs (208 lines):

diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -457,42 +457,55 @@ function clients{inline}():bat[:str,:bat
 end clients;
 
 function bbp{inline}():bat[:str,:bat];
-       b := bat.new(:str,:bat,12);
+       ns:bat[:int,:str] := nil:bat[:int,:str];
+       iht:bat[:int,:str] := nil:bat[:int,:str];
+       itt:bat[:int,:str] := nil:bat[:int,:str];
+       icnt:bat[:int,:lng] := nil:bat[:int,:lng];
+       irefcnt:bat[:int,:int] := nil:bat[:int,:int];
+       ilrefcnt:bat[:int,:int] := nil:bat[:int,:int];
+       ilocation:bat[:int,:str] := nil:bat[:int,:str];
+       iheat:bat[:int,:int] := nil:bat[:int,:int];
+       idirty:bat[:int,:str] := nil:bat[:int,:str];
+       istatus:bat[:int,:str] := nil:bat[:int,:str];
+       ikind:bat[:int,:str] := nil:bat[:int,:str];
+barrier bbp_1 := true;
        ns := bbp.getNames();
+       iht := bbp.getHeadType();
+       itt := bbp.getTailType();
+       icnt := bbp.getCount();
+       irefcnt := bbp.getRefCount();
+       ilrefcnt := bbp.getLRefCount();
+       ilocation := bbp.getLocation();
+       iheat := bbp.getHeat();
+       idirty := bbp.getDirty();
+       istatus := bbp.getStatus();
+       ikind := bbp.getKind();
+exit bbp_1;
        ri := algebra.markT(ns, 0:oid);
        i := bat.reverse(ri);
        n := algebra.markH(ns, 0:oid);
+       ht := algebra.markH(iht, 0:oid);
+       tt := algebra.markH(itt, 0:oid);
+       cnt := algebra.markH(icnt, 0:oid);
+       refcnt := algebra.markH(irefcnt, 0:oid);
+       lrefcnt := algebra.markH(ilrefcnt, 0:oid);
+       location := algebra.markH(ilocation, 0:oid);
+       heat := algebra.markH(iheat, 0:oid);
+       dirty := algebra.markH(idirty, 0:oid);
+       status := algebra.markH(istatus, 0:oid);
+       kind := algebra.markH(ikind, 0:oid);
+       b := bat.new(:str,:bat,12);
        b1:= bat.insert(b, "id", i);
        b2:= bat.insert(b1, "name", n);
-       iht := bbp.getHeadType();
-       ht := algebra.markH(iht, 0:oid);
        b3:= bat.insert(b2, "htype", ht);
-       itt := bbp.getTailType();
-       tt := algebra.markH(itt, 0:oid);
        b4:= bat.insert(b3, "ttype", tt);
-       icnt := bbp.getCount();
-       cnt := algebra.markH(icnt, 0:oid);
        b5:= bat.insert(b4, "count", cnt);
-       irefcnt := bbp.getRefCount();
-       refcnt := algebra.markH(irefcnt, 0:oid);
        b6:= bat.insert(b5, "refcnt", refcnt);
-       ilrefcnt := bbp.getLRefCount();
-       lrefcnt := algebra.markH(ilrefcnt, 0:oid);
        b7:= bat.insert(b6, "lrefcnt", lrefcnt);
-       ilocation := bbp.getLocation();
-       location := algebra.markH(ilocation, 0:oid);
        b8:= bat.insert(b7, "location", location);
-       iheat := bbp.getHeat();
-       heat := algebra.markH(iheat, 0:oid);
        b9:= bat.insert(b8, "heat", heat);
-       idirty := bbp.getDirty();
-       dirty := algebra.markH(idirty, 0:oid);
        b10:= bat.insert(b9, "dirty", dirty);
-       istatus := bbp.getStatus();
-       status := algebra.markH(istatus, 0:oid);
        b11:= bat.insert(b10, "status", status);
-       ikind := bbp.getKind();
-       kind := algebra.markH(ikind, 0:oid);
        b12:= bat.insert(b11, "kind", kind);
        return bbp := b12;
 end bbp;
diff --git a/sql/test/leaks/Tests/check0.stable.out 
b/sql/test/leaks/Tests/check0.stable.out
--- a/sql/test/leaks/Tests/check0.stable.out
+++ b/sql/test/leaks/Tests/check0.stable.out
@@ -41,7 +41,6 @@ Ready.
 [ "oid",       "int",  19      ]
 [ "oid",       "int",  1149    ]
 [ "oid",       "int",  1149    ]
-[ "oid",       "int",  1149    ]
 [ "oid",       "int",  3157    ]
 [ "oid",       "int",  3157    ]
 [ "oid",       "int",  3157    ]
@@ -67,7 +66,7 @@ Ready.
 % L3,  L4 # name
 % char,        wrd # type
 % 10,  2 # length
-[ "persistent",        25      ]
+[ "persistent",        24      ]
 
 # 22:02:15 >  
 # 22:02:15 >  Done.
diff --git a/sql/test/leaks/Tests/check1.stable.out 
b/sql/test/leaks/Tests/check1.stable.out
--- a/sql/test/leaks/Tests/check1.stable.out
+++ b/sql/test/leaks/Tests/check1.stable.out
@@ -182,7 +182,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 159     ]
+[ "transient", 158     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/check2.stable.out 
b/sql/test/leaks/Tests/check2.stable.out
--- a/sql/test/leaks/Tests/check2.stable.out
+++ b/sql/test/leaks/Tests/check2.stable.out
@@ -182,7 +182,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 159     ]
+[ "transient", 158     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/check3.stable.out 
b/sql/test/leaks/Tests/check3.stable.out
--- a/sql/test/leaks/Tests/check3.stable.out
+++ b/sql/test/leaks/Tests/check3.stable.out
@@ -182,7 +182,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 179     ]
+[ "transient", 178     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/check4.stable.out 
b/sql/test/leaks/Tests/check4.stable.out
--- a/sql/test/leaks/Tests/check4.stable.out
+++ b/sql/test/leaks/Tests/check4.stable.out
@@ -182,7 +182,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 179     ]
+[ "transient", 178     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/check5.stable.out 
b/sql/test/leaks/Tests/check5.stable.out
--- a/sql/test/leaks/Tests/check5.stable.out
+++ b/sql/test/leaks/Tests/check5.stable.out
@@ -182,7 +182,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 179     ]
+[ "transient", 178     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/drop3.stable.out 
b/sql/test/leaks/Tests/drop3.stable.out
--- a/sql/test/leaks/Tests/drop3.stable.out
+++ b/sql/test/leaks/Tests/drop3.stable.out
@@ -28,7 +28,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 179     ]
+[ "transient", 178     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/temp1.stable.out 
b/sql/test/leaks/Tests/temp1.stable.out
--- a/sql/test/leaks/Tests/temp1.stable.out
+++ b/sql/test/leaks/Tests/temp1.stable.out
@@ -28,7 +28,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 162     ]
+[ "transient", 161     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/temp2.stable.out 
b/sql/test/leaks/Tests/temp2.stable.out
--- a/sql/test/leaks/Tests/temp2.stable.out
+++ b/sql/test/leaks/Tests/temp2.stable.out
@@ -28,7 +28,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 162     ]
+[ "transient", 161     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
diff --git a/sql/test/leaks/Tests/temp3.stable.out 
b/sql/test/leaks/Tests/temp3.stable.out
--- a/sql/test/leaks/Tests/temp3.stable.out
+++ b/sql/test/leaks/Tests/temp3.stable.out
@@ -28,7 +28,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 187     ]
+[ "transient", 186     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L3, .bbp # table_name
 % L3,  L4 # name
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to