v2.5
v2.5
This release introduces a number of new builtins, fixes some regression bugs and supercharges the select
optional builtin (which I plan to include into the core builtins for non-Windows users in the next release).
Features:
alter
now supports--sum
where structures are merged and numeric values are added togetherNew builtin
count
. This has deprecatedlen
howeverlen
will stick around as an alias for backwards compatibilityNew operators added to
let
:+=
,-=
,/=
,*=
New builtin
addheading
for adding headings to listsCompiled profile will now always execute even if Murex flags set to ignore the modules/user profile. This is so that aliases like
len
get set and thus Murex can still move forward with changes to builtins but without breaking backwards compatibilityautocomplete
now passesISMETHOD
variable to dynamic completions so those dynamic completions are aware if a command requesting auto-completion suggestions is being invoked as a method (mid-pipeline) or function (start of a pipeline)Index,
[
, now supports inlining element,[[
, lookups. eg[ a b [/map/c] ]
Dynamic auto-completions that include
@IncFiles
or@IncDirs
will now automatically append files and/or directories to their auto-completion suggestionsNew
autocomplete
directives:IncExeAll
(likeIncExePath
but includes builtins, functions, aliases),IncManPage
(include results from theman
page parser -- usually suppressed whenautocomplete
config is set)Disabled 'Loading default profile' message -- this was always pretty redundant but now that the compiled profile is being loaded all the time (eg
murex -c 'command'
or when called in a shebang), it's also now ugly tooselect
now supports passing a file in the FROM syntax. egselect * FROM ./example.csv
. The caveat here is this breaks currently auto-complete on column namesselect
now supports multiple tables using either named pipes (egselect * FROM <table1>, <table2>
) or variables (egselect * FROM \$table1, \$table2
) passed in the FROM syntax. Variables should be escaped and you cannot mix and match between named pipes, file names nor variables. You can use any number of tables from 1 to 2^63-1 (64bit systems) or 1 to 2^31-1 (32bit systems). Which should be more than enough 😉config
option forselect
to define default output data type where multiple tables are importedLots of new and updated documentation!
Non-user facing changes (internal changes to the Murex code base):
open
functions can now be called by other functions to take advantage of auto-typing and auto gunzip etc.tmp.Close()
should returnerr
. This isn't a bug but it might catch future bugsLazyLogging
created to speed up writing tests against data structuresutils/List
package created to handle list / array / map functions. Also makes testing more complex routines easier
Bug fixes:
Regression bug fixed where
prepend
was invokingappend
streams.ReadCloser
not setting contextparameters.StringArray()
should copy values instead of a pointer to ensure the underlying parameters are immutable
Published: 12.02.2022 at 16:16
See Also
- Alter Data Structure (
alter
/~>
): Change a value within a structured data-type and pass that change along the pipeline without altering the original source input - Count (
count
): Count items in a map, list or array - Create Named Pipe (
pipe
): Manage Murex named pipes - Define Variable (
set
): Define a variable (typically local) and set it's value - Inline SQL (
select
): Inlining SQL into shell pipelines - Pipeline: Overview of what a "pipeline" is
- Read / Write To A Named Pipe (
<pipe>
): Reads from a Murex named pipe - Shell Configuration And Settings (
config
): Query or define Murex runtime settings - Tab Autocompletion (
autocomplete
): Set definitions for tab-completion in the command line let
: Evaluate a mathematical function and assign to variable (deprecated)
This document was generated from gen/changelog/v2.5_doc.yaml.