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 togethercount
. This has deprecated len
however len
will stick around as an alias for backwards compatibilitylet
: +=
, -=
, /=
, *=
addheading
for adding headings to listslen
get set and thus Murex can still move forward with changes to builtins but without breaking backwards compatibilityautocomplete
now passes ISMETHOD
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)[
, now supports inlining element, [[
, lookups. eg [ a b [/map/c] ]
@IncFiles
or @IncDirs
will now automatically append files and/or directories to their auto-completion suggestionsautocomplete
directives: IncExeAll
(like IncExePath
but includes builtins, functions, aliases), IncManPage
(include results from the man
page parser – usually suppressed when autocomplete
config is set)murex -c 'command'
or when called in a shebang), it’s also now ugly tooselect
now supports passing a file in the FROM syntax. eg select * FROM ./example.csv
. The caveat here is this breaks currently auto-complete on column namesselect
now supports multiple tables using either named pipes (eg select * FROM <table1>, <table2>
) or variables (eg select * 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 for select
to define default output data type where multiple tables are importedNon-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 return err
. 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 easierBug fixes:
prepend
was invoking append
streams.ReadCloser
not setting contextparameters.StringArray()
should copy values instead of a pointer to ensure the underlying parameters are immutablePublished: 12.02.2022 at 16:16
<>
/ read-named-pipe
: Reads from a Murex named pipealter
: Change a value within a structured data-type and pass that change along the pipeline without altering the original source inputautocomplete
: Set definitions for tab-completion in the command lineconfig
: Query or define Murex runtime settingscount
: Count items in a map, list or arraylet
: Evaluate a mathematical function and assign to variable (deprecated)pipe
: Manage Murex named pipesselect
: Inlining SQL into shell pipelinesset
: Define a local variable and set it’s valueThis site's content is rebuilt automatically from murex's source code after each merge to the master
branch. Downloadable murex binaries are also built with the website.
Last built on Fri May 19 22:45:48 UTC 2023 against commit 54b5f6754b5f67b250bbf7353e83c42ed187802584c3ae3.
Current version is 4.1.6140 which has been verified against 14045 tests cases.