Changeset: 873983e80f51 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=873983e80f51
Modified Files:
        monetdb5/optimizer/opt_bincopyfrom.c
Branch: copybinary
Log Message:

Use getBatType to get tail type of bat var


diffs (35 lines):

diff --git a/monetdb5/optimizer/opt_bincopyfrom.c 
b/monetdb5/optimizer/opt_bincopyfrom.c
--- a/monetdb5/optimizer/opt_bincopyfrom.c
+++ b/monetdb5/optimizer/opt_bincopyfrom.c
@@ -78,8 +78,9 @@ transform(MalBlkPtr mb, InstrPtr old)
        int narrowest_type = TYPE_any;
        for (int i = 0; i < old->retc; i++) {
                int var = getArg(old, i);
-               int var_type = ATOMstorage(getVarType(mb, var) & 0xFFFF);  // 
<=== what's the proper way to do this?
-               if (var_type >= narrowest_type)
+               int var_type = getVarType(mb, var);
+               int tail_type = ATOMstorage(getBatType(var_type));
+               if (tail_type >= narrowest_type)
                        continue;
                int path_idx = old->retc + 3 + i;
                int path_var = getArg(old, path_idx);
@@ -87,7 +88,7 @@ transform(MalBlkPtr mb, InstrPtr old)
                        continue;
                // this is the best so far
                narrowest_idx = i;
-               narrowest_type = var_type;
+               narrowest_type = tail_type;
        }
        if (narrowest_idx < 0)
                return createException(MAL, "optimizer.bincopyfrom", 
SQLSTATE(42000) "all paths are nil");
@@ -121,8 +122,8 @@ static int
 extract_column(MalBlkPtr mb, InstrPtr old, int idx, int count_var)
 {
        int var = getArg(old, idx);
-       int var_type = getVarType(mb, var) & 0xFFFF;  // <=== what's the proper 
way to do this?
-       str var_type_name = ATOMname(var_type);
+       int var_type = getVarType(mb, var);
+       str var_type_name = ATOMname(getBatType(var_type));
 
        int onclient = *(int*)getVarValue(mb, getArg(old, old->retc + 2));
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to