MonetDB: default - Merge with Dec2023 branch.
Changeset: e97cd4d87b96 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e97cd4d87b96 Modified Files: gdk/gdk.h gdk/gdk_strimps.c monetdb5/mal/mal_profiler.c monetdb5/modules/mal/remote.c sql/storage/bat/bat_storage.c Branch: default Log Message: Merge with Dec2023 branch. diffs (114 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -900,9 +900,10 @@ gdk_export size_t HEAPmemsize(Heap *h); gdk_export void HEAPdecref(Heap *h, bool remove); gdk_export void HEAPincref(Heap *h); -#define isVIEW(x) \ - (((x)->theap && (x)->theap->parentid != (x)->batCacheid) || \ -((x)->tvheap && (x)->tvheap->parentid != (x)->batCacheid)) +#define VIEWtparent(x) ((x)->theap == NULL || (x)->theap->parentid == (x)->batCacheid ? 0 : (x)->theap->parentid) +#define VIEWvtparent(x)((x)->tvheap == NULL || (x)->tvheap->parentid == (x)->batCacheid ? 0 : (x)->tvheap->parentid) + +#define isVIEW(x) (VIEWtparent(x) != 0 || VIEWvtparent(x) != 0) /* * @+ BAT Buffer Pool @@ -1083,7 +1084,7 @@ bat_iterator_nolock(BAT *b) { /* does not get matched by bat_iterator_end */ if (b) { - bool isview = isVIEW(b); + bool isview = VIEWtparent(b); return (BATiter) { .b = b, .h = b->theap, @@ -2162,9 +2163,6 @@ gdk_export void VIEWbounds(BAT *b, BAT * } \ } while (false) -#define VIEWtparent(x) ((x)->theap == NULL || (x)->theap->parentid == (x)->batCacheid ? 0 : (x)->theap->parentid) -#define VIEWvtparent(x)((x)->tvheap == NULL || (x)->tvheap->parentid == (x)->batCacheid ? 0 : (x)->tvheap->parentid) - /* * @+ BAT Iterators * @multitable @columnfractions 0.15 0.7 diff --git a/gdk/gdk_strimps.c b/gdk/gdk_strimps.c --- a/gdk/gdk_strimps.c +++ b/gdk/gdk_strimps.c @@ -551,7 +551,7 @@ STRMPfilter(BAT *b, BAT *s, const char * TRC_DEBUG_IF(ACCELERATOR) t0 = GDKusec(); - if (isVIEW(b)) { + if (VIEWtparent(b)) { pb = BATdescriptor(VIEWtparent(b)); if (pb == NULL) return NULL; diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -396,7 +396,7 @@ prepareMalEvent(Client cntxt, MalBlkPtr * without further locking */ MT_lock_unset(&d->theaplock); cnt = di.count; - if (isVIEW(d)) { + if (VIEWtparent(d)) { BAT *v = BBP_desc(VIEWtparent(d)); MT_lock_set(&v->theaplock); bool vtransient = v->batTransient; diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c --- a/monetdb5/modules/mal/remote.c +++ b/monetdb5/modules/mal/remote.c @@ -1546,7 +1546,7 @@ RMTbincopyto(Client cntxt, MalBlkPtr mb, sendtheap = b->ttype != TYPE_void; sendtvheap = sendtheap && b->tvheap; - if (isVIEW(b) && sendtvheap && VIEWvtparent(b) + if (sendtvheap && VIEWvtparent(b) && BATcount(b) < BATcount(BBP_desc(VIEWvtparent(b { if ((b = BATdescriptor(bid)) == NULL) { BBPunfix(bid); diff --git a/sql/backends/monet5/sql_statistics.c b/sql/backends/monet5/sql_statistics.c --- a/sql/backends/monet5/sql_statistics.c +++ b/sql/backends/monet5/sql_statistics.c @@ -183,7 +183,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb, int access = c->storage_type && c->storage_type[0] == 'D' ? RD_EXT : RDONLY; if (!(b = store->storage_api.bind_col(tr, c, access))) continue; /* At the moment we ignore the error, but maybe we can change this */ - if (isVIEW(b)) { /* If it is a view get the parent BAT */ + if (VIEWtparent(b)) { /* If it is a view get the parent BAT */ BAT *nb = BATdescriptor(VIEWtparent(b)); BBPunfix(b->batCacheid); b = nb; @@ -370,7 +370,7 @@ sql_statistics(Client cntxt, MalBlkPtr m goto bailout; } BATiter rei = bat_iterator(re); -
MonetDB: Dec2023 - isVIEW(x) == true does not imply VIEWtparent(...
Changeset: f18ad1b06096 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/f18ad1b06096 Modified Files: gdk/gdk.h gdk/gdk_strimps.c monetdb5/mal/mal_profiler.c monetdb5/modules/mal/remote.c sql/backends/monet5/sql_statistics.c sql/storage/bat/bat_storage.c Branch: Dec2023 Log Message: isVIEW(x) == true does not imply VIEWtparent(x) != 0. diffs (114 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -906,9 +906,10 @@ gdk_export size_t HEAPmemsize(Heap *h); gdk_export void HEAPdecref(Heap *h, bool remove); gdk_export void HEAPincref(Heap *h); -#define isVIEW(x) \ - (((x)->theap && (x)->theap->parentid != (x)->batCacheid) || \ -((x)->tvheap && (x)->tvheap->parentid != (x)->batCacheid)) +#define VIEWtparent(x) ((x)->theap == NULL || (x)->theap->parentid == (x)->batCacheid ? 0 : (x)->theap->parentid) +#define VIEWvtparent(x)((x)->tvheap == NULL || (x)->tvheap->parentid == (x)->batCacheid ? 0 : (x)->tvheap->parentid) + +#define isVIEW(x) (VIEWtparent(x) != 0 || VIEWvtparent(x) != 0) /* * @+ BAT Buffer Pool @@ -1091,7 +1092,7 @@ bat_iterator_nolock(BAT *b) { /* does not get matched by bat_iterator_end */ if (b) { - bool isview = isVIEW(b); + bool isview = VIEWtparent(b); return (BATiter) { .b = b, .h = b->theap, @@ -2191,9 +2192,6 @@ gdk_export void VIEWbounds(BAT *b, BAT * } \ } while (false) -#define VIEWtparent(x) ((x)->theap == NULL || (x)->theap->parentid == (x)->batCacheid ? 0 : (x)->theap->parentid) -#define VIEWvtparent(x)((x)->tvheap == NULL || (x)->tvheap->parentid == (x)->batCacheid ? 0 : (x)->tvheap->parentid) - /* * @+ BAT Iterators * @multitable @columnfractions 0.15 0.7 diff --git a/gdk/gdk_strimps.c b/gdk/gdk_strimps.c --- a/gdk/gdk_strimps.c +++ b/gdk/gdk_strimps.c @@ -551,7 +551,7 @@ STRMPfilter(BAT *b, BAT *s, const char * TRC_DEBUG_IF(ACCELERATOR) t0 = GDKusec(); - if (isVIEW(b)) { + if (VIEWtparent(b)) { pb = BATdescriptor(VIEWtparent(b)); if (pb == NULL) return NULL; diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -399,7 +399,7 @@ prepareMalEvent(Client cntxt, MalBlkPtr * without further locking */ MT_lock_unset(&d->theaplock); cnt = di.count; - if (isVIEW(d)) { + if (VIEWtparent(d)) { BAT *v = BBP_desc(VIEWtparent(d)); bool vtransient = true; if (v) { diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c --- a/monetdb5/modules/mal/remote.c +++ b/monetdb5/modules/mal/remote.c @@ -1536,7 +1536,7 @@ RMTbincopyto(Client cntxt, MalBlkPtr mb, sendtheap = b->ttype != TYPE_void; sendtvheap = sendtheap && b->tvheap; - if (isVIEW(b) && sendtvheap && VIEWvtparent(b) + if (sendtvheap && VIEWvtparent(b) && BATcount(b) < BATcount(BBP_desc(VIEWvtparent(b { if ((b = BATdescriptor(bid)) == NULL) { BBPunfix(bid); diff --git a/sql/backends/monet5/sql_statistics.c b/sql/backends/monet5/sql_statistics.c --- a/sql/backends/monet5/sql_statistics.c +++ b/sql/backends/monet5/sql_statistics.c @@ -183,7 +183,7 @@ sql_analyze(Client cntxt, MalBlkPtr mb, int access = c->storage_type && c->storage_type[0] == 'D' ? RD_EXT : RDONLY; if (!(b = store->storage_api.bind_col(tr, c, access))) continue; /* At the moment we ignore the error, but maybe we can change this */ - if (isVIEW(b)) { /* If it is a view get the parent BAT */ + if (VIEWtparent(b)) { /* If it is a view get the parent BAT */ BAT *nb = BATdescriptor(VIEWtparent(b)); BBPunfix(b->batCacheid); b = nb; @@ -370,7 +370,7 @@ sql_statistics(Client cntxt, MalBlkPtr m goto bailout; } BATiter r
MonetDB: balanced_union - Merges default
Changeset: e7f9880d0b63 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e7f9880d0b63 Branch: balanced_union Log Message: Merges default diffs (truncated from 8650 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -800,9 +800,9 @@ str QLOGcatalog(BAT **r); str QLOGdisable(void *ret); str QLOGempty(void *ret); str QLOGenable(void *ret); -str QLOGenableThreshold(void *ret, int *threshold); +str QLOGenableThreshold(void *ret, const int *threshold); int QLOGisset(void); -str RMTdisconnect(void *ret, str *conn); +str RMTdisconnect(void *ret, const char *const *conn); BUN SQLload_file(Client cntxt, Tablet *as, bstream *b, stream *out, const char *csep, const char *rsep, char quote, lng skip, lng maxrow, int best, bool from_stdin, const char *tabnam, bool escape); str TABLETcollect(BAT **bats, Tablet *as); str TABLETcreate_bats(Tablet *as, BUN est); diff --git a/monetdb5/modules/atoms/batxml.c b/monetdb5/modules/atoms/batxml.c --- a/monetdb5/modules/atoms/batxml.c +++ b/monetdb5/modules/atoms/batxml.c @@ -760,7 +760,7 @@ BATXMLroot(bat *ret, const bat *bid, con *standalone); snprintf(buf + i, len - i, "?>%s", t + 1); buf++; - XMLisdocument(&isdoc, &buf);/* check well-formedness */ + XMLisdocument(&isdoc, &(const char *){buf});/* check well-formedness */ buf--; if (!isdoc) { err = XML_NOT_WELL_FORMED; diff --git a/monetdb5/modules/atoms/blob.c b/monetdb5/modules/atoms/blob.c --- a/monetdb5/modules/atoms/blob.c +++ b/monetdb5/modules/atoms/blob.c @@ -130,7 +130,7 @@ BLOBnitems_bulk(Client cntxt, MalBlkPtr } static str -BLOBtoblob(blob **retval, str *s) +BLOBtoblob(blob **retval, const char *const *s) { size_t len = strLen(*s); blob *b = (blob *) GDKmalloc(blobsize(len)); @@ -144,7 +144,7 @@ BLOBtoblob(blob **retval, str *s) } static str -BLOBblob_blob(blob **d, blob **s) +BLOBblob_blob(blob **d, const blob *const*s) { size_t len = blobsize((*s)->nitems); blob *b; @@ -238,7 +238,7 @@ BLOBblob_blob_bulk(bat *res, const bat * } static str -BLOBblob_fromstr(blob **b, const char **s) +BLOBblob_fromstr(blob **b, const char *const*s) { size_t len = 0; diff --git a/monetdb5/modules/atoms/identifier.c b/monetdb5/modules/atoms/identifier.c --- a/monetdb5/modules/atoms/identifier.c +++ b/monetdb5/modules/atoms/identifier.c @@ -93,7 +93,7 @@ IDtoString(char **retval, size_t *len, c * to parse the string. */ static str -IDentifier(identifier *retval, str *in) +IDentifier(identifier *retval, const char *const *in) { size_t len = 0; diff --git a/monetdb5/modules/atoms/inet.c b/monetdb5/modules/atoms/inet.c --- a/monetdb5/modules/atoms/inet.c +++ b/monetdb5/modules/atoms/inet.c @@ -229,7 +229,7 @@ INETtoString(str *retval, size_t *len, c * to parse the string. */ static str -INETnew(inet *retval, str *in) +INETnew(inet *retval, const char *const *in) { ssize_t pos; size_t len = sizeof(inet); @@ -787,7 +787,7 @@ INET_inet(inet *d, const inet *s) } static str -INET_fromstr(inet *ret, str *s) +INET_fromstr(inet *ret, const char *const *s) { size_t len = sizeof(inet); if (INETfromString(*s, &len, (void **) &ret, false) < 0) diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c --- a/monetdb5/modules/atoms/json.c +++ b/monetdb5/modules/atoms/json.c @@ -233,7 +233,7 @@ JSONtoStorageString(JSON *jt, int idx, j return msg; } -static str JSONstr2json(json *ret, const char **j); +static str JSONstr2json(json *ret, const char *const*j); static ssize_t JSONfromString(const char *src, size_t *len, void **J, bool external) @@ -338,7 +338,7 @@ JSONtoString(str *s, size_t *len, const } static BAT * -JSONdumpInternal(JSON *jt, int depth) +JSONdumpInternal(const JSON *jt, int depth) { int i, idx; JSONterm *je; @@ -464,7 +464,7 @@ JSONdump(Client cntxt, MalBlkPtr mb, Mal (void) cntxt; bat *ret = getArgReference_bat(stk, pci, 0); - json *val = (json *) getArgReference(stk, pci, 1); + const json *val = (json *) getArgReference(stk, pci, 1); JSON *jt = JSONparse(*val); CHECK_JSON(jt); @@ -503,7 +503,7 @@ JSON2json(json *ret, const json *j) } static str -JSONstr2json(json *ret, const char **j) +JSONstr2json(json *ret, const char *const*j) { str msg = MAL_SUCCEED; json buf = NULL; @@ -541,7 +541,7 @@ JSONstr2json(json *ret, const char **j) } static str -JSONisvalid(bit *ret, str *j) +JSONisvalid(bit *ret, const char *const *j) { if (strNil(*j)) { *ret = bit_nil; @@ -556,12 +556,12 @@ JSONisvalid(bit *ret,
MonetDB: balanced_union - Fixes expected plan in test Bug-7140
Changeset: 547c5e34780d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/547c5e34780d Modified Files: sql/test/BugTracker-2021/Tests/plan-not-optimal-view.Bug-7140.test Branch: balanced_union Log Message: Fixes expected plan in test Bug-7140 diffs (33 lines): diff --git a/sql/test/BugTracker-2021/Tests/plan-not-optimal-view.Bug-7140.test b/sql/test/BugTracker-2021/Tests/plan-not-optimal-view.Bug-7140.test --- a/sql/test/BugTracker-2021/Tests/plan-not-optimal-view.Bug-7140.test +++ b/sql/test/BugTracker-2021/Tests/plan-not-optimal-view.Bug-7140.test @@ -121,17 +121,21 @@ project ( | | | munion ( | | | | group by ( | | | | | project ( -| | | | | | select ( -| | | | | | | table("sys"."plantest0") [ "plantest0"."id" ] -| | | | | | ) [ ("plantest0"."id") >= (bigint(28) "15000") ] -| | | | | ) [ "sys"."sql_div"("plantest0"."id" NOT NULL, int(24) "1000") NOT NULL as "t"."id_r" ] +| | | | | | project ( +| | | | | | | select ( +| | | | | | | | table("sys"."plantest0") [ "plantest0"."id" ] +| | | | | | | ) [ ("plantest0"."id") >= (bigint(28) "15000") ] +| | | | | | ) [ "sys"."sql_div"("plantest0"."id" NOT NULL, int(24) "1000") NOT NULL as "id_div" ] +| | | | | ) [ "id_div" NOT NULL as "t"."id_r" ] | | | | ) [ "t"."id_r" NOT NULL ] [ "t"."id_r" NOT NULL, "sys"."count" no nil ("t"."id_r" NOT NULL) NOT NULL as "%5"."%5" ], | | | | group by ( | | | | | project ( -| | | | | | select ( -| | | | | | | table("sys"."plantest1") [ "plantest1"."id" ] -| | | | | | ) [ ("plantest1"."id") >= (bigint(28) "15000") ] -| | | | | ) [ "sys"."sql_div"("plantest1"."id" NOT NULL, int(24) "1000") NOT NULL as "t"."id_r" ] +| | | | | | project ( +| | | | | | | select ( +| | | | | | | | table("sys"."plantest1") [ "plantest1"."id" ] +| | | | | | | ) [ ("plantest1"."id") >= (bigint(28) "15000") ] +| | | | | | ) [ "sys"."sql_div"("plantest1"."id" NOT NULL, int(24) "1000") NOT NULL as "id_div" ] +| | | | | ) [ "id_div" NOT NULL as "t"."id_r" ] | | | | ) [ "t"."id_r" NOT NULL ] [ "t"."id_r" NOT NULL, "sys"."count" no nil ("t"."id_r" NOT NULL) NOT NULL as "%5"."%5" ] | | | ) [ "t"."id_r" NOT NULL, "%5"."%5" NOT NULL ] | | ) [ "t"."id_r" NOT NULL ] [ "t"."id_r" NOT NULL, "sys"."sum" no nil ("%5"."%5" NOT NULL) NOT NULL as "%5"."%5" ] ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: balanced_union - Fixes plan in test Bug-3955
Changeset: 276cd2e84b60 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/276cd2e84b60 Modified Files: sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.test Branch: balanced_union Log Message: Fixes plan in test Bug-3955 diffs (57 lines): diff --git a/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.test b/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.test --- a/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.test +++ b/sql/test/BugTracker-2016/Tests/merge_project.Bug-3955.test @@ -41,8 +41,8 @@ FROM ( ) AS tmp query IR rowsort -select * from r - +select * from r + 0 2.283 1 @@ -55,23 +55,25 @@ PLAN select * from r project ( | project ( -| | crossproduct ( -| | | table("sys"."v") [ "v"."a1" UNIQUE, "v"."a2" ], -| | | project ( -| | | | crossproduct ( -| | | | | project ( -| | | | | | select ( -| | | | | | | table("sys"."input_double") [ "input_double"."a1" UNIQUE, "input_double"."a2" UNIQUE ] -| | | | | | ) [ ("input_double"."a1" UNIQUE) = (varchar "latitude") ] -| | | | | ) [ "input_double"."a2" UNIQUE as "tmp_2"."a2" ], -| | | | | project ( -| | | | | | select ( -| | | | | | | table("sys"."input_double") [ "input_double"."a1" UNIQUE, "input_double"."a2" UNIQUE ] -| | | | | | ) [ ("input_double"."a1" UNIQUE) = (varchar "longitude") ] -| | | | | ) [ "input_double"."a2" UNIQUE as "tmp_3"."a2" ] -| | | | ) [ ] -| | | ) [ "sys"."st_point"("tmp_2"."a2", "tmp_3"."a2") as "p"."a1" ] -| | ) [ ] +| | project ( +| | | crossproduct ( +| | | | table("sys"."v") [ "v"."a1" UNIQUE, "v"."a2" ], +| | | | project ( +| | | | | crossproduct ( +| | | | | | project ( +| | | | | | | select ( +| | | | | | | | table("sys"."input_double") [ "input_double"."a1" UNIQUE, "input_double"."a2" UNIQUE ] +| | | | | | | ) [ ("input_double"."a1" UNIQUE) = (varchar "latitude") ] +| | | | | | ) [ "input_double"."a2" UNIQUE as "tmp_2"."a2" ], +| | | | | | project ( +| | | | | | | select ( +| | | | | | | | table("sys"."input_double") [ "input_double"."a1" UNIQUE, "input_double"."a2" UNIQUE ] +| | | | | | | ) [ ("input_double"."a1" UNIQUE) = (varchar "longitude") ] +| | | | | | ) [ "input_double"."a2" UNIQUE as "tmp_3"."a2" ] +| | | | | ) [ ] +| | | | ) [ "sys"."st_point"("tmp_2"."a2", "tmp_3"."a2") as "a1" ] +| | | ) [ ] +| | ) [ "v"."a1", "v"."a2", "a1" as "p"."a1" ] | ) [ "v"."a1" as "a1", "sys"."st_distance"("v"."a2", "p"."a1") as "prob" ] ) [ "a1" as "r"."a1", "prob" as "r"."prob" ] ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: ascii-flag - Merge with default branch.
Changeset: 8e2d926b65bf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8e2d926b65bf Branch: ascii-flag Log Message: Merge with default branch. diffs (truncated from 3634 to 300 lines): diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c --- a/monetdb5/modules/mal/clients.c +++ b/monetdb5/modules/mal/clients.c @@ -479,9 +479,11 @@ CLTqueryTimeout(Client cntxt, MalBlkPtr lng timeout_micro = ATOMIC_GET(&GDKdebug) & FORCEMITOMASK && qto == 1 ? 1000 : (lng) qto * 100; mal_clients[idx].querytimeout = timeout_micro; - QryCtx *qry_ctx = MT_thread_get_qry_ctx(); - if (qry_ctx) { - qry_ctx->endtime = qry_ctx->starttime && timeout_micro ? qry_ctx->starttime + timeout_micro : 0; + if (timeout_micro != 1000) { + QryCtx *qry_ctx = MT_thread_get_qry_ctx(); + if (qry_ctx) { + qry_ctx->endtime = qry_ctx->starttime && timeout_micro ? qry_ctx->starttime + timeout_micro : 0; + } } } MT_lock_unset(&mal_contextLock); diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit b/sql/test/emptydb/Tests/check.stable.out.32bit --- a/sql/test/emptydb/Tests/check.stable.out.32bit +++ b/sql/test/emptydb/Tests/check.stable.out.32bit @@ -39,7 +39,7 @@ select 'sys.objects', o.name, case when -- schemas select 'default schema of user', s.name, u.name from sys.schemas s, sys.users u where s.id = u.default_schema order by s.name, u.name; -- tables -select 'grant on table', t.name, a.name, pc.privilege_code_name, g.name, p.grantable from sys._tables t, sys.privileges p left outer join sys.auths g on p.grantor = g.id left outer join sys.privilege_codes pc on p.privileges = pc.privilege_code_id, sys.auths a where t.id = p.obj_id and p.auth_id = a.id order by t.name, a.name; +select 'grant on table', t.name, a.name, pc.privilege_code_name, g.name, p.grantable from sys._tables t, sys.privileges p left outer join sys.auths g on p.grantor = g.id left outer join sys.privilege_codes pc on p.privileges = pc.privilege_code_id, sys.auths a where t.id = p.obj_id and p.auth_id = a.id order by t.name, a.name, g.name nulls first; -- columns select 'grant on column', t.name, c.name, a.name, pc.privilege_code_name, g.name, p.grantable from sys._tables t, sys._columns c, sys.privileges p left outer join sys.auths g on p.grantor = g.id left outer join sys.privilege_codes pc on p.privileges = pc.privilege_code_id, sys.auths a where c.id = p.obj_id and c.table_id = t.id and p.auth_id = a.id order by t.name, c.name, a.name; -- functions @@ -433,7 +433,7 @@ select 'null in fkeys.delete_action_id', select 'null in fkeys.delete_action', delete_action, * from sys.fkeys where delete_action is null; % .%1, .s, ., ., .s, . # table_name % %1, name, authorization, owner, system, comment # name -% char,varchar,varchar,varchar,boolean, varchar # type +% varchar, varchar,varchar,varchar,boolean, varchar # type % 11, 18, 8, 7, 5, 28 # length [ "sys.schemas", "information_schema", "monetdb", "monetdb", true, "ISO/IEC 9075-11 SQL/Schemata" ] [ "sys.schemas", "json", "monetdb", "monetdb", true, NULL ] @@ -443,8 +443,8 @@ select 'null in fkeys.delete_action', de [ "sys.schemas", "tmp", "sysadmin", "monetdb", true, NULL ] % .%25,.s, .t, ., ., .t, ., ., . # table_name % %25, name, name, query, type, system, commit_action, access, comment # name -% char,varchar,varchar,char, varchar, boolean,char, char, varchar # type -% 11, 18, 34, 6812, 5, 5, 8, 10, 0 # length +% varchar, varchar,varchar,varchar,varchar, boolean,varchar,varchar,varchar # type +% 11, 18, 34, 6812, 5, 5, 8, 8, 0 # length [ "sys._tables", "information_schema", "character_sets", "create view information_schema.character_sets as select cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, cast('UTF-8' as varchar(16)) as character_set_name, cast('ISO/IEC 10646:2021' as varchar(20)) as character_repertoire, cast('UTF-8' as varchar(16)) as form_of_use, cast(null as varchar(1)) as default_collate_catalog, cast(null as varchar(1)) as default_collate_schema, cast(null as varchar(1)) as default_collate_name;", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "check_constraints","create view information_schema.check_constraints as select cast(null as varchar(1)) as constra
MonetDB: default - Merge with Dec2023 branch.
Changeset: b9b9086ac1ad for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b9b9086ac1ad Modified Files: monetdb5/modules/mal/clients.c Branch: default Log Message: Merge with Dec2023 branch. diffs (31 lines): diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c --- a/monetdb5/modules/mal/clients.c +++ b/monetdb5/modules/mal/clients.c @@ -479,9 +479,11 @@ CLTqueryTimeout(Client cntxt, MalBlkPtr lng timeout_micro = ATOMIC_GET(&GDKdebug) & FORCEMITOMASK && qto == 1 ? 1000 : (lng) qto * 100; mal_clients[idx].querytimeout = timeout_micro; - QryCtx *qry_ctx = MT_thread_get_qry_ctx(); - if (qry_ctx) { - qry_ctx->endtime = qry_ctx->starttime && timeout_micro ? qry_ctx->starttime + timeout_micro : 0; + if (timeout_micro != 1000) { + QryCtx *qry_ctx = MT_thread_get_qry_ctx(); + if (qry_ctx) { + qry_ctx->endtime = qry_ctx->starttime && timeout_micro ? qry_ctx->starttime + timeout_micro : 0; + } } } MT_lock_unset(&mal_contextLock); diff --git a/sql/test/strimps/Tests/small_string_crash.test b/sql/test/strimps/Tests/small_string_crash.test --- a/sql/test/strimps/Tests/small_string_crash.test +++ b/sql/test/strimps/Tests/small_string_crash.test @@ -117,3 +117,9 @@ SELECT * FROM fal WHERE x LIKE 'Daniel%' Daniel Sims Daniel Sullivan +query T nosort +SELECT * FROM fal WHERE startswith(x, 'Daniel') + +Daniel Sims +Daniel Sullivan + ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: ascii-flag - Changelog blurb.
Changeset: c5c6f73f2644 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c5c6f73f2644 Modified Files: common/stream/ChangeLog gdk/ChangeLog Branch: ascii-flag Log Message: Changelog blurb. diffs (32 lines): diff --git a/common/stream/ChangeLog b/common/stream/ChangeLog --- a/common/stream/ChangeLog +++ b/common/stream/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog file for stream # This file is updated with Maddlog +* Fri May 3 2024 Sjoerd Mullender +- ICONV support has been removed from the stream library. The server + itself only needs UTF-8 support. The client (mclient) does have + iconv support. + * Wed Feb 21 2024 Sjoerd Mullender - CURL support has been removed from the stream library. If support is needed, look at the source code in either streamcat.c or mclient.c. diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog file for GDK # This file is updated with Maddlog +* Fri May 3 2024 Sjoerd Mullender +- Various changes were made having to do with things like case-insensitive + comparisons and converting to upper or lower case. Case insensitive + comparison (i.e. the ILIKE operator) uses case folding which is similar + to converting to lower case, but changes more characters, also sometimes + to multiple characters (e.g. German sharp s (ß) comparse equal to SS). + * Tue Mar 26 2024 Sjoerd Mullender - Made some changes to how BAT descriptors are allocated. They are now allocated in bulk, meaning fewer malloc/free calls during processing. ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: ascii-flag - Approve some space changes.
Changeset: 8ebf0e62b30f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8ebf0e62b30f Modified Files: clients/Tests/MAL-signatures-hge.test Branch: ascii-flag Log Message: Approve some space changes. diffs (39 lines): diff --git a/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -34320,12 +34320,12 @@ BATSTRasciify; Transform BAT of strings from UTF8 to ASCII batstr caseFold -pattern batstr.caseFold(X_0:bat[:str]):bat[:str] +pattern batstr.caseFold(X_0:bat[:str]):bat[:str] STRbatCaseFold; Fold the case of a string. batstr caseFold -pattern batstr.caseFold(X_0:bat[:str], X_1:bat[:oid]):bat[:str] +pattern batstr.caseFold(X_0:bat[:str], X_1:bat[:oid]):bat[:str] STRbatCaseFold; Fold the case of a string. batstr @@ -50310,7 +50310,7 @@ STRasciify; Transform string from UTF8 to ASCII str caseFold -command str.caseFold(X_0:str):str +command str.caseFold(X_0:str):str STRcasefold; Fold the case of a string. str @@ -50394,11 +50394,6 @@ pattern str.endswithselect(X_0:bat[:str] STRendswithselect; Select all head values of the first input BAT for which the@tail value end with the given suffix + icase. str -epilogue -command str.epilogue():void -STRepilogue; -(empty) -str insert command str.insert(X_0:str, X_1:int, X_2:int, X_3:str):str STRinsert; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - Approve 32 bit output.
Changeset: 775c53d2116c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/775c53d2116c Modified Files: sql/test/emptydb/Tests/check.stable.out.32bit Branch: default Log Message: Approve 32 bit output. diffs (truncated from 3603 to 300 lines): diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit b/sql/test/emptydb/Tests/check.stable.out.32bit --- a/sql/test/emptydb/Tests/check.stable.out.32bit +++ b/sql/test/emptydb/Tests/check.stable.out.32bit @@ -39,7 +39,7 @@ select 'sys.objects', o.name, case when -- schemas select 'default schema of user', s.name, u.name from sys.schemas s, sys.users u where s.id = u.default_schema order by s.name, u.name; -- tables -select 'grant on table', t.name, a.name, pc.privilege_code_name, g.name, p.grantable from sys._tables t, sys.privileges p left outer join sys.auths g on p.grantor = g.id left outer join sys.privilege_codes pc on p.privileges = pc.privilege_code_id, sys.auths a where t.id = p.obj_id and p.auth_id = a.id order by t.name, a.name; +select 'grant on table', t.name, a.name, pc.privilege_code_name, g.name, p.grantable from sys._tables t, sys.privileges p left outer join sys.auths g on p.grantor = g.id left outer join sys.privilege_codes pc on p.privileges = pc.privilege_code_id, sys.auths a where t.id = p.obj_id and p.auth_id = a.id order by t.name, a.name, g.name nulls first; -- columns select 'grant on column', t.name, c.name, a.name, pc.privilege_code_name, g.name, p.grantable from sys._tables t, sys._columns c, sys.privileges p left outer join sys.auths g on p.grantor = g.id left outer join sys.privilege_codes pc on p.privileges = pc.privilege_code_id, sys.auths a where c.id = p.obj_id and c.table_id = t.id and p.auth_id = a.id order by t.name, c.name, a.name; -- functions @@ -433,7 +433,7 @@ select 'null in fkeys.delete_action_id', select 'null in fkeys.delete_action', delete_action, * from sys.fkeys where delete_action is null; % .%1, .s, ., ., .s, . # table_name % %1, name, authorization, owner, system, comment # name -% char,varchar,varchar,varchar,boolean, varchar # type +% varchar, varchar,varchar,varchar,boolean, varchar # type % 11, 18, 8, 7, 5, 28 # length [ "sys.schemas", "information_schema", "monetdb", "monetdb", true, "ISO/IEC 9075-11 SQL/Schemata" ] [ "sys.schemas", "json", "monetdb", "monetdb", true, NULL ] @@ -443,8 +443,8 @@ select 'null in fkeys.delete_action', de [ "sys.schemas", "tmp", "sysadmin", "monetdb", true, NULL ] % .%25,.s, .t, ., ., .t, ., ., . # table_name % %25, name, name, query, type, system, commit_action, access, comment # name -% char,varchar,varchar,char, varchar, boolean,char, char, varchar # type -% 11, 18, 34, 6812, 5, 5, 8, 10, 0 # length +% varchar, varchar,varchar,varchar,varchar, boolean,varchar,varchar,varchar # type +% 11, 18, 34, 6812, 5, 5, 8, 8, 0 # length [ "sys._tables", "information_schema", "character_sets", "create view information_schema.character_sets as select cast(null as varchar(1)) as character_set_catalog, cast(null as varchar(1)) as character_set_schema, cast('UTF-8' as varchar(16)) as character_set_name, cast('ISO/IEC 10646:2021' as varchar(20)) as character_repertoire, cast('UTF-8' as varchar(16)) as form_of_use, cast(null as varchar(1)) as default_collate_catalog, cast(null as varchar(1)) as default_collate_schema, cast(null as varchar(1)) as default_collate_name;", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "check_constraints","create view information_schema.check_constraints as select cast(null as varchar(1)) as constraint_catalog, cast(null as varchar(1024)) as constraint_schema, cast(null as varchar(1024)) as constraint_name, cast(null as varchar(1024)) as check_clause where 1=0;", "VIEW", true, "COMMIT", "WRITABLE", NULL ] [ "sys._tables", "information_schema", "columns", "create view information_schema.columns as select cast(null as varchar(1)) as table_catalog, s.\"name\" as table_schema, t.\"name\" as table_name, c.\"name\" as column_name, cast(1 + c.\"number\" as int) as ordinal_position, c.\"default\" as column_default, cast(sys.ifthenelse(c.\"null\", 'YES', 'NO') as varchar(3)) as is_nullable, cast(sys.\"sql_datatype\"(c.\"type\", c.\"type_digits\", c.\"type_scale\", true, true) as varchar(1024)) as data_type, cast(sys.ifthenelse(c.\"type\" in ('varchar','clob','char','json','url','xml') and c.\"type_digits\" > 0, c.\"type_digits\", null) as int) as character_maximum_length, cast(sys.ifthenelse(c.\"t
MonetDB: default - Approve non-hge output.
Changeset: 69363e9ed196 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/69363e9ed196 Modified Files: sql/test/emptydb/Tests/check.stable.out Branch: default Log Message: Approve non-hge output. diffs (14 lines): diff --git a/sql/test/emptydb/Tests/check.stable.out b/sql/test/emptydb/Tests/check.stable.out --- a/sql/test/emptydb/Tests/check.stable.out +++ b/sql/test/emptydb/Tests/check.stable.out @@ -6927,8 +6927,8 @@ select 'null in fkeys.delete_action', de % %14, table_id, id, table_id, type, name, rkey, update_action_id, update_action, delete_action_id, delete_action # name % varchar, int,int,int,int,varchar,int, smallint, varchar,smallint, varchar # type % 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0 # length -% .%14,.fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, sys.fkeys, .fkeys, sys.fkeys # table_name -% %14, type, id, table_id, type, name, rkey, update_action_id, update_action, delete_action_id, delete_action # name +% .%15,.fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys # table_name +% %15, type, id, table_id, type, name, rkey, update_action_id, update_action, delete_action_id, delete_action # name % varchar, int,int,int,int,varchar,int, smallint, varchar,smallint, varchar # type % 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0 # length % .%14,.fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, .fkeys, sys.fkeys, .fkeys, sys.fkeys # table_name ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Only set query timeout for query setting the ...
Changeset: 9cde2d6c052e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/9cde2d6c052e Modified Files: monetdb5/modules/mal/clients.c Branch: Dec2023 Log Message: Only set query timeout for query setting the timeout if not testing. diffs (21 lines): diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c --- a/monetdb5/modules/mal/clients.c +++ b/monetdb5/modules/mal/clients.c @@ -479,9 +479,14 @@ CLTqueryTimeout(Client cntxt, MalBlkPtr lng timeout_micro = ATOMIC_GET(&GDKdebug) & FORCEMITOMASK && qto == 1 ? 1000 : (lng) qto * 100; mal_clients[idx].qryctx.querytimeout = timeout_micro; - QryCtx *qry_ctx = MT_thread_get_qry_ctx(); - if (qry_ctx) - qry_ctx->querytimeout = timeout_micro; + if (timeout_micro != 1000) { + /* only set timeout for current query if not setting it to 1 +* msec during testing: we don't want a timeout during this +* query */ + QryCtx *qry_ctx = MT_thread_get_qry_ctx(); + if (qry_ctx) + qry_ctx->querytimeout = timeout_micro; + } } MT_lock_unset(&mal_contextLock); return msg; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: ascii-flag - Some code cleanup.
Changeset: 4b4e9c5ff1ae for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4b4e9c5ff1ae Modified Files: monetdb5/modules/atoms/str.c Branch: ascii-flag Log Message: Some code cleanup. diffs (truncated from 472 to 300 lines): 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 @@ -691,12 +691,11 @@ STRWChrAt(int *res, const char *const *a } static inline str -doStrConvert(str *res, const char *const *arg1, gdk_return (*func)(char **restrict, size_t *restrict, const char *restrict)) +doStrConvert(str *res, const char *arg1, gdk_return (*func)(char **restrict, size_t *restrict, const char *restrict)) { str buf = NULL, msg = MAL_SUCCEED; - const char *s = *arg1; - - if (strNil(s)) { + + if (strNil(arg1)) { *res = GDKstrdup(str_nil); } else { size_t buflen = INITIAL_STR_BUFFER_LENGTH; @@ -704,7 +703,7 @@ doStrConvert(str *res, const char *const *res = NULL; if (!(buf = GDKmalloc(buflen))) throw(MAL, "str.lower", SQLSTATE(HY013) MAL_MALLOC_FAIL); - if ((*func)(&buf, &buflen, s) != GDK_SUCCEED) { + if ((*func)(&buf, &buflen, arg1) != GDK_SUCCEED) { GDKfree(buf); throw(MAL, "str.lower", GDK_EXCEPTION); } @@ -721,19 +720,19 @@ doStrConvert(str *res, const char *const static inline str STRlower(str *res, const char *const *arg1) { - return doStrConvert(res, arg1, GDKtolower); + return doStrConvert(res, *arg1, GDKtolower); } static inline str STRupper(str *res, const char *const *arg1) { - return doStrConvert(res, arg1, GDKtoupper); + return doStrConvert(res, *arg1, GDKtoupper); } static inline str STRcasefold(str *res, const char *const *arg1) { - return doStrConvert(res, arg1, GDKcasefold); + return doStrConvert(res, *arg1, GDKcasefold); } /* returns whether arg1 starts with arg2 */ @@ -795,24 +794,16 @@ str_icontains(const char *h, const char return GDKstrcasestr(h, n) == NULL; } -#define STR_MAPARGS(STK, PCI, R, S1, S2, ICASE) \ - do{ \ - R = getArgReference(STK, PCI, 0); \ - S1 = *getArgReference_str(STK, PCI, 1); \ - S2 = *getArgReference_str(STK, PCI, 2); \ - icase = PCI->argc == 4 && *getArgReference_bit(STK, PCI, 3); \ - } while(0) - static str STRstartswith(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { (void) cntxt; (void) mb; - str s1, s2; - bit *r, icase; - - STR_MAPARGS(stk, pci, r, s1, s2, icase); + bit *r = getArgReference_bit(stk, pci, 0); + const char *s1 = *getArgReference_str(stk, pci, 1); + const char *s2 = *getArgReference_str(stk, pci, 2); + bit icase = pci->argc == 4 && *getArgReference_bit(stk, pci, 3); if (strNil(s1) || strNil(s2)) { *r = bit_nil; @@ -831,10 +822,10 @@ STRendswith(Client cntxt, MalBlkPtr mb, (void) cntxt; (void) mb; - str s1, s2; - bit *r, icase; - - STR_MAPARGS(stk, pci, r, s1, s2, icase); + bit *r = getArgReference_bit(stk, pci, 0); + const char *s1 = *getArgReference_str(stk, pci, 1); + const char *s2 = *getArgReference_str(stk, pci, 2); + bit icase = pci->argc == 4 && *getArgReference_bit(stk, pci, 3); if (strNil(s1) || strNil(s2)) { *r = bit_nil; @@ -854,10 +845,10 @@ STRcontains(Client cntxt, MalBlkPtr mb, (void) cntxt; (void) mb; - str s1, s2; - bit *r, icase; - - STR_MAPARGS(stk, pci, r, s1, s2, icase); + bit *r = getArgReference_bit(stk, pci, 0); + const char *s1 = *getArgReference_str(stk, pci, 1); + const char *s2 = *getArgReference_str(stk, pci, 2); + bit icase = pci->argc == 4 && *getArgReference_bit(stk, pci, 3); if (strNil(s1) || strNil(s2)) { *r = bit_nil; @@ -900,7 +891,7 @@ STRstr_search(Client cntxt, MalBlkPtr mb const char *haystack = *getArgReference_str(stk, pci, 1); const char *needle = *getArgReference_str(stk, pci, 2); bit icase = pci->argc == 4 && *getArgReference_bit(stk, pci, 3); - char *msg = MAL_SUCCEED; + if (strNil(haystack) || strNil(needle)) { *res = bit_nil; } else { @@ -908,7 +899,7 @@ STRstr_search(Client cntxt, MalBlkPtr mb str_isearch(haystack, needle) : s
MonetDB: ascii-flag - Merge with default branch.
Changeset: 63728d9503e3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/63728d9503e3 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/atoms/str.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/pcre.c Branch: ascii-flag Log Message: Merge with default branch. diffs (truncated from 4713 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -811,9 +811,9 @@ str QLOGcatalog(BAT **r); str QLOGdisable(void *ret); str QLOGempty(void *ret); str QLOGenable(void *ret); -str QLOGenableThreshold(void *ret, int *threshold); +str QLOGenableThreshold(void *ret, const int *threshold); int QLOGisset(void); -str RMTdisconnect(void *ret, str *conn); +str RMTdisconnect(void *ret, const char *const *conn); BUN SQLload_file(Client cntxt, Tablet *as, bstream *b, stream *out, const char *csep, const char *rsep, char quote, lng skip, lng maxrow, int best, bool from_stdin, const char *tabnam, bool escape); str TABLETcollect(BAT **bats, Tablet *as); str TABLETcreate_bats(Tablet *as, BUN est); diff --git a/monetdb5/modules/atoms/batxml.c b/monetdb5/modules/atoms/batxml.c --- a/monetdb5/modules/atoms/batxml.c +++ b/monetdb5/modules/atoms/batxml.c @@ -760,7 +760,7 @@ BATXMLroot(bat *ret, const bat *bid, con *standalone); snprintf(buf + i, len - i, "?>%s", t + 1); buf++; - XMLisdocument(&isdoc, &buf);/* check well-formedness */ + XMLisdocument(&isdoc, &(const char *){buf});/* check well-formedness */ buf--; if (!isdoc) { err = XML_NOT_WELL_FORMED; diff --git a/monetdb5/modules/atoms/blob.c b/monetdb5/modules/atoms/blob.c --- a/monetdb5/modules/atoms/blob.c +++ b/monetdb5/modules/atoms/blob.c @@ -130,7 +130,7 @@ BLOBnitems_bulk(Client cntxt, MalBlkPtr } static str -BLOBtoblob(blob **retval, str *s) +BLOBtoblob(blob **retval, const char *const *s) { size_t len = strLen(*s); blob *b = (blob *) GDKmalloc(blobsize(len)); @@ -144,7 +144,7 @@ BLOBtoblob(blob **retval, str *s) } static str -BLOBblob_blob(blob **d, blob **s) +BLOBblob_blob(blob **d, const blob *const*s) { size_t len = blobsize((*s)->nitems); blob *b; @@ -238,7 +238,7 @@ BLOBblob_blob_bulk(bat *res, const bat * } static str -BLOBblob_fromstr(blob **b, const char **s) +BLOBblob_fromstr(blob **b, const char *const*s) { size_t len = 0; diff --git a/monetdb5/modules/atoms/identifier.c b/monetdb5/modules/atoms/identifier.c --- a/monetdb5/modules/atoms/identifier.c +++ b/monetdb5/modules/atoms/identifier.c @@ -93,7 +93,7 @@ IDtoString(char **retval, size_t *len, c * to parse the string. */ static str -IDentifier(identifier *retval, str *in) +IDentifier(identifier *retval, const char *const *in) { size_t len = 0; diff --git a/monetdb5/modules/atoms/inet.c b/monetdb5/modules/atoms/inet.c --- a/monetdb5/modules/atoms/inet.c +++ b/monetdb5/modules/atoms/inet.c @@ -229,7 +229,7 @@ INETtoString(str *retval, size_t *len, c * to parse the string. */ static str -INETnew(inet *retval, str *in) +INETnew(inet *retval, const char *const *in) { ssize_t pos; size_t len = sizeof(inet); @@ -787,7 +787,7 @@ INET_inet(inet *d, const inet *s) } static str -INET_fromstr(inet *ret, str *s) +INET_fromstr(inet *ret, const char *const *s) { size_t len = sizeof(inet); if (INETfromString(*s, &len, (void **) &ret, false) < 0) diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c --- a/monetdb5/modules/atoms/json.c +++ b/monetdb5/modules/atoms/json.c @@ -233,7 +233,7 @@ JSONtoStorageString(JSON *jt, int idx, j return msg; } -static str JSONstr2json(json *ret, const char **j); +static str JSONstr2json(json *ret, const char *const*j); static ssize_t JSONfromString(const char *src, size_t *len, void **J, bool external) @@ -338,7 +338,7 @@ JSONtoString(str *s, size_t *len, const } static BAT * -JSONdumpInternal(JSON *jt, int depth) +JSONdumpInternal(const JSON *jt, int depth) { int i, idx; JSONterm *je; @@ -464,7 +464,7 @@ JSONdump(Client cntxt, MalBlkPtr mb, Mal (void) cntxt; bat *ret = getArgReference_bat(stk, pci, 0); - json *val = (json *) getArgReference(stk, pci, 1); + const json *val = (json *) getArgReference(stk, pci, 1); JSON *jt = JSONparse(*val); CHECK_JSON(jt); @@ -503,7 +503,7 @@ JSON2json(json *ret, const json *j) } static str -JSONstr2json(json *ret, const char **j) +JSONstr2json(json *ret, const char *const*j) { str msg = MAL_SUCCEED; json buf = NULL; @@ -541,7 +541,7 @@ JSONstr2json(json *ret, const char **j) } static str -J
MonetDB: Dec2023 - Also test startswith with strimps.
Changeset: 019e792d61bc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/019e792d61bc Modified Files: sql/test/strimps/Tests/small_string_crash.test Branch: Dec2023 Log Message: Also test startswith with strimps. diffs (13 lines): diff --git a/sql/test/strimps/Tests/small_string_crash.test b/sql/test/strimps/Tests/small_string_crash.test --- a/sql/test/strimps/Tests/small_string_crash.test +++ b/sql/test/strimps/Tests/small_string_crash.test @@ -117,3 +117,9 @@ SELECT * FROM fal WHERE x LIKE 'Daniel%' Daniel Sims Daniel Sullivan +query T nosort +SELECT * FROM fal WHERE startswith(x, 'Daniel') + +Daniel Sims +Daniel Sullivan + ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org