Changeset: 2ec2529d51c9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ec2529d51c9
Modified Files:
        sql/backends/monet5/sql_optimizer.c
Branch: Oct2020
Log Message:

merged with jun2020


diffs (74 lines):

diff --git a/sql/backends/monet5/sql_optimizer.c 
b/sql/backends/monet5/sql_optimizer.c
--- a/sql/backends/monet5/sql_optimizer.c
+++ b/sql/backends/monet5/sql_optimizer.c
@@ -29,33 +29,17 @@ static lng
 SQLgetColumnSize(sql_trans *tr, sql_column *c, int access)
 {
        lng size = 0;
-       BAT *b;
+
        switch(access){
-       case 0:
-               b= store_funcs.bind_col(tr, c, RDONLY);
-               if (b) {
-                       size += getBatSpace(b);
-                       BBPunfix(b->batCacheid);
-               }
+       case 0: /* Read only */
+               size = store_funcs.count_col(tr, c, 1);
                break;
-       case 1:
-               b = store_funcs.bind_col(tr, c, RD_INS);
-               if (b) {
-                       size+= getBatSpace(b);
-                       BBPunfix(b->batCacheid);
-               }
+       case 1: /* inserts */
+               size = store_funcs.count_col(tr, c, 0);
                break;
-       case 2:
-               b = store_funcs.bind_col(tr, c, RD_UPD_VAL);
-               if (b) {
-                       size += getBatSpace(b);
-                       BBPunfix(b->batCacheid);
-               }
-               b = store_funcs.bind_col(tr, c, RD_UPD_ID);
-               if (b) {
-                       size+= getBatSpace(b);
-                       BBPunfix(b->batCacheid);
-               }
+       case 2: /* updates */
+               size = store_funcs.count_col_upd(tr, c);
+               break;
        }
        return size;
 }
@@ -118,24 +102,16 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
                        char *idxname = getVarConstant(mb, getArg(p, 3 + 
p->retc)).val.sval;
                        int access = getVarConstant(mb, getArg(p, 4 + 
p->retc)).val.ival;
                        sql_schema *s = mvc_bind_schema(m, sname);
-                       BAT *b;
 
                        if (getFunctionId(p) == bindidxRef) {
                                sql_idx *i = mvc_bind_idx(m, s, idxname);
 
                                if (i && (!isRemote(i->t) && 
!isMergeTable(i->t))) {
-                                       b = store_funcs.bind_idx(tr, i, RDONLY);
-                                       if (b) {
-                                               space += (size =getBatSpace(b));
-                                               if (!size) {
-                                                       sql_column *c = 
i->t->columns.set->h->data;
-                                                       size = 
SQLgetColumnSize(tr, c, access);
-                                               }
+                                       sql_column *c = 
i->t->columns.set->h->data;
+                                       size = SQLgetColumnSize(tr, c, access);
 
-                                               if( !prepare && size == 0 && ! 
i->t->system){
-                                                       setFunctionId(p, 
emptybindidxRef);
-                                               }
-                                               BBPunfix(b->batCacheid);
+                                       if( !prepare && size == 0 && ! 
i->t->system){
+                                               setFunctionId(p, 
emptybindidxRef);
                                        }
                                }
                        }
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to