Changeset: ba4d89652d6c for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ba4d89652d6c Modified Files: clients/R/Tests/dbi.R clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/nodejs/monetdb/mapiclient.js gdk/ChangeLog gdk/gdk.h gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_logger.c monetdb5/ChangeLog monetdb5/modules/atoms/Tests/xml10.mal monetdb5/modules/atoms/Tests/xml10.stable.out monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/batxml.mal monetdb5/modules/atoms/batxml.sql monetdb5/modules/atoms/xml.sql monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/bat5.h monetdb5/modules/mal/mat.c sql/backends/monet5/bam/bam_export.c sql/backends/monet5/sql_scenario.c sql/storage/restrict/restrict_table.c sql/test/sql_xml/Tests/funcs.sql testing/Mtest.py.in Branch: profiler Log Message:
merge with default diffs (truncated from 1668 to 300 lines): diff --git a/clients/R/Tests/dbi.R b/clients/R/Tests/dbi.R --- a/clients/R/Tests/dbi.R +++ b/clients/R/Tests/dbi.R @@ -90,15 +90,15 @@ dbRemoveTable(con,tname) stopifnot(identical(dbExistsTable(con,tname),FALSE)) # test csv import -file <- tempfile() -write.table(iris,file,sep=",") +tf <- tempfile() +write.table(iris,tf,sep=",",row.names=FALSE) tname2 <- "Need to quote this table name" -monetdb.read.csv(con,file,tname) -monetdb.read.csv(con,file,tname2) +monetdb.read.csv(con,tf,tname) +monetdb.read.csv(con,tf,tname2) ### dbListTables(con) -unlink(file) +unlink(tf) stopifnot(identical(dbExistsTable(con,tname),TRUE)) stopifnot(identical(dbExistsTable(con,tname2),TRUE)) iris3 <- dbReadTable(con,tname) diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -2382,10 +2382,6 @@ command algebra.reuse(b:bat[:oid,:any_1] address ALGreuse; comment Reuse a temporary BAT if you can. Otherwise, allocate enough storage to accept result of an operation (not involving the heap) -command algebra.revert(b:bat[:oid,:any_1]):bat[:oid,:any_1] -address ALGrevert; -comment Returns a BAT copy with buns in reverse order - pattern algebra.semijoinPath(l:bat[:any,:any]...):bat[:any,:any] address ALGjoinPath; comment Routine to handle join paths. The type analysis is rather tricky. @@ -38449,11 +38445,11 @@ comment Print a MAL value column . pattern io.print(val:any_1):void address IOprint_val; -comment Print a MAL value tuple . +comment Print a MAL value. pattern io.print(b1:bat[:oid,:any]...):void address IOtable; -comment BATs are printed with '#' for legend lines, and the BUNs on seperate lines between brackets, containing each to comma separated values (head and tail). If multiple BATs are passed for printing, print() performs an implicit natural join, producing a multi attribute table. +comment BATs are printed with '#' for legend lines, and the BUNs on seperate lines between brackets, containing each to comma separated values (head and tail). If multiple BATs are passed for printing, print() performs an implicit natural join on the void head, producing a multi attribute table. pattern io.print(val:any_1,lst:any...):void address IOprint_val; @@ -38471,18 +38467,6 @@ pattern io.stdin():bstream address io_stdin; comment return the input stream to the database client -pattern io.table(order:int,b1:bat[:oid,:any],b2:bat[:oid,:any]...):void -address IOtotable; -comment Print an n-ary table. - -pattern io.table(b1:bat[:oid,:any],b2:bat[:oid,:any]...):void -address IOttable; -comment Print an n-ary table. Like print, but does not print oid column - -pattern io.table(b1:bat[:oid,:any]):void -address IOttable; -comment Print an n-ary table. Like print, but does not print oid column - command iterator.next(step:dbl,last:dbl):dbl address ITRnext_dbl; comment Advances the iterator with a fixed value @@ -41602,18 +41586,6 @@ command xml.aggr(val:bat[:oid,:xml]):xml address BATXMLgroup; comment Aggregate the XML values. -command xml.agg(val:bat[:oid,:xml]):xml -address BATXMLgroup; -comment Aggregate the XML values over groups specified. - -command xml.agg(val:bat[:oid,:xml],grp:bat[:oid,:oid]):bat[:oid,:xml] -address BATXMLagg; -comment Aggregate the XML values over groups specified. - -command xml.agg(val:bat[:oid,:xml],grp:bat[:oid,:oid],e:bat[:oid,:any_1]):bat[:oid,:xml] -address BATXMLagg3; -comment Aggregate the XML values over groups specified. - command xml.attribute(name:str,val:str):xml address XMLattribute; comment Construct an attribute value pair diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -2893,10 +2893,6 @@ command algebra.reuse(b:bat[:oid,:any_1] address ALGreuse; comment Reuse a temporary BAT if you can. Otherwise, allocate enough storage to accept result of an operation (not involving the heap) -command algebra.revert(b:bat[:oid,:any_1]):bat[:oid,:any_1] -address ALGrevert; -comment Returns a BAT copy with buns in reverse order - pattern algebra.semijoinPath(l:bat[:any,:any]...):bat[:any,:any] address ALGjoinPath; comment Routine to handle join paths. The type analysis is rather tricky. @@ -49368,11 +49364,11 @@ comment Print a MAL value column . pattern io.print(val:any_1):void address IOprint_val; -comment Print a MAL value tuple . +comment Print a MAL value. pattern io.print(b1:bat[:oid,:any]...):void address IOtable; -comment BATs are printed with '#' for legend lines, and the BUNs on seperate lines between brackets, containing each to comma separated values (head and tail). If multiple BATs are passed for printing, print() performs an implicit natural join, producing a multi attribute table. +comment BATs are printed with '#' for legend lines, and the BUNs on seperate lines between brackets, containing each to comma separated values (head and tail). If multiple BATs are passed for printing, print() performs an implicit natural join on the void head, producing a multi attribute table. pattern io.print(val:any_1,lst:any...):void address IOprint_val; @@ -52537,18 +52533,6 @@ command xml.aggr(val:bat[:oid,:xml]):xml address BATXMLgroup; comment Aggregate the XML values. -command xml.agg(val:bat[:oid,:xml]):xml -address BATXMLgroup; -comment Aggregate the XML values over groups specified. - -command xml.agg(val:bat[:oid,:xml],grp:bat[:oid,:oid]):bat[:oid,:xml] -address BATXMLagg; -comment Aggregate the XML values over groups specified. - -command xml.agg(val:bat[:oid,:xml],grp:bat[:oid,:oid],e:bat[:oid,:any_1]):bat[:oid,:xml] -address BATXMLagg3; -comment Aggregate the XML values over groups specified. - command xml.attribute(name:str,val:str):xml address XMLattribute; comment Construct an attribute value pair 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 @@ -166,7 +166,6 @@ gdk_return BATprod(void *res, int tp, BA BAT *BATproject(BAT *l, BAT *r); BAT *BATrangejoin(BAT *l, BAT *rl, BAT *rh, bit li, bit hi); gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bit force); -gdk_return BATrevert(BAT *b); void BATroles(BAT *b, const char *hnme, const char *tnme); BAT *BATsample(BAT *b, BUN n); gdk_return BATsave(BAT *b); @@ -179,10 +178,6 @@ void BATsetcapacity(BAT *b, BUN cnt); void BATsetcount(BAT *b, BUN cnt); void BATsetprop(BAT *b, int idx, int type, void *v); BAT *BATslice(BAT *b, BUN low, BUN high); -BAT *BATsort(BAT *b); -BAT *BATsort_rev(BAT *b); -BAT *BATssort(BAT *b); -BAT *BATssort_rev(BAT *b); gdk_return BATsubbandjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, const void *c1, const void *c2, int li, int hi, BUN estimate); gdk_return BATsubcross(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr); BAT *BATsubdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate); @@ -752,7 +747,6 @@ str ALGprojecttail(Client cntxt, MalBlkP str ALGrangejoin(bat *result, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); str ALGrangejoin2(bat *l, bat *r, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); str ALGreuse(bat *ret, const bat *bid); -str ALGrevert(bat *result, const bat *bid); str ALGsample(bat *result, const bat *bid, const int *param); str ALGselect(bat *result, const bat *bid, ptr low, ptr high); str ALGselect1(bat *result, const bat *bid, ptr value); @@ -763,8 +757,6 @@ str ALGslice(bat *ret, const bat *bid, c str ALGslice_int(bat *ret, const bat *bid, const int *start, const int *end); str ALGslice_oid(bat *ret, const bat *bid, const oid *start, const oid *end); str ALGslice_wrd(bat *ret, const bat *bid, const wrd *start, const wrd *end); -str ALGssort(bat *result, const bat *bid); -str ALGssort_rev(bat *result, const bat *bid); str ALGstdev(dbl *res, const bat *bid); str ALGstdevp(dbl *res, const bat *bid); str ALGsubbandjoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat *slid, const bat *srid, const void *low, const void *high, const bit *li, const bit *hi, const lng *estimate); @@ -800,8 +792,6 @@ str ALGtinter(bat *result, const bat *li str ALGtmark(bat *result, const bat *bid, const oid *base); str ALGtmark_default(bat *result, const bat *bid); str ALGtmarkp(bat *result, const bat *bid, const int *nr_parts, const int *part_nr); -str ALGtsort(bat *result, const bat *bid); -str ALGtsort_rev(bat *result, const bat *bid); str ALGvariance(dbl *res, const bat *bid); str ALGvariancep(dbl *res, const bat *bid); str AUTHaddUser(oid *ret, Client c, str *user, str *pass); @@ -824,8 +814,6 @@ str BATPCREnotilike(bat *ret, const bat str BATPCREnotilike2(bat *ret, const bat *b, const str *pat); str BATPCREnotlike(bat *ret, const bat *b, const str *pat, const str *esc); str BATPCREnotlike2(bat *ret, const bat *b, const str *pat); -str BATXMLagg(bat *ret, const bat *bid, const bat *grp); -str BATXMLagg3(bat *ret, const bat *bid, const bat *grp, const bat *e); str BATXMLattribute(bat *ret, const char *const *name, const bat *bid); str BATXMLcomment(bat *ret, const bat *bid); str BATXMLconcat(bat *ret, const bat *bid, const bat *rid); @@ -884,7 +872,6 @@ str BKCpersists(void *r, const bat *bid, str BKCreuseBAT(bat *ret, const bat *bid, const bat *did); str BKCreuseBATmap(bat *ret, const bat *bid, const bat *did); str BKCreverse(bat *ret, const bat *bid); -str BKCrevert(bat *ret, const bat *bid); str BKCsave(bit *res, const char *const *input); str BKCsave2(void *r, const bat *bid); str BKCsetAccess(bat *res, const bat *bid, const char *const *param); diff --git a/clients/nodejs/monetdb/mapiclient.js b/clients/nodejs/monetdb/mapiclient.js --- a/clients/nodejs/monetdb/mapiclient.js +++ b/clients/nodejs/monetdb/mapiclient.js @@ -34,7 +34,7 @@ function MonetDBConnection(options, conn }); /* some setup */ this.request('Xreply_size -1', undefined, true); - this.request('Xauto_commit 1', undefined, true); + if (!options.autocommit) this.request('Xauto_commit 0', undefined, true); /* get server environment into connector */ this.request('SELECT * FROM env()', function(err, resp) { if (err) { @@ -497,7 +497,7 @@ function __get_connect_args(options) { __check_arg(options, 'language', 'string' , 'sql'); __check_arg(options, 'debug' , 'boolean' , false); __check_arg(options, 'q' , 'function', undefined); - + __check_arg(options, 'autocommit', 'boolean', true); return options; } diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Wed Sep 9 2015 Sjoerd Mullender <sjo...@acm.org> +- Removed function BATrevert. +- BATordered now works on the TAIL column. + * Tue Sep 8 2015 Sjoerd Mullender <sjo...@acm.org> - Removed obsolete functions BATorder() and BATorder_rev(). diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1595,12 +1595,6 @@ gdk_export gdk_return BATprintf(stream * /* * @- BAT clustering * @multitable @columnfractions 0.08 0.7 - * @item BAT * - * @tab BATsort (BAT *b) - * @item BAT * - * @tab BATsort_rev (BAT *b) - * @item BAT * - * @tab BATrevert (BAT *b) * @item int * @tab BATordered (BAT *b) * @end multitable @@ -1614,21 +1608,12 @@ gdk_export gdk_return BATprintf(stream * * clusterings will allow that MonetDB's main-memory oriented * algorithms work efficiently also in a disk-oriented context. * - * The BATsort functions return a copy of the input BAT, sorted in - * ascending order on the head column. BATordered starts a check on - * the head values to see if they are ordered. The result is returned - * and stored in the hsorted field of the BAT. The BATrevert puts all - * the live BUNs of a BAT in reverse order. It just reverses the - * sequence, so this does not necessarily mean that they are sorted in - * reverse order! + * BATordered starts a check on the tail values to see if they are + * ordered. The result is returned and stored in the tsorted field of + * the BAT. */ -gdk_export BAT *BATsort(BAT *b); -gdk_export BAT *BATsort_rev(BAT *b); -gdk_export gdk_return BATrevert(BAT *b); gdk_export int BATordered(BAT *b); gdk_export int BATordered_rev(BAT *b); -gdk_export BAT *BATssort(BAT *b); -gdk_export BAT *BATssort_rev(BAT *b); gdk_export gdk_return BATsubsort(BAT **sorted, BAT **order, BAT **groups, BAT *b, BAT *o, BAT *g, int reverse, int stable); @@ -3047,13 +3032,12 @@ gdk_export void ALIGNsetH(BAT *b1, BAT * /* * @- loop over a BAT with ordered tail - * Here we loop over a BAT with an ordered tail column (see for - * instance BATsort). Again, 'p' and 'q' are iteration variables, - * where 'p' points at the current BUN. 'tl' and 'th' are pointers to - * atom corresponding to the minimum (included) and maximum (included) - * bound in the selected range of BUNs. A nil-value means that there - * is no bound. The 's' finally is an integer denoting the bunsize, - * used for speed. + * Here we loop over a BAT with an ordered tail column. Again, 'p' and + * 'q' are iteration variables, where 'p' points at the current + * BUN. 'tl' and 'th' are pointers to atom corresponding to the + * minimum (included) and maximum (included) bound in the selected + * range of BUNs. A nil-value means that there is no bound. The 's' + * finally is an integer denoting the bunsize, used for speed. */ #define SORTloop(b, p, q, tl, th) \ if (!BATtordered(b)) \ @@ -3109,10 +3093,6 @@ gdk_export void BATsetprop(BAT *b, int i * Interpretation of a NULL argument depends on the position, i.e. a _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list