Changeset: 823eb11dc4ed for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=823eb11dc4ed Added Files: monetdb5/modules/atoms/Tests/strpad.mal monetdb5/modules/atoms/Tests/strpad.stable.err monetdb5/modules/atoms/Tests/strpad.stable.out monetdb5/modules/atoms/Tests/strtrim.mal monetdb5/modules/atoms/Tests/strtrim.stable.err monetdb5/modules/atoms/Tests/strtrim.stable.out sql/test/Tests/str-pad.sql sql/test/Tests/str-pad.stable.err sql/test/Tests/str-pad.stable.out sql/test/Tests/str-trim.sql sql/test/Tests/str-trim.stable.err sql/test/Tests/str-trim.stable.out 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/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.64bit.oid32 clients/Tests/SQL-dump_gsl.stable.out clients/Tests/SQL-dump_gsl.stable.out.oid32 clients/Tests/SQL-dump_nogeom.stable.out clients/Tests/exports.stable.out clients/mapiclient/mclient.c clients/mapiclient/tomograph.c clients/odbc/driver/SQLTables.c common/stream/stream.c gdk/gdk.h gdk/gdk_imprints.c gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_utils.c monetdb5/extras/sphinx/sphinx.c monetdb5/mal/mal_builder.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_function.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_profiler.h monetdb5/mal/mal_readline.c monetdb5/mal/mal_recycle.c monetdb5/mal/mal_resolve.c monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/str.h monetdb5/modules/atoms/str.mal monetdb5/modules/atoms/url.c monetdb5/modules/kernel/aggr.c monetdb5/modules/kernel/batstr.c monetdb5/modules/kernel/batstr.mal monetdb5/modules/mal/bbp.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/profiler.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/sysmon.c monetdb5/optimizer/opt_cluster.c monetdb5/optimizer/opt_dataflow.c monetdb5/optimizer/opt_macro.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_remoteQueries.c sql/ChangeLog sql/backends/monet5/sql.c sql/backends/monet5/sql_cast.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statistics.c sql/backends/monet5/vaults/fits.c sql/common/sql_types.c sql/server/rel_planner.c sql/server/rel_select.c sql/test/Tests/50ways.stable.err sql/test/Tests/coalesce.stable.err sql/test/Tests/create_in_schema.stable.err sql/test/Tests/decimal.stable.err sql/test/Tests/default.stable.err sql/test/Tests/function_syntax.stable.err sql/test/Tests/identifiers.stable.err sql/test/Tests/marcin2.stable.err sql/test/Tests/marcin3.stable.err sql/test/Tests/null.stable.err sql/test/Tests/orderby_non_selection_column.stable.out sql/test/Tests/procedure_syntax.stable.err sql/test/Tests/session_vars.stable.err sql/test/Tests/setoptimizer.stable.err sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1_gsl.stable.out sql/test/leaks/Tests/check1_nogeom.stable.out sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2_gsl.stable.out sql/test/leaks/Tests/check2_nogeom.stable.out sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3_gsl.stable.out sql/test/leaks/Tests/check3_nogeom.stable.out sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4_gsl.stable.out sql/test/leaks/Tests/check4_nogeom.stable.out sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5_gsl.stable.out sql/test/leaks/Tests/check5_nogeom.stable.out tools/merovingian/client/monetdb.c tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/peering.c Branch: newstorage Log Message:
merged with default diffs (truncated from 26804 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 @@ -3017,6 +3017,38 @@ command batstr.like(s:bat[:oid,:str],pat address BATPCRElike2; command batstr.like(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit] address BATPCRElike; +command batstr.lpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatLpad2_bat_bat; +comment Prepend the second strings to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.lpad(s:bat[:oid,:str],n:int,s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatLpad2_const_bat; +comment Prepend the second strings to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.lpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:str):bat[:oid,:str] +address STRbatLpad2_bat_const; +comment Prepend the second string to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.lpad(s:bat[:oid,:str],n:int,s2:str):bat[:oid,:str] +address STRbatLpad2_const_const; +comment Prepend the second string to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.lpad(s:bat[:oid,:str],n:bat[:oid,:int]):bat[:oid,:str] +address STRbatLpad_bat; +comment Prepend whitespaces to the strings to reach the given lengths. Truncate the strings on the right if their lengths is larger than the given lengths. + +command batstr.lpad(s:bat[:oid,:str],n:int):bat[:oid,:str] +address STRbatLpad_const; +comment Prepend whitespaces to the strings to reach the given length. Truncate the strings on the right if their lengths is larger than the given length. + +command batstr.ltrim(s:bat[:oid,:str],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatLtrim2_bat; +comment Strip characters in the second strings from start of the first strings. + +command batstr.ltrim(s:bat[:oid,:str],s2:str):bat[:oid,:str] +address STRbatLtrim2_const; +comment Strip characters in the second string from start of the first strings. + command batstr.ltrim(s:bat[:oid,:str]):bat[:oid,:str] address STRbatLtrim; comment Strip whitespaces from start of a string. @@ -3045,6 +3077,38 @@ command batstr.r_search(s:bat[:oid,:str] address STRbatRstrSearch; comment Reverse search for a substring. Returns position, -1 if not found. +command batstr.rpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatRpad2_bat_bat; +comment Append the second strings to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.rpad(s:bat[:oid,:str],n:int,s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatRpad2_const_bat; +comment Append the second strings to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.rpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:str):bat[:oid,:str] +address STRbatRpad2_bat_const; +comment Append the second string to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.rpad(s:bat[:oid,:str],n:int,s2:str):bat[:oid,:str] +address STRbatRpad2_const_const; +comment Append the second string to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.rpad(s:bat[:oid,:str],n:bat[:oid,:int]):bat[:oid,:str] +address STRbatRpad_bat; +comment Append whitespaces to the strings to reach the given lengths. Truncate the strings on the right if their lengths is larger than the given lengths. + +command batstr.rpad(s:bat[:oid,:str],n:int):bat[:oid,:str] +address STRbatRpad_const; +comment Append whitespaces to the strings to reach the given length. Truncate the strings on the right if their lengths is larger than the given length. + +command batstr.rtrim(s:bat[:oid,:str],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatRtrim2_bat; +comment Strip characters in the second strings from end of the first strings. + +command batstr.rtrim(s:bat[:oid,:str],s2:str):bat[:oid,:str] +address STRbatRtrim2_const; +comment Strip characters in the second string from end of the first strings. + command batstr.rtrim(s:bat[:oid,:str]):bat[:oid,:str] address STRbatRtrim; comment Strip whitespaces from end of a string. @@ -3089,6 +3153,14 @@ command batstr.stringlength(s:bat[:oid,: address STRbatstringLength; comment Return the length of a right trimed string. +command batstr.trim(s:bat[:oid,:str],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatStrip2_bat; +comment Strip characters in the second strings around the first strings. + +command batstr.trim(s:bat[:oid,:str],s2:str):bat[:oid,:str] +address STRbatStrip2_const; +comment Strip characters in the second string around the first strings. + command batstr.trim(s:bat[:oid,:str]):bat[:oid,:str] address STRbatStrip; comment Strip whitespaces around a string. @@ -41018,21 +41090,37 @@ command pcre.select(pat:str,strs:bat[:oi address PCREselectDef; comment Select tuples based on the pattern -pattern pqueue.topn_max(a:bat[:oid,:oid],b:bat[:oid,:any_1],n:wrd,elim:bit):bat[:oid,:oid] +pattern pqueue.topn_max(g:bat[:oid,:oid],b:bat[:oid,:any_1],n:wrd) (piv:bat[:oid,:oid],gid:bat[:oid,:oid]) +address PQtopn4_minmax; +comment Return unique top n withn groups + +pattern pqueue.topn_min(g:bat[:oid,:oid],b:bat[:oid,:any_1],n:wrd) (piv:bat[:oid,:oid],gid:bat[:oid,:oid]) +address PQtopn4_minmax; +comment Return unique top n within groups + +pattern pqueue.topn_max(gid:bat[:oid,:oid],b:bat[:oid,:any_1],n:wrd):bat[:oid,:oid] +address PQtopn3_minmax; +comment Return the top n elements using a max-pqueue + +pattern pqueue.topn_min(gid:bat[:oid,:oid],b:bat[:oid,:any_1],n:wrd):bat[:oid,:oid] +address PQtopn3_minmax; +comment Return the top n elements using a min-pqueue + +pattern pqueue.topn_max(b:bat[:oid,:any_1],n:wrd) (piv:bat[:oid,:oid],gid:bat[:oid,:oid]) address PQtopn2_minmax; -comment Return the top n elements using a max-pqueue with/without duplicate elimination - -pattern pqueue.topn_min(a:bat[:oid,:oid],b:bat[:oid,:any_1],n:wrd,elim:bit):bat[:oid,:oid] +comment Return unique top n withn groups + +pattern pqueue.topn_min(b:bat[:oid,:any_1],n:wrd) (piv:bat[:oid,:oid],gid:bat[:oid,:oid]) address PQtopn2_minmax; -comment Return the top n elements using a min-pqueue with/without duplicate elimination - -pattern pqueue.topn_max(a:bat[:oid,:any_1],n:wrd,elim:bit):bat[:oid,:oid] +comment Return unique top n within groups + +pattern pqueue.topn_max(a:bat[:oid,:any_1],n:wrd):bat[:oid,:oid] address PQtopn_minmax; -comment Return the top n elements using a max-pqueue with/without duplicate elimination - -pattern pqueue.topn_min(a:bat[:oid,:any_1],n:wrd,elim:bit):bat[:oid,:oid] +comment Return the top n elements using a max-pqueue + +pattern pqueue.topn_min(a:bat[:oid,:any_1],n:wrd):bat[:oid,:oid] address PQtopn_minmax; -comment Return the top n elements using a min-pqueue with/without duplicate elimination +comment Return the top n elements using a min-pqueue command pqueue.topn_max(a:bat[:oid,:oid],t:bat[:void,:any_1],n:wrd):bat[:oid,:oid] address PQtopn2_anymax; @@ -41090,10 +41178,6 @@ command pqueue.topn_min(t:bat[:oid,:bte] address PQtopn_btemin; comment Return the topn elements of the bat t using a min-pqueue -pattern pqueue.utopn_min(b:bat[:oid,:any_1],n:wrd,elim:bit) (bp:bat[:oid,:oid],bg:bat[:oid,:any_1]) -address PQutopn_minmax; -comment to be defined - command pqueue.utopn_max(a:bat[:oid,:oid],t:bat[:void,:any_1],n:wrd):bat[:oid,:oid] address PQutopn2_anymax; comment Return the unique topn elements of the bat t using a max-pqueue @@ -42115,6 +42199,18 @@ command str.like(s:str,pat:str):bit address STRlikewrap2; comment SQL pattern match function +command str.lpad(s:str,len:int,s2:str):str +address STRLpad2; +comment Fill up the first string to the given length prepending characters of the second string. + +command str.lpad(s:str,len:int):str +address STRLpad; +comment Fill up a string to the given length prepending the whitespace character. + +command str.ltrim(s:str,s2:str):str +address STRLtrim2; +comment Remove the longest string containing only characters from the second string from the start of the first string. + command str.ltrim(s:str):str address STRLtrim; comment Strip whitespaces from start of a string. @@ -42147,6 +42243,18 @@ command str.replace(s:str,pat:str,s2:str address STRreplace; comment Insert a string into another +command str.rpad(s:str,len:int,s2:str):str +address STRRpad2; +comment Fill up the first string to the given length appending characters of the second string. + +command str.rpad(s:str,len:int):str +address STRRpad; +comment Fill up a string to the given length appending the whitespace character. + +command str.rtrim(s:str,s2:str):str +address STRRtrim2; +comment Remove the longest string containing only characters from the second string from the end of the first string. + command str.rtrim(s:str):str address STRRtrim; comment Strip whitespaces from end of a string. @@ -42201,6 +42309,10 @@ command str.str(s:str):str address STRtostr; comment Noop routine. +command str.trim(s:str,s2:str):str +address STRStrip2; +comment Remove the longest string containing only characters from the second string around the first string. + command str.trim(s:str):str address STRStrip; comment Strip whitespaces around a string. 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 @@ -3029,6 +3029,38 @@ command batstr.like(s:bat[:oid,:str],pat address BATPCRElike2; command batstr.like(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit] address BATPCRElike; +command batstr.lpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatLpad2_bat_bat; +comment Prepend the second strings to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.lpad(s:bat[:oid,:str],n:int,s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatLpad2_const_bat; +comment Prepend the second strings to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.lpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:str):bat[:oid,:str] +address STRbatLpad2_bat_const; +comment Prepend the second string to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.lpad(s:bat[:oid,:str],n:int,s2:str):bat[:oid,:str] +address STRbatLpad2_const_const; +comment Prepend the second string to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.lpad(s:bat[:oid,:str],n:bat[:oid,:int]):bat[:oid,:str] +address STRbatLpad_bat; +comment Prepend whitespaces to the strings to reach the given lengths. Truncate the strings on the right if their lengths is larger than the given lengths. + +command batstr.lpad(s:bat[:oid,:str],n:int):bat[:oid,:str] +address STRbatLpad_const; +comment Prepend whitespaces to the strings to reach the given length. Truncate the strings on the right if their lengths is larger than the given length. + +command batstr.ltrim(s:bat[:oid,:str],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatLtrim2_bat; +comment Strip characters in the second strings from start of the first strings. + +command batstr.ltrim(s:bat[:oid,:str],s2:str):bat[:oid,:str] +address STRbatLtrim2_const; +comment Strip characters in the second string from start of the first strings. + command batstr.ltrim(s:bat[:oid,:str]):bat[:oid,:str] address STRbatLtrim; comment Strip whitespaces from start of a string. @@ -3057,6 +3089,38 @@ command batstr.r_search(s:bat[:oid,:str] address STRbatRstrSearch; comment Reverse search for a substring. Returns position, -1 if not found. +command batstr.rpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatRpad2_bat_bat; +comment Append the second strings to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.rpad(s:bat[:oid,:str],n:int,s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatRpad2_const_bat; +comment Append the second strings to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.rpad(s:bat[:oid,:str],n:bat[:oid,:int],s2:str):bat[:oid,:str] +address STRbatRpad2_bat_const; +comment Append the second string to the first strings to reach the given lengths. Truncate the first strings on the right if their lengths is larger than the given lengths. + +command batstr.rpad(s:bat[:oid,:str],n:int,s2:str):bat[:oid,:str] +address STRbatRpad2_const_const; +comment Append the second string to the first strings to reach the given length. Truncate the first strings on the right if their lengths is larger than the given length. + +command batstr.rpad(s:bat[:oid,:str],n:bat[:oid,:int]):bat[:oid,:str] +address STRbatRpad_bat; +comment Append whitespaces to the strings to reach the given lengths. Truncate the strings on the right if their lengths is larger than the given lengths. + +command batstr.rpad(s:bat[:oid,:str],n:int):bat[:oid,:str] +address STRbatRpad_const; +comment Append whitespaces to the strings to reach the given length. Truncate the strings on the right if their lengths is larger than the given length. + +command batstr.rtrim(s:bat[:oid,:str],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatRtrim2_bat; +comment Strip characters in the second strings from end of the first strings. + +command batstr.rtrim(s:bat[:oid,:str],s2:str):bat[:oid,:str] +address STRbatRtrim2_const; +comment Strip characters in the second string from end of the first strings. + command batstr.rtrim(s:bat[:oid,:str]):bat[:oid,:str] address STRbatRtrim; comment Strip whitespaces from end of a string. @@ -3101,6 +3165,14 @@ command batstr.stringlength(s:bat[:oid,: address STRbatstringLength; comment Return the length of a right trimed string. +command batstr.trim(s:bat[:oid,:str],s2:bat[:oid,:str]):bat[:oid,:str] +address STRbatStrip2_bat; +comment Strip characters in the second strings around the first strings. + +command batstr.trim(s:bat[:oid,:str],s2:str):bat[:oid,:str] +address STRbatStrip2_const; +comment Strip characters in the second string around the first strings. + command batstr.trim(s:bat[:oid,:str]):bat[:oid,:str] address STRbatStrip; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list