Changeset: fa8c4a05a9f6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa8c4a05a9f6
Modified Files:
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_table.c
        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/select1.stable.out
        sql/test/leaks/Tests/select2.stable.out
Branch: Jan2014
Log Message:

cache bat access during catalog loading, solves bug 3420


diffs (110 lines):

diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -1591,6 +1591,14 @@ tr_update_delta( sql_trans *tr, sql_delt
                temp_dup(cbat->bid);
        }
 
+       if (obat->cached) {
+               bat_destroy(obat->cached);
+               obat->cached = NULL;
+       }
+       if (cbat->cached) {
+               bat_destroy(cbat->cached);
+               cbat->cached = NULL;
+       }
        if (obat->bid)
                cur = temp_descriptor(obat->bid);
        ins = temp_descriptor(cbat->ibid);
diff --git a/sql/storage/bat/bat_table.c b/sql/storage/bat/bat_table.c
--- a/sql/storage/bat/bat_table.c
+++ b/sql/storage/bat/bat_table.c
@@ -73,8 +73,8 @@ delta_full_bat_( sql_column *c, sql_delt
                r = BATkdiff(b,BATmirror(d)); bat_destroy(b); b = r;
        }
        (void)c;
-       //if (!bat->cached && !c->base.wtime && !c->base.allocated && !s) 
-               //bat->cached = temp_descriptor(b->batCacheid);
+       if (!bat->cached && !s) 
+               bat->cached = temp_descriptor(b->batCacheid);
        return b;
 }
 
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
@@ -190,7 +190,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 171     ]
+[ "transient", 189     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L1, .L2 # table_name
 % L1,  L2 # 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
@@ -190,7 +190,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 171     ]
+[ "transient", 189     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L1, .L2 # table_name
 % L1,  L2 # 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
@@ -190,7 +190,7 @@ Ready.
 % L1,  L2 # name
 % char,        wrd # type
 % 9,   3 # length
-[ "transient", 171     ]
+[ "transient", 189     ]
 #select 'persistent', count(*) from bbp() as bbp where kind like 'pers%';
 % .L1, .L2 # table_name
 % L1,  L2 # name
diff --git a/sql/test/leaks/Tests/select1.stable.out 
b/sql/test/leaks/Tests/select1.stable.out
--- a/sql/test/leaks/Tests/select1.stable.out
+++ b/sql/test/leaks/Tests/select1.stable.out
@@ -36,7 +36,7 @@ Ready.
 % L1 # name
 % wrd # type
 % 3 # length
-[ 328  ]
+[ 346  ]
 #select 1; 
 % .L # table_name
 % single_value # name
@@ -48,7 +48,7 @@ Ready.
 % L1 # name
 % wrd # type
 % 3 # length
-[ 328  ]
+[ 346  ]
 
 # 22:03:05 >  
 # 22:03:05 >  Done.
diff --git a/sql/test/leaks/Tests/select2.stable.out 
b/sql/test/leaks/Tests/select2.stable.out
--- a/sql/test/leaks/Tests/select2.stable.out
+++ b/sql/test/leaks/Tests/select2.stable.out
@@ -36,7 +36,7 @@ Ready.
 % L1 # name
 % wrd # type
 % 3 # length
-[ 328  ]
+[ 346  ]
 #select 1; 
 % .L # table_name
 % single_value # name
@@ -48,7 +48,7 @@ Ready.
 % L1 # name
 % wrd # type
 % 3 # length
-[ 328  ]
+[ 346  ]
 
 # 22:03:05 >  
 # 22:03:05 >  Done.
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to