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