Changeset: 83e0a4aefe64 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=83e0a4aefe64 Added Files: monetdb5/modules/mal/Tests/pqueue2.stable.err monetdb5/modules/mal/Tests/pqueue2.stable.out monetdb5/modules/mal/Tests/pqueue3.stable.err monetdb5/modules/mal/Tests/pqueue3.stable.out Removed Files: sql/test/pg_regress/Tests/char.SQL.bat sql/test/pg_regress/Tests/char.SQL.sh sql/test/pg_regress/Tests/strings_cast.SQL.bat sql/test/pg_regress/Tests/strings_cast.SQL.sh sql/test/pg_regress/Tests/strings_concat.SQL.bat sql/test/pg_regress/Tests/strings_concat.SQL.sh sql/test/pg_regress/Tests/strings_like.SQL.bat sql/test/pg_regress/Tests/strings_like.SQL.sh sql/test/pg_regress/Tests/text.SQL.bat sql/test/pg_regress/Tests/text.SQL.sh sql/test/pg_regress/Tests/varchar.SQL.bat sql/test/pg_regress/Tests/varchar.SQL.sh Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures_gsl.stable.out clients/Tests/MAL-signatures_nocfitsio.stable.out clients/Tests/MAL-signatures_sphinxclient.stable.out clients/Tests/exports.stable.out gdk/gdk_atoms.c monetdb5/optimizer/Tests/inline08.stable.out sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions_gsl.stable.out sql/test/Tests/systemfunctions_nogeom.stable.out sql/test/pg_regress/Tests/char.stable.err sql/test/pg_regress/Tests/load.SQL.bat sql/test/pg_regress/Tests/load.SQL.sh sql/test/pg_regress/Tests/strings_cast.stable.err sql/test/pg_regress/Tests/strings_concat.stable.err sql/test/pg_regress/Tests/strings_like.stable.err sql/test/pg_regress/Tests/text.stable.err sql/test/pg_regress/Tests/varchar.stable.err Branch: default Log Message:
merged diffs (truncated from 753 to 300 lines): 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 @@ -2691,31 +2691,19 @@ command algebra.slice(b:bat[:any_1,:any_ address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_2,:void] -address ALGselectInclusiveHead; -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2):bat[:any_2,:void] -address ALGselectHead; -command algebra.select(b:bat[:any_2,:void],low:any_2):bat[:any_2,:void] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],value:any_1):bat[:any_1,:any_2] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1,li:bit,hi:bit):bat[:any_1,:any_2] -address ALGselectInclusiveHead; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1):bat[:any_1,:any_2] -address ALGselectHead; -command algebra.selectNotNil(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] +command algebra.selectNotNil(b:bat[:oid,:any_2]):bat[:oid,:any_2] address ALGselectNotNil; comment Select all not-nil values -command algebra.select(b:bat[:any_1,:any_2],value:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],value:any_2):bat[:oid,:any_2] address ALGselect1; comment Select all BUNs of a BAT with a certain tail value. Selection on NIL is also possible (it should be properly casted, e.g.:int(nil)). -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:oid,:any_2] address ALGselectInclusive; comment Select all BUNs that have tail values: {v| low <{=} v <{=} high}. Boundary inclusion is indicated separately. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2):bat[:oid,:any_2] address ALGselect; comment Select all BUNs that have tail values: {v| low <= v <= high}. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. NOTE 1: you should cast the nil to the appropriate type, e.g. int(nil) in order to circumvent type clashes. NOTE 2: as the 'nil' element has no clear place in the ordered domain of values, tuples with 'nil' values are NEVER returned by the range select. @@ -2759,10 +2747,6 @@ command algebra.topN(b:bat[:any_1,:any_2 address ALGtopN; comment Trim all but the top N tuples. -command algebra.thetaselect(b:bat[:any_1,:any_2],val:any_2,op:str):bat[:any_1,:any_2] -address ALGthetaselect; -comment The theta (<=,<,=,>,>=) select() - command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -39444,6 +39428,10 @@ command iterator.new(b:bat[:oid,:any_2], address ITRnewChunk; comment Create an iterator with fixed granule size. The result is a view. +command json.aggr(val:bat[:oid,:dbl]):str +address JSONgroupStr; +comment Aggregate the double values to array. + command json.aggr(val:bat[:oid,:str]):str address JSONgroupStr; comment Aggregate the string values to array. @@ -39550,10 +39538,18 @@ pattern json.renderarray(val:any...):jso address JSONrenderarray; pattern json.renderobject(val:any...):json address JSONrenderobject; +command json.subaggr(val:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1],s:bat[:oid,:oid],skip_nils:bit):bat[:oid,:str] +address JSONsubjsoncand; +comment Grouped aggregation of values with candidates list. + command json.subaggr(val:bat[:oid,:str],g:bat[:oid,:oid],e:bat[:oid,:any_1],s:bat[:oid,:oid],skip_nils:bit):bat[:oid,:str] address JSONsubjsoncand; comment Grouped aggregation of values with candidates list. +command json.subaggr(val:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1],skip_nils:bit):bat[:oid,:str] +address JSONsubjson; +comment Grouped aggregation of values. + command json.subaggr(val:bat[:oid,:str],g:bat[:oid,:oid],e:bat[:oid,:any_1],skip_nils:bit):bat[:oid,:str] address JSONsubjson; comment Grouped aggregation of values. diff --git a/clients/Tests/MAL-signatures_gsl.stable.out b/clients/Tests/MAL-signatures_gsl.stable.out --- a/clients/Tests/MAL-signatures_gsl.stable.out +++ b/clients/Tests/MAL-signatures_gsl.stable.out @@ -2691,31 +2691,19 @@ command algebra.slice(b:bat[:any_1,:any_ address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_2,:void] -address ALGselectInclusiveHead; -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2):bat[:any_2,:void] -address ALGselectHead; -command algebra.select(b:bat[:any_2,:void],low:any_2):bat[:any_2,:void] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],value:any_1):bat[:any_1,:any_2] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1,li:bit,hi:bit):bat[:any_1,:any_2] -address ALGselectInclusiveHead; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1):bat[:any_1,:any_2] -address ALGselectHead; -command algebra.selectNotNil(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] +command algebra.selectNotNil(b:bat[:oid,:any_2]):bat[:oid,:any_2] address ALGselectNotNil; comment Select all not-nil values -command algebra.select(b:bat[:any_1,:any_2],value:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],value:any_2):bat[:oid,:any_2] address ALGselect1; comment Select all BUNs of a BAT with a certain tail value. Selection on NIL is also possible (it should be properly casted, e.g.:int(nil)). -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:oid,:any_2] address ALGselectInclusive; comment Select all BUNs that have tail values: {v| low <{=} v <{=} high}. Boundary inclusion is indicated separately. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2):bat[:oid,:any_2] address ALGselect; comment Select all BUNs that have tail values: {v| low <= v <= high}. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. NOTE 1: you should cast the nil to the appropriate type, e.g. int(nil) in order to circumvent type clashes. NOTE 2: as the 'nil' element has no clear place in the ordered domain of values, tuples with 'nil' values are NEVER returned by the range select. @@ -2759,10 +2747,6 @@ command algebra.topN(b:bat[:any_1,:any_2 address ALGtopN; comment Trim all but the top N tuples. -command algebra.thetaselect(b:bat[:any_1,:any_2],val:any_2,op:str):bat[:any_1,:any_2] -address ALGthetaselect; -comment The theta (<=,<,=,>,>=) select() - command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -39460,6 +39444,10 @@ command iterator.new(b:bat[:oid,:any_2], address ITRnewChunk; comment Create an iterator with fixed granule size. The result is a view. +command json.aggr(val:bat[:oid,:dbl]):str +address JSONgroupStr; +comment Aggregate the double values to array. + command json.aggr(val:bat[:oid,:str]):str address JSONgroupStr; comment Aggregate the string values to array. @@ -39566,10 +39554,18 @@ pattern json.renderarray(val:any...):jso address JSONrenderarray; pattern json.renderobject(val:any...):json address JSONrenderobject; +command json.subaggr(val:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1],s:bat[:oid,:oid],skip_nils:bit):bat[:oid,:str] +address JSONsubjsoncand; +comment Grouped aggregation of values with candidates list. + command json.subaggr(val:bat[:oid,:str],g:bat[:oid,:oid],e:bat[:oid,:any_1],s:bat[:oid,:oid],skip_nils:bit):bat[:oid,:str] address JSONsubjsoncand; comment Grouped aggregation of values with candidates list. +command json.subaggr(val:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1],skip_nils:bit):bat[:oid,:str] +address JSONsubjson; +comment Grouped aggregation of values. + command json.subaggr(val:bat[:oid,:str],g:bat[:oid,:oid],e:bat[:oid,:any_1],skip_nils:bit):bat[:oid,:str] address JSONsubjson; comment Grouped aggregation of values. diff --git a/clients/Tests/MAL-signatures_nocfitsio.stable.out b/clients/Tests/MAL-signatures_nocfitsio.stable.out --- a/clients/Tests/MAL-signatures_nocfitsio.stable.out +++ b/clients/Tests/MAL-signatures_nocfitsio.stable.out @@ -2691,31 +2691,19 @@ command algebra.slice(b:bat[:any_1,:any_ address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_2,:void] -address ALGselectInclusiveHead; -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2):bat[:any_2,:void] -address ALGselectHead; -command algebra.select(b:bat[:any_2,:void],low:any_2):bat[:any_2,:void] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],value:any_1):bat[:any_1,:any_2] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1,li:bit,hi:bit):bat[:any_1,:any_2] -address ALGselectInclusiveHead; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1):bat[:any_1,:any_2] -address ALGselectHead; -command algebra.selectNotNil(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] +command algebra.selectNotNil(b:bat[:oid,:any_2]):bat[:oid,:any_2] address ALGselectNotNil; comment Select all not-nil values -command algebra.select(b:bat[:any_1,:any_2],value:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],value:any_2):bat[:oid,:any_2] address ALGselect1; comment Select all BUNs of a BAT with a certain tail value. Selection on NIL is also possible (it should be properly casted, e.g.:int(nil)). -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:oid,:any_2] address ALGselectInclusive; comment Select all BUNs that have tail values: {v| low <{=} v <{=} high}. Boundary inclusion is indicated separately. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2):bat[:oid,:any_2] address ALGselect; comment Select all BUNs that have tail values: {v| low <= v <= high}. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. NOTE 1: you should cast the nil to the appropriate type, e.g. int(nil) in order to circumvent type clashes. NOTE 2: as the 'nil' element has no clear place in the ordered domain of values, tuples with 'nil' values are NEVER returned by the range select. @@ -2759,10 +2747,6 @@ command algebra.topN(b:bat[:any_1,:any_2 address ALGtopN; comment Trim all but the top N tuples. -command algebra.thetaselect(b:bat[:any_1,:any_2],val:any_2,op:str):bat[:any_1,:any_2] -address ALGthetaselect; -comment The theta (<=,<,=,>,>=) select() - command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -39420,6 +39404,10 @@ command iterator.new(b:bat[:oid,:any_2], address ITRnewChunk; comment Create an iterator with fixed granule size. The result is a view. +command json.aggr(val:bat[:oid,:dbl]):str +address JSONgroupStr; +comment Aggregate the double values to array. + command json.aggr(val:bat[:oid,:str]):str address JSONgroupStr; comment Aggregate the string values to array. @@ -39526,10 +39514,18 @@ pattern json.renderarray(val:any...):jso address JSONrenderarray; pattern json.renderobject(val:any...):json address JSONrenderobject; +command json.subaggr(val:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1],s:bat[:oid,:oid],skip_nils:bit):bat[:oid,:str] +address JSONsubjsoncand; +comment Grouped aggregation of values with candidates list. + command json.subaggr(val:bat[:oid,:str],g:bat[:oid,:oid],e:bat[:oid,:any_1],s:bat[:oid,:oid],skip_nils:bit):bat[:oid,:str] address JSONsubjsoncand; comment Grouped aggregation of values with candidates list. +command json.subaggr(val:bat[:oid,:dbl],g:bat[:oid,:oid],e:bat[:oid,:any_1],skip_nils:bit):bat[:oid,:str] +address JSONsubjson; +comment Grouped aggregation of values. + command json.subaggr(val:bat[:oid,:str],g:bat[:oid,:oid],e:bat[:oid,:any_1],skip_nils:bit):bat[:oid,:str] address JSONsubjson; comment Grouped aggregation of values. diff --git a/clients/Tests/MAL-signatures_sphinxclient.stable.out b/clients/Tests/MAL-signatures_sphinxclient.stable.out --- a/clients/Tests/MAL-signatures_sphinxclient.stable.out +++ b/clients/Tests/MAL-signatures_sphinxclient.stable.out @@ -2691,31 +2691,19 @@ command algebra.slice(b:bat[:any_1,:any_ address ALGslice_oid; comment Return the slice based on head oid x till y (exclusive). -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_2,:void] -address ALGselectInclusiveHead; -command algebra.select(b:bat[:any_2,:void],low:any_2,high:any_2):bat[:any_2,:void] -address ALGselectHead; -command algebra.select(b:bat[:any_2,:void],low:any_2):bat[:any_2,:void] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],value:any_1):bat[:any_1,:any_2] -address ALGselect1Head; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1,li:bit,hi:bit):bat[:any_1,:any_2] -address ALGselectInclusiveHead; -command algebra.selectH(b:bat[:any_1,:any_2],low:any_1,high:any_1):bat[:any_1,:any_2] -address ALGselectHead; -command algebra.selectNotNil(b:bat[:any_1,:any_2]):bat[:any_1,:any_2] +command algebra.selectNotNil(b:bat[:oid,:any_2]):bat[:oid,:any_2] address ALGselectNotNil; comment Select all not-nil values -command algebra.select(b:bat[:any_1,:any_2],value:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],value:any_2):bat[:oid,:any_2] address ALGselect1; comment Select all BUNs of a BAT with a certain tail value. Selection on NIL is also possible (it should be properly casted, e.g.:int(nil)). -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2,li:bit,hi:bit):bat[:oid,:any_2] address ALGselectInclusive; comment Select all BUNs that have tail values: {v| low <{=} v <{=} high}. Boundary inclusion is indicated separately. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. -command algebra.select(b:bat[:any_1,:any_2],low:any_2,high:any_2):bat[:any_1,:any_2] +command algebra.select(b:bat[:oid,:any_2],low:any_2,high:any_2):bat[:oid,:any_2] address ALGselect; comment Select all BUNs that have tail values: {v| low <= v <= high}. NIL boundary values have a special meaning. + low == nil means: no lower bound + high == nil means: no upper bound. NOTE 1: you should cast the nil to the appropriate type, e.g. int(nil) in order to circumvent type clashes. NOTE 2: as the 'nil' element has no clear place in the ordered domain of values, tuples with 'nil' values are NEVER returned by the range select. @@ -2759,10 +2747,6 @@ command algebra.topN(b:bat[:any_1,:any_2 address ALGtopN; comment Trim all but the top N tuples. -command algebra.thetaselect(b:bat[:any_1,:any_2],val:any_2,op:str):bat[:any_1,:any_2] -address ALGthetaselect; -comment The theta (<=,<,=,>,>=) select() - command algebra.thetasubselect(b:bat[:oid,:any_1],s:bat[:oid,:oid],val:any_1,op:str):bat[:oid,:oid] address ALGthetasubselect2; comment Select all head values of the first input BAT for which the tail value obeys the relation value OP VAL and for which the head value occurs in the tail of the second input BAT. Input is a dense-headed BAT, output is a dense-headed BAT with in the tail the head value of the input BAT for which the relationship holds. The output BAT is sorted on the tail value. @@ -39444,6 +39428,10 @@ command iterator.new(b:bat[:oid,:any_2], address ITRnewChunk; comment Create an iterator with fixed granule size. The result is a view. +command json.aggr(val:bat[:oid,:dbl]):str +address JSONgroupStr; +comment Aggregate the double values to array. + command json.aggr(val:bat[:oid,:str]):str address JSONgroupStr; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list