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