MonetDB: Dec2023 - Removed unused function TABLETcollect_parts.
Changeset: 4c98bfe6f0f1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4c98bfe6f0f1 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tablet.h Branch: Dec2023 Log Message: Removed unused function TABLETcollect_parts. diffs (79 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 @@ -799,7 +799,6 @@ int QLOGisset(void); str RMTdisconnect(void *ret, str *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 TABLETcollect_parts(BAT **bats, Tablet *as, BUN offset); str TABLETcreate_bats(Tablet *as, BUN est); void TABLETdestroy_format(Tablet *as); int TABLEToutput_file(Tablet *as, BAT *order, stream *s); diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c --- a/monetdb5/modules/mal/tablet.c +++ b/monetdb5/modules/mal/tablet.c @@ -185,53 +185,6 @@ TABLETcollect(BAT **bats, Tablet *as) return MAL_SUCCEED; } -str -TABLETcollect_parts(BAT **bats, Tablet *as, BUN offset) -{ - Column *fmt = as->format; - BUN i, j; - BUN cnt = 0; - - for (i = 0; i < as->nr_attrs && !cnt; i++) - if (!fmt[i].skip) - cnt = BATcount(fmt[i].c); - for (i = 0, j = 0; i < as->nr_attrs; i++) { - BAT *b, *bv = NULL; - if (fmt[i].skip) - continue; - b = fmt[i].c; - b->tsorted = b->trevsorted = false; - b->tkey = false; - BATsettrivprop(b); - if ((b = BATsetaccess(b, BAT_READ)) == NULL) { - fmt[i].c = NULL; - throw(SQL, "copy", - "Failed to set access at tablet part " BUNFMT "\n", cnt); - } - bv = BATslice(b, (offset > 0) ? offset - 1 : 0, BATcount(b)); - bats[j] = bv; - - b->tkey = (offset > 0) ? FALSE : bv->tkey; - b->tnonil &= bv->tnonil; - if (b->tsorted != bv->tsorted) - b->tsorted = false; - if (b->trevsorted != bv->trevsorted) - b->trevsorted = false; - if (BATtdense(b)) - b->tkey = true; - - if (offset > 0) { - BBPunfix(bv->batCacheid); - bats[j] = BATslice(b, offset, BATcount(b)); - } - if (cnt != BATcount(b)) - throw(SQL, "copy", "Count " BUNFMT " differs from " BUNFMT "\n", - BATcount(b), cnt); - j++; - } - return MAL_SUCCEED; -} - // the starting quote character has already been skipped static char * diff --git a/monetdb5/modules/mal/tablet.h b/monetdb5/modules/mal/tablet.h --- a/monetdb5/modules/mal/tablet.h +++ b/monetdb5/modules/mal/tablet.h @@ -78,7 +78,6 @@ mal_export BUN SQLload_file(Client cntxt const char *tabnam, bool escape); mal_export str TABLETcreate_bats(Tablet *as, BUN est); mal_export str TABLETcollect(BAT **bats, Tablet *as); -mal_export str TABLETcollect_parts(BAT **bats, Tablet *as, BUN offset); mal_export void TABLETdestroy_format(Tablet *as); mal_export int TABLEToutput_file(Tablet *as, BAT *order, stream *s); mal_export str COPYrejects(Client cntxt, MalBlkPtr mb, MalStkPtr stk, ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Add some NULL pointer checks.
Changeset: 458efe6e2d65 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/458efe6e2d65 Modified Files: monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/batxml.c monetdb5/modules/kernel/algebra.c sql/backends/monet5/UDF/pyapi3/conversion3.c sql/backends/monet5/UDF/pyapi3/pyloader3.c sql/backends/monet5/sql.c sql/storage/bat/bat_logger.c sql/storage/bat/bat_table.c Branch: Dec2023 Log Message: Add some NULL pointer checks. diffs (176 lines): 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 @@ -888,6 +888,12 @@ TRACEtable(Client cntxt, BAT **r) r[2] = COLcopy(cntxt->profevents, cntxt->profevents->ttype, false, TRANSIENT); MT_lock_unset(&mal_profileLock); + if (r[0] == NULL || r[1] == NULL || r[2] == NULL) { + BBPreclaim(r[0]); + BBPreclaim(r[1]); + BBPreclaim(r[2]); + return -1; + } return 3; } 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 @@ -1287,6 +1287,8 @@ BATxmlaggr(BAT **bnp, BAT *b, BAT *g, BA /* singleton groups: return group ID's (g's tail) and original * values from b */ bn = VIEWcreate(g->tseqbase, b); + if (bn == NULL) + err = GDK_EXCEPTION; goto out; } diff --git a/monetdb5/modules/kernel/algebra.c b/monetdb5/modules/kernel/algebra.c --- a/monetdb5/modules/kernel/algebra.c +++ b/monetdb5/modules/kernel/algebra.c @@ -1113,7 +1113,7 @@ ALGunary(bat *result, const bat *bid, BA return MAL_SUCCEED; } -static BAT * +static inline BAT * BATwcopy(BAT *b) { return COLcopy(b, b->ttype, true, TRANSIENT); diff --git a/sql/backends/monet5/UDF/pyapi3/conversion3.c b/sql/backends/monet5/UDF/pyapi3/conversion3.c --- a/sql/backends/monet5/UDF/pyapi3/conversion3.c +++ b/sql/backends/monet5/UDF/pyapi3/conversion3.c @@ -970,6 +970,14 @@ PyObject_ConvertToBAT(PyReturn *ret, sql data = (char *)ret->array_data; data += (index_offset * ret->count) * ret->memory_size; b = COLnew(seqbase, TYPE_blob, (BUN)ret->count, TRANSIENT); + if (b == NULL) { + if (ret->result_type == NPY_OBJECT) { + Py_XDECREF(pickle_module); + Python_ReleaseGIL(gstate); + } + msg = createException(MAL, "pyapi3.eval", GDK_EXCEPTION); + goto wrapup; + } b->tnil = false; b->tnonil = true; b->tkey = false; @@ -1105,14 +1113,18 @@ PyObject_ConvertToBAT(PyReturn *ret, sql } b = COLnew(seqbase, TYPE_str, (BUN)ret->count, TRANSIENT); + if (b == NULL) { + GDKfree(utf8_string); + msg = createException(MAL, "pyapi3.eval", GDK_EXCEPTION); + goto wrapup; + } b->tnil = false; b->tnonil = true; b->tkey = false; b->tsorted = false; b->trevsorted = false; NP_INSERT_STRING_BAT(b); - if (utf8_string) - GDKfree(utf8_string); + GDKfree(utf8_string); BATsetcount(b, (BUN)ret->count); break; } diff --git a/sql/backends/monet5/UDF/pyapi3/pyloader3.c b/sql/backends/monet5/UDF/pyapi3/pyloader3.c --- a/sql/backends/monet5/UDF/pyapi3/pyloader3.c +++ b/sql/backends/monet5/UDF/pyapi3/pyloader3.c @@ -184,8 +184,15 @@ PYAPI3PyAPIevalLoader(Client cntxt, MalB assert(n); cols[i].def = n->data; n = n->next; - cols[i].b = - COLnew(0, tpe->type->localtype, 0, TRANSIENT); + cols[i].b = COLnew(0, tpe->type->localtype, 0, TRANSIENT); + if (cols[i].b == NULL || cols[i].name == NULL) { + do { + BBPreclaim(cols[i].b); + GDKfree(cols[i].name); + } while (i-- > 0); + msg = createException(MAL, "pyapi3.eval", GDK_EXCEPTION); + got
MonetDB: Dec2023 - Removed unused version of algebra.markjoin.
Changeset: d7fca7dc4a50 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d7fca7dc4a50 Modified Files: clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test monetdb5/modules/kernel/algebra.c Branch: Dec2023 Log Message: Removed unused version of algebra.markjoin. diffs (133 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 @@ -3504,11 +3504,6 @@ command algebra.markjoin(X_0:bat[:any_1] ALGmark3join; Mark join with candidate lists algebra -markjoin -command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:bit]) -ALGmarkjoin; -Left mark join with candidate lists, produces left output and mark flag; -algebra markselect command algebra.markselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) ALGmarkselect; diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -2939,11 +2939,6 @@ command algebra.markjoin(X_0:bat[:any_1] ALGmark3join; Mark join with candidate lists algebra -markjoin -command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:bit]) -ALGmarkjoin; -Left mark join with candidate lists, produces left output and mark flag; -algebra markselect command algebra.markselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) ALGmarkselect; diff --git a/monetdb5/modules/kernel/algebra.c b/monetdb5/modules/kernel/algebra.c --- a/monetdb5/modules/kernel/algebra.c +++ b/monetdb5/modules/kernel/algebra.c @@ -799,91 +799,6 @@ ALGleftjoin1(bat *r1, const bat *lid, co "algebra.leftjoin"); } -#include -static str ALGcrossproduct2(bat *l, bat *r, const bat *left, const bat *right, const bit *max_one); -static str -ALGmarkjoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat *slid, const bat *srid, - const bit *any, const lng *estimate) -{ - str res = NULL; - bit max_one = false; - *r1 = *r2 = 0; - (void)any; - (void)estimate; - /* for now: (left) cross aggr (any-equal) */ - BAT *rr = BATdescriptor(is_bat_nil(*srid)?*rid:*srid); - if (!BATcount(rr)) { - BAT *l = NULL; - if (is_bat_nil(*slid)) { - BAT *lp = BATdescriptor(*lid); - - if (lp) { - l = BATdense(lp->hseqbase, lp->hseqbase, BATcount(lp)); - BBPunfix(lp->batCacheid); - } - } else { - l = BATdescriptor(*slid); - } - bit v = false;//*any?false:true; - BAT *m = BATconstant( l->hseqbase, TYPE_bit, &v, BATcount(l), TRANSIENT); - BBPkeepref(l); - BBPkeepref(m); - *r1 = l->batCacheid; - *r2 = m->batCacheid; - BBPunfix(rr->batCacheid); - return MAL_SUCCEED; - } - BBPunfix(rr->batCacheid); - if ((res = ALGcrossproduct2(r1, r2, is_bat_nil(*slid)?lid:slid, (*srid)?rid:srid, &max_one)) == MAL_SUCCEED) { - BAT *li = BATdescriptor(*r1), *g = NULL, *e = NULL; - if (!li) { - BBPrelease(*r1); - BBPrelease(*r2); - throw(MAL, "algebra.markjoin", SQLSTATE(HY013) MAL_MALLOC_FAIL); - } - if (BATgroup(&g, &e, NULL, li, NULL, NULL, NULL, NULL) == GDK_SUCCEED) { - BAT *lp = BATdescriptor(*lid); - BAT *l = BATproject( li, lp); - BBPreclaim(lp); - - BAT *ri = BATdescriptor(*r2); - BAT *rp = BATdescriptor(*rid); - BAT *r = BATproject( ri, rp); - BBPreclaim(ri); - BBPreclaim(rp); - BAT *m; - - //if (*any) - m = BATanyequal_grp(l, r, g, e, NULL); - /* - else - m = BATallnotequal_grp(l, r, g, e, NULL); - */ - - BBPreclaim(l); - BBPreclaim(r); - BBPreclaim(g); - l = BATproject(e,li); - BBPreclaim(e); - BBPreclaim(li); - - BBPkeepref(l); - BBPkeepref(m); - BBPrelease(*r1); - BBPrelease(*r2); - *r
MonetDB: Dec2023 - Removed duplicate declarations.
Changeset: a297d2177e46 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a297d2177e46 Modified Files: clients/Tests/exports.stable.out gdk/gdk.h Branch: Dec2023 Log Message: Removed duplicate declarations. diffs (41 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 @@ -119,7 +119,6 @@ BAT *BATdense(oid hseq, oid tseq, BUN cn BAT *BATdescriptor(bat i); BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool not_in, BUN estimate); BAT *BATdiffcand(BAT *a, BAT *b); -BAT *BATdiffcand(BAT *a, BAT *b); gdk_return BATextend(BAT *b, BUN newcap) __attribute__((__warn_unused_result__)); void BATfakeCommit(BAT *b); gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, BUN n, bool asc, bool nilslast, bool distinct) __attribute__((__warn_unused_result__)); @@ -156,7 +155,6 @@ void BAThseqbase(BAT *b, oid o); gdk_return BATimprints(BAT *b); BAT *BATintersect(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool max_one, BUN estimate); BAT *BATintersectcand(BAT *a, BAT *b); -BAT *BATintersectcand(BAT *a, BAT *b); gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATkey(BAT *b, bool onoff); gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); @@ -165,7 +163,6 @@ BAT *BATmaskedcands(oid hseq, BUN nr, BA void *BATmax(BAT *b, void *aggr); void *BATmax_skipnil(BAT *b, void *aggr, bit skipnil); BAT *BATmergecand(BAT *a, BAT *b); -BAT *BATmergecand(BAT *a, BAT *b); void *BATmin(BAT *b, void *aggr); void *BATmin_skipnil(BAT *b, void *aggr, bit skipnil); gdk_return BATmode(BAT *b, bool transient); diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -2329,10 +2329,6 @@ gdk_export BAT *BATslice(BAT *b, BUN low gdk_export BAT *BATunique(BAT *b, BAT *s); -gdk_export BAT *BATmergecand(BAT *a, BAT *b); -gdk_export BAT *BATintersectcand(BAT *a, BAT *b); -gdk_export BAT *BATdiffcand(BAT *a, BAT *b); - gdk_export gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, BUN n, bool asc, bool nilslast, bool distinct) __attribute__((__warn_unused_result__)); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Some error checking + some leak prevention + ...
Changeset: f355108f0ed9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/f355108f0ed9 Modified Files: gdk/gdk_analytic_func.c gdk/gdk_analytic_statistics.c gdk/gdk_cross.c gdk/gdk_join.c geom/monetdb5/geom.c geom/monetdb5/geomBulk.c monetdb5/mal/mal_interpreter.c monetdb5/modules/atoms/str.c monetdb5/modules/kernel/alarm.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/pcre.c sql/backends/monet5/sql_result.c sql/storage/bat/bat_logger.c Branch: Dec2023 Log Message: Some error checking + some leak prevention + some cleanup. diffs (truncated from 657 to 300 lines): diff --git a/gdk/gdk_analytic_func.c b/gdk/gdk_analytic_func.c --- a/gdk/gdk_analytic_func.c +++ b/gdk/gdk_analytic_func.c @@ -1293,7 +1293,7 @@ GDKanalytical##OP(BAT *r, BAT *p, BAT *o ANALYTICAL_MIN_MAX_BRANCHES(MIN_MAX, GT_LT, CURRENT_ROW); \ break; \ default:\ - if (!(st = GDKinitialize_segment_tree())) { \ + if ((st = GDKinitialize_segment_tree()) == NULL) { \ res = GDK_FAIL; \ goto cleanup; \ } \ @@ -1653,7 +1653,7 @@ GDKanalyticalcount(BAT *r, BAT *p, BAT * ANALYTICAL_COUNT_BRANCHES(CURRENT_ROW); break; default: - if (!count_all && !(st = GDKinitialize_segment_tree())) { + if (!count_all && (st = GDKinitialize_segment_tree()) == NULL) { res = GDK_FAIL; goto cleanup; } @@ -1981,7 +1981,7 @@ GDKanalyticalsum(BAT *r, BAT *p, BAT *o, ANALYTICAL_SUM_BRANCHES(CURRENT_ROW); break; default: - if (!(st = GDKinitialize_segment_tree())) { + if ((st = GDKinitialize_segment_tree()) == NULL) { res = GDK_FAIL; goto cleanup; } @@ -2500,7 +2500,7 @@ GDKanalyticalprod(BAT *r, BAT *p, BAT *o ANALYTICAL_PROD_BRANCHES(CURRENT_ROW); break; default: - if (!(st = GDKinitialize_segment_tree())) { + if ((st = GDKinitialize_segment_tree()) == NULL) { res = GDK_FAIL; goto cleanup; } diff --git a/gdk/gdk_analytic_statistics.c b/gdk/gdk_analytic_statistics.c --- a/gdk/gdk_analytic_statistics.c +++ b/gdk/gdk_analytic_statistics.c @@ -94,7 +94,7 @@ curval = n > 0 ? (dbl) sum / n : dbl_nil; \ if (0) { /* overflow handling from STEP1 */ \ ANALYTICAL_AVERAGE_CALC_NUM_STEP2(TPE, IMP); \ - while (!(op[j] || j == k)) {\ + while (!op[j] && j != k) { \ TPE v = bp[j--];\ if (is_##TPE##_nil(v)) \ continue; \ @@ -396,7 +396,7 @@ GDKanalyticalavg(BAT *r, BAT *p, BAT *o, ANALYTICAL_AVG_BRANCHES(CURRENT_ROW); break; default: - if (!(st = GDKinitialize_segment_tree())) { + if ((st = GDKinitialize_segment_tree()) == NULL) { res = GDK_FAIL; goto cleanup; } @@ -656,7 +656,7 @@ GDKanalyticalavginteger(BAT *r, BAT *p, ANALYTICAL_AVG_INT_BRANCHES(CURRENT_ROW); break; default: - if (!(st = GDKinitialize_segment_tree())) { + if ((st = GDKinitialize_segment_tree()) == NULL) { res = GDK_FAIL; goto cleanup; } @@ -924,7 +924,7 @@ GDKanalytical_##NAME(BAT *r, BAT *p, BAT ANALYTICAL_STATISTICS_BRANCHES(STDEV_VARIANCE_CURRENT_ROW, SAMPLE, OP); \ break; \ default:\ - if (!(st = GDKinitialize_segment_tree())) { \ + if ((st = GDKinitialize_segment_tree()) == NULL) { \
MonetDB: Dec2023 - Removed io.import and io.export.
Changeset: cd78f7ee1ab6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/cd78f7ee1ab6 Removed Files: monetdb5/modules/mal/Tests/ascii_io2.maltest Modified Files: clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test monetdb5/ChangeLog.Dec2023 monetdb5/modules/mal/Tests/All monetdb5/modules/mal/mal_io.c Branch: Dec2023 Log Message: Removed io.import and io.export. They're not particularly safe, letting the server create and read arbitrary files. diffs (truncated from 345 to 300 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 @@ -46799,16 +46799,6 @@ pattern inspect.optimizer_stats() (X_0:b OPTstatistics; Get optimizer use statistics, i.e. calls and total time io -export -command io.export(X_0:bat[:any_2], X_1:str):void -IOexport; -Export a BAT as ASCII to a file. If the 'filepath' is not absolute, it@is put into the $DBPATH directory. Success of failure is indicated. -io -import -command io.import(X_0:bat[:any_2], X_1:str):void -IOimport; -Import a BAT from an ASCII dump. The tuples are appended to the@first argument. Its signature must match the dump,@else parsing errors will occur as an exception. -io print pattern io.print(X_0:any_1):void IOprint_val; diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -35249,16 +35249,6 @@ pattern inspect.optimizer_stats() (X_0:b OPTstatistics; Get optimizer use statistics, i.e. calls and total time io -export -command io.export(X_0:bat[:any_2], X_1:str):void -IOexport; -Export a BAT as ASCII to a file. If the 'filepath' is not absolute, it@is put into the $DBPATH directory. Success of failure is indicated. -io -import -command io.import(X_0:bat[:any_2], X_1:str):void -IOimport; -Import a BAT from an ASCII dump. The tuples are appended to the@first argument. Its signature must match the dump,@else parsing errors will occur as an exception. -io print pattern io.print(X_0:any_1):void IOprint_val; diff --git a/monetdb5/ChangeLog.Dec2023 b/monetdb5/ChangeLog.Dec2023 --- a/monetdb5/ChangeLog.Dec2023 +++ b/monetdb5/ChangeLog.Dec2023 @@ -1,6 +1,9 @@ # ChangeLog file for MonetDB5 # This file is updated with Maddlog +* Wed Dec 6 2023 Sjoerd Mullender +- The MAL functions io.import and io.export have been removed. + * Mon Nov 20 2023 Sjoerd Mullender - Removed MAL functions bat.getRole and bat.setColumn since the underlying function BATroles was removed. diff --git a/monetdb5/modules/mal/Tests/All b/monetdb5/modules/mal/Tests/All --- a/monetdb5/modules/mal/Tests/All +++ b/monetdb5/modules/mal/Tests/All @@ -20,8 +20,6 @@ imprints # flags is influecend by the Mtest command line -ascii_io2 - mat remoteInit diff --git a/monetdb5/modules/mal/Tests/ascii_io2.maltest b/monetdb5/modules/mal/Tests/ascii_io2.maltest deleted file mode 100644 --- a/monetdb5/modules/mal/Tests/ascii_io2.maltest +++ /dev/null @@ -1,31 +0,0 @@ -statement ok -namebat := bat.new( :str) - -statement ok -bat.append(namebat,"tmpdocs") - -statement ok -bat.append(namebat,"tmpterms") - -query T rowsort -io.printf("#source:%s\n","namebat") - -#source:namebat - -statement ok -io.export(namebat, "namebat") - -statement ok -z:= bat.new(:str) - -statement ok -io.import(z,"namebat") - -query IT rowsort -io.print(z) - -0 -tmpdocs -1 -tmpterms - diff --git a/monetdb5/modules/mal/mal_io.c b/monetdb5/modules/mal/mal_io.c --- a/monetdb5/modules/mal/mal_io.c +++ b/monetdb5/modules/mal/mal_io.c @@ -612,231 +612,6 @@ IOtable(Client cntxt, MalBlkPtr mb, MalS return MAL_SUCCEED; } - -/* - * Bulk export/loading - * To simplify conversion between versions and to interface with other - * applications, we use a simple import/export operation. - * - * The conversion routine assumes space in the buffer for storing the result. - */ -/* - * A BAT can be saved in Monet format using the export command. - * It is of particular use in preparing an ASCII version for migration. - * The exported file is saved in the context of the directory - * where the server was started unless an absolute file name was - * presented. - */ - -static str -IOexport(void *ret, bat *bid, str *fnme) -{ - BAT *b; - stream *s; - - (void) ret; - if ((b = BATdescriptor(*bid)) == NULL) - throw(MAL, "io.export", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING); - - s = open_wastream(*fnme); - if (s == NULL) { - BBPunfix(b->batCacheid); - throw(MAL, "io.export", "%s", mnstr_peek_error(NULL)); - } - if (mnstr_errnr(s) != MNSTR_NO__ERROR) { - mnstr_close(s); - BBPunfix(b->batCacheid); - throw(MAL, "io.export", "%s", mnstr_peek_error(NULL)); - } - BATprin
MonetDB: default - Merge with Dec2023 branch.
Changeset: 5cdc33404f19 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/5cdc33404f19 Modified Files: monetdb5/modules/atoms/str.c Branch: default Log Message: Merge with Dec2023 branch. diffs (truncated from 1876 to 300 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 @@ -3504,11 +3504,6 @@ command algebra.markjoin(X_0:bat[:any_1] ALGmark3join; Mark join with candidate lists algebra -markjoin -command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:bit]) -ALGmarkjoin; -Left mark join with candidate lists, produces left output and mark flag; -algebra markselect command algebra.markselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) ALGmarkselect; @@ -46804,16 +46799,6 @@ pattern inspect.optimizer_stats() (X_0:b OPTstatistics; Get optimizer use statistics, i.e. calls and total time io -export -command io.export(X_0:bat[:any_2], X_1:str):void -IOexport; -Export a BAT as ASCII to a file. If the 'filepath' is not absolute, it@is put into the $DBPATH directory. Success of failure is indicated. -io -import -command io.import(X_0:bat[:any_2], X_1:str):void -IOimport; -Import a BAT from an ASCII dump. The tuples are appended to the@first argument. Its signature must match the dump,@else parsing errors will occur as an exception. -io print pattern io.print(X_0:any_1):void IOprint_val; diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -2939,11 +2939,6 @@ command algebra.markjoin(X_0:bat[:any_1] ALGmark3join; Mark join with candidate lists algebra -markjoin -command algebra.markjoin(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], X_3:bat[:oid], X_4:bit, X_5:lng) (X_6:bat[:oid], X_7:bat[:bit]) -ALGmarkjoin; -Left mark join with candidate lists, produces left output and mark flag; -algebra markselect command algebra.markselect(X_0:bat[:oid], X_1:bat[:bit], X_2:bat[:bit], X_3:bit) (X_4:bat[:oid], X_5:bat[:bit]) ALGmarkselect; @@ -35254,16 +35249,6 @@ pattern inspect.optimizer_stats() (X_0:b OPTstatistics; Get optimizer use statistics, i.e. calls and total time io -export -command io.export(X_0:bat[:any_2], X_1:str):void -IOexport; -Export a BAT as ASCII to a file. If the 'filepath' is not absolute, it@is put into the $DBPATH directory. Success of failure is indicated. -io -import -command io.import(X_0:bat[:any_2], X_1:str):void -IOimport; -Import a BAT from an ASCII dump. The tuples are appended to the@first argument. Its signature must match the dump,@else parsing errors will occur as an exception. -io print pattern io.print(X_0:any_1):void IOprint_val; 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 @@ -119,7 +119,6 @@ BAT *BATdense(oid hseq, oid tseq, BUN cn BAT *BATdescriptor(bat i); BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool not_in, BUN estimate); BAT *BATdiffcand(BAT *a, BAT *b); -BAT *BATdiffcand(BAT *a, BAT *b); gdk_return BATextend(BAT *b, BUN newcap) __attribute__((__warn_unused_result__)); void BATfakeCommit(BAT *b); gdk_return BATfirstn(BAT **topn, BAT **gids, BAT *b, BAT *cands, BAT *grps, BUN n, bool asc, bool nilslast, bool distinct) __attribute__((__warn_unused_result__)); @@ -156,7 +155,6 @@ void BAThseqbase(BAT *b, oid o); gdk_return BATimprints(BAT *b); BAT *BATintersect(BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, bool max_one, BUN estimate); BAT *BATintersectcand(BAT *a, BAT *b); -BAT *BATintersectcand(BAT *a, BAT *b); gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); gdk_return BATkey(BAT *b, bool onoff); gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, bool nil_matches, BUN estimate) __attribute__((__warn_unused_result__)); @@ -165,7 +163,6 @@ BAT *BATmaskedcands(oid hseq, BUN nr, BA void *BATmax(BAT *b, void *aggr); void *BATmax_skipnil(BAT *b, void *aggr, bit skipnil); BAT *BATmergecand(BAT *a, BAT *b); -BAT *BATmergecand(BAT *a, BAT *b); void *BATmin(BAT *b, void *aggr); void *BATmin_skipnil(BAT *b, void *aggr, bit skipnil); gdk_return BATmode(BAT *b, bool transient); @@ -799,7 +796,6 @@ int QLOGisset(void); str RMTdisconnect(void *ret, str *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 TABLETcollect_parts(BAT **bats, Tablet *as, BUN offset); str TABLETcreate_ba