HPCC-10930 Better support in regression suite for targeting specific queries

Implement
    - a handler to query a list of ECL files (with wildcards) in command line
    - a handler to execute multiple query like run a suite to generate
      final result and diff report
    - handler to use parallel execution for multiple ECL query files

Update README.rst and built-in help text.

Signed-off-by: Attila Vamos <attila.vamos@gmail.com>
HPCC-8686 - Allow global join merge stream to spill

Global join used to merge partitioned side to disk, change to
merge to memory and conditional spill on demand.
Also refactor global join code to remove duplicated code shared
between rightPartition/leftPartition implementations.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-3022 - Allow buildindex not to require maxlength if >4k

For legacy backward compatibility reasons, we have forced the max
key size (key+payload) to default to the max record size, which
in legacy systems used to be 4K. This can been overridden
with ,MAXLENGTH on the record structure.
However, this imposes a unnecessary restriction in the current
system, which has no default max record length and therefore
doesn't need to use a 'max' in the key header at all.

Fix by removing the max length check in the key builder, but for
continued backward compatibility, track the largest key+payload
and store it in the header. If the max is < old default legacy(4k)
set header max to 4K.
This will mean any key built on a new system with this
compatibility option on, will create a compatible key for legacy
system as long as the key+payload <= 4k.
If it is higher, it will issue a warning. Legacy systems can still
use the key, but they will need to specify MAXLENGTH.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-8686 - minor change following review
HPCC-10854 Roxie does not retry file resolution once query fails to load

If a query fails to load (because of missing files, the query will stay
suspended until either Roxie is restarted or the query is deleted and
republished.

Add an option to always retry loading queries if they failed to load
correctly (defaults true, but can be disabled in case it causes
performance issues on clusters where there are a lot of suspended
queries).

Also add an option to control:reload to foce retrying of failed queries

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-11044 Call a library function to copy link counted rows

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-8686 - Add left/right partition test

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10930 Better support in regression suite for targeting specific queries

Update after review

Signed-off-by: Attila Vamos <attila.vamos@gmail.com>
HPCC-11045 Add options for ECL Watch Build

Allow SKIP, SOURCES and IF_MISSING (only build if missing)

Fixes HPCC-11045

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
HPCC-9065 Restructure code while investigating optimization

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-11059 - Pass subscription exception back to client

Invalid subscriptions failed silently.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10979 Fix custom tributton control handling of tab and spacebar

Allow tributton to recieve focus, and move on to next tabindex when tab
key is pressed.  Rotate tributton state when spacebar is pressed.

Signed-off-by: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
HPCC-11053 - Fix regression if keyedjoin fetch file is missing

If using ,OPT on the dataset of an index, there was a
serialization error. Regression introduced by HPCC-10664

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10609 Support archived workunits

Added the ability to find, open and restore archived workunits.

Fixes HPCC-10609

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
HPCC-11065 Graph Depth/Distance unresponsive

Change Spin Controls to fire event on every button click.  Previously event was
only fired when user tabbed away from control.

Fixes HPCC-11065

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
HPCC-11066 Ensure graph overview is not blank

Older graph controls can display a blank graph at level 1 (mostly for simple
graphs).

Fixes HPCC-11066

Signed-off-by: Gordon Smith <gordon.smith@lexisnexis.com>
HPCC-10579 Improve many lookup join implementation in roxie

Similar concept to the thor improvements in HPCC-9244, which can dramatically
improve performance on pathogenic cases that have many dups on RHS.

Should not slow down other cases (though may increase memory usage a little).

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-11077 - Avoid RHS sort if isRightAlreadySorted

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-10992 Improve cli password and INI file support

Prompt cli user for password if username is initially provided,
but password is not.

Look for INI file in users home directory.

Password can be set in INI file as eclPassword=xxxx.

Signed-off-by: Anthony Fishbeck <anthony.fishbeck@lexisnexis.com>
HPCC-11073 Move the sq regression tests to the new regression suite

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>