Changeset: cc13516b327b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/cc13516b327b
Modified Files:
        geom/monetdb5/geom.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/atoms/uuid.c
        sql/backends/monet5/generator/generator.c
Branch: Jan2022
Log Message:

Make sure trivial properties are set after BATsetcount


diffs (217 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -5799,10 +5799,9 @@ pnpoly(int *out, int nvert, dbl *vx, dbl
        }
        bat_iterator_end(&bpxi);
        bat_iterator_end(&bpyi);
-
+       BATsetcount(bo, cnt);
        bo->tsorted = bo->trevsorted = false;
        bo->tkey = false;
-       BATsetcount(bo, cnt);
        BBPunfix(bpx->batCacheid);
        BBPunfix(bpy->batCacheid);
        BBPkeepref(*out = bo->batCacheid);
@@ -5892,9 +5891,9 @@ pnpolyWithHoles(bat *out, int nvert, dbl
        }
        bat_iterator_end(&bpxi);
        bat_iterator_end(&bpyi);
+       BATsetcount(bo, cnt);
        bo->tsorted = bo->trevsorted = false;
        bo->tkey = false;
-       BATsetcount(bo, cnt);
        BBPunfix(bpx->batCacheid);
        BBPunfix(bpy->batCacheid);
        BBPkeepref(*out = bo->batCacheid);
diff --git a/monetdb5/modules/atoms/mtime.c b/monetdb5/modules/atoms/mtime.c
--- a/monetdb5/modules/atoms/mtime.c
+++ b/monetdb5/modules/atoms/mtime.c
@@ -181,9 +181,9 @@ NAME##_bulk(Client cntxt, MalBlkPtr mb, 
                        nils |= is_##OUTTYPE##_nil(ptrn[i]);                    
                        \
                }                                                               
                                                                \
        }                                                                       
                                                                \
+       BATsetcount(bn, n);                                                     
                                                \
        bn->tnonil = !nils;                                                     
                                                \
        bn->tnil = nils;                                                        
                                                \
-       BATsetcount(bn, n);                                                     
                                                \
        SETFLAGS;                                                               
                                                        \
        bn->tkey = false;                                                       
                                                \
 bailout:                                                                       
                                                        \
@@ -297,9 +297,9 @@ NAME##_bulk(Client cntxt, MalBlkPtr mb, 
                        nils |= is_##OUTTYPE##_nil(res);                        
                                \
                }                                                               
                                                                \
        }                                                                       
                                                                \
+       BATsetcount(bn, n);                                                     
                                                \
        bn->tnonil = !nils;                                                     
                                                \
        bn->tnil = nils;                                                        
                                                \
-       BATsetcount(bn, n);                                                     
                                                \
        bn->tsorted = n < 2;                                                    
                                        \
        bn->trevsorted = n < 2;                                                 
                                        \
        bn->tkey = false;                                                       
                                                \
@@ -378,9 +378,9 @@ NAME##_bulk_p1(Client cntxt, MalBlkPtr m
                        nils |= is_##OUTTYPE##_nil(res);                        
                                \
                }                                                               
                                                                \
        }                                                                       
                                                                \
+       BATsetcount(bn, n);                                                     
                                                \
        bn->tnonil = !nils;                                                     
                                                \
        bn->tnil = nils;                                                        
                                                \
-       BATsetcount(bn, n);                                                     
                                                \
        bn->tsorted = n < 2;                                                    
                                        \
        bn->trevsorted = n < 2;                                                 
                                        \
        bn->tkey = false;                                                       
                                                \
@@ -455,9 +455,9 @@ NAME##_bulk_p2(Client cntxt, MalBlkPtr m
                        nils |= is_##OUTTYPE##_nil(res);                        
                                \
                }                                                               
                                                                \
        }                                                                       
                                                                \
+       BATsetcount(bn, n);                                                     
                                                \
        bn->tnonil = !nils;                                                     
                                                \
        bn->tnil = nils;                                                        
                                                \
-       BATsetcount(bn, n);                                                     
                                                \
        bn->tsorted = n < 2;                                                    
                                        \
        bn->trevsorted = n < 2;                                                 
                                        \
        bn->tkey = false;                                                       
                                                \
diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -2931,18 +2931,18 @@ STRprelude(void *ret)
                        fp[i] = UTF8_toUpper[i].from;
                        tp[i] = UTF8_toUpper[i].to;
                }
+               BATsetcount(UTF8_toUpperFrom, i);
                UTF8_toUpperFrom->tkey = true;
                UTF8_toUpperFrom->tsorted = true;
                UTF8_toUpperFrom->trevsorted = false;
                UTF8_toUpperFrom->tnil = false;
                UTF8_toUpperFrom->tnonil = true;
-               BATsetcount(UTF8_toUpperFrom, i);
+               BATsetcount(UTF8_toUpperTo, i);
                UTF8_toUpperTo->tkey = false;
                UTF8_toUpperTo->tsorted = false;
                UTF8_toUpperTo->trevsorted = false;
                UTF8_toUpperTo->tnil = false;
                UTF8_toUpperTo->tnonil = true;
-               BATsetcount(UTF8_toUpperTo, i);
 
                fp = (int *) Tloc(UTF8_toLowerFrom, 0);
                tp = (int *) Tloc(UTF8_toLowerTo, 0);
@@ -2950,18 +2950,18 @@ STRprelude(void *ret)
                        fp[i] = UTF8_toLower[i].from;
                        tp[i] = UTF8_toLower[i].to;
                }
+               BATsetcount(UTF8_toLowerFrom, i);
                UTF8_toLowerFrom->tkey = true;
                UTF8_toLowerFrom->tsorted = true;
                UTF8_toLowerFrom->trevsorted = false;
                UTF8_toLowerFrom->tnil = false;
                UTF8_toLowerFrom->tnonil = true;
-               BATsetcount(UTF8_toLowerFrom, i);
+               BATsetcount(UTF8_toLowerTo, i);
                UTF8_toLowerTo->tkey = false;
                UTF8_toLowerTo->tsorted = false;
                UTF8_toLowerTo->trevsorted = false;
                UTF8_toLowerTo->tnil = false;
                UTF8_toLowerTo->tnonil = true;
-               BATsetcount(UTF8_toLowerTo, i);
 
                if (BBPrename(UTF8_toUpperFrom->batCacheid, 
"monet_unicode_upper_from") != 0 ||
                        BBPrename(UTF8_toUpperTo->batCacheid, 
"monet_unicode_upper_to") != 0 ||
diff --git a/monetdb5/modules/atoms/uuid.c b/monetdb5/modules/atoms/uuid.c
--- a/monetdb5/modules/atoms/uuid.c
+++ b/monetdb5/modules/atoms/uuid.c
@@ -136,9 +136,9 @@ UUIDgenerateUuidInt_bulk(Client cntxt, M
        bnt = Tloc(bn, 0);
        for (BUN i = 0 ; i < n ; i++)
                UUIDgenerateUuid_internal(&(bnt[i]));
+       BATsetcount(bn, n);
        bn->tnonil = true;
        bn->tnil = false;
-       BATsetcount(bn, n);
        bn->tsorted = n <= 1;
        bn->trevsorted = n <= 1;
        bn->tkey = n <= 1;
@@ -181,9 +181,9 @@ UUIDisaUUID_bulk(bat *ret, const bat *bi
        for (BUN p = 0 ; p < q ; p++)
                dst[p] = isaUUID(BUNtvar(bi, p));
        bat_iterator_end(&bi);
+       BATsetcount(bn, q);
        bn->tnonil = b->tnonil;
        bn->tnil = b->tnil;
-       BATsetcount(bn, q);
        bn->tsorted = bn->trevsorted = q < 2;
        bn->tkey = false;
 bailout:
diff --git a/sql/backends/monet5/generator/generator.c 
b/sql/backends/monet5/generator/generator.c
--- a/sql/backends/monet5/generator/generator.c
+++ b/sql/backends/monet5/generator/generator.c
@@ -700,12 +700,12 @@ str VLTgenerator_thetasubselect(Client c
 
        if( cndid)
                BBPunfix(cndid);
+       BATsetcount(bn,c);
        bn->tsorted = true;
        bn->trevsorted = false;
        bn->tkey = true;
        bn->tnil = false;
        bn->tnonil = true;
-       BATsetcount(bn,c);
        BBPkeepref(*getArgReference_bat(stk,pci,0)= bn->batCacheid);
        return MAL_SUCCEED;
 }
@@ -843,11 +843,11 @@ str VLTgenerator_projection(Client cntxt
        /* adminstrative wrapup of the projection */
        BBPunfix(b->batCacheid);
        if( bn){
+               BATsetcount(bn,c);
                bn->tsorted = bn->trevsorted = false;
                bn->tkey = false;
                bn->tnil = false;
                bn->tnonil = false;
-               BATsetcount(bn,c);
                BBPkeepref(*getArgReference_bat(stk,pci,0)= bn->batCacheid);
        }
        return MAL_SUCCEED;
@@ -984,19 +984,19 @@ str VLTgenerator_join(Client cntxt, MalB
                throw(MAL,"generator.join", SQLSTATE(42000) "Illegal type");
        }
 
+       BATsetcount(bln,c);
        bln->tsorted = bln->trevsorted = false;
        bln->tkey = false;
        bln->tnil = false;
        bln->tnonil = false;
-       BATsetcount(bln,c);
        bln->tsorted = incr || c <= 1;
        bln->trevsorted = !incr || c <= 1;
 
+       BATsetcount(brn,c);
        brn->tsorted = brn->trevsorted = false;
        brn->tkey = false;
        brn->tnil = false;
        brn->tnonil = false;
-       BATsetcount(brn,c);
        brn->tsorted = incr || c <= 1;
        brn->trevsorted = !incr || c <= 1;
        if( q){
@@ -1139,19 +1139,19 @@ str VLTgenerator_rangejoin(Client cntxt,
                throw(MAL,"generator.rangejoin","Illegal type");
        }
 
+       BATsetcount(bln,c);
        bln->tsorted = bln->trevsorted = false;
        bln->tkey = false;
        bln->tnil = false;
        bln->tnonil = false;
-       BATsetcount(bln,c);
        bln->tsorted = incr || c <= 1;
        bln->trevsorted = !incr || c <= 1;
 
+       BATsetcount(brn,c);
        brn->tsorted = brn->trevsorted = false;
        brn->tkey = false;
        brn->tnil = false;
        brn->tnonil = false;
-       BATsetcount(brn,c);
        brn->tsorted = incr || c <= 1;
        brn->trevsorted = !incr || c <= 1;
        BBPkeepref(*getArgReference_bat(stk,pci,0)= bln->batCacheid);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to