Community Edition 3.8.4 Release Candidate 1

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
Merge remote-tracking branch 'origin/candidate-3.8.x' into candidate-3.8.4

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
gh-3216 Add more info to int/string in IR

Signed-off-by: Renato Golin <rengolin@hpccsystems.com>
gh-3199 Add --no-activate option to ecl publish and change default

Default will now be to activate published queries.  --no-activate
or -A- can be used to turn off activation.

Fixes gh-3199.

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
Merge pull request #3258 from rengolin/ir

gh-3216 Add more info to int/string in IR

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
gh-3281 Fix for exception thrown in helper

Helper is releasing the string returned from agent context getPlatform(),
causing an exception. This fix returns a strcpy of that string (and caches
in case getPlatform is called again later) so the caller can take ownership
and later release it.

Signed-off-by: William Whitehead <william.whitehead@lexisnexis.com>
gh-3280 Fix problems projecting nested records

The transform for the no_createrow to remove fields from a nested record field
was incorrectly adding a <new> qualifier to no_selects.  When it was later
optimized this caused problems since they weren't spotted as selectors from the
active dataset.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #3282 from RussWhitehead/getPlat2

gh-3281 Fix for exception thrown in helper

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
gh-3199 Added new actions and options to Client Tools manuals.

Updated the documentation for
  - roxie attach
  - roxie detach
  - roxie check
  - roxie reload
  - noreload
  - no-activate

Signed-off-by: JamesDeFabia <James.Defabia@LexisNexis.com>
Merge branch 'Add_New_ECL_CLI_Actions_to_docs' into JamesDeFabia-Add_New_ECL_CLI_Actions_to_docs

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
gh-3274 Add proxies for EE-only plugins to CE builds

In order for users of EE to be able to do local syntax-checks / archive
creation on systems with CE client tools installed (and in order to remove
the need for multiple versions of the client tools packages), provide 'proxy'
plugins for the EE-only plugins and include them in CE builds.

Fixes gh-3274.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
gh-3280 Update license to match latest version

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Merge pull request #3283 from ghalliday/issue3280

gh-3280 Fix problems projecting nested records

Reviewed-By: Renato Golin <rengolin@hpccsystems.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
gh-3294 Implementation of CHOOSE(expr, ds, ds, ds)

* The internal representation is better than case/map for processing.

* Provide a syntax for the ECL user for consitency with expressions.

* Translate CASE() dataset operator into no_chooseds - produces better
  code.

* Easier to translate conditional guards into this form (and can be used
  for more types of conditions)

- Fix a pre-existing bug on converting a CASE to an IF where the types of the
  arguments weren't set correctly.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
gh-2704 Setup and copy files to roxie when copying/publishing queries

Add support in ESP for cloning DFU file information when publishing
or copying queries.  When copying a remote query include information
about the remote source so that roxie will know where to find files
located on a remote DALI environment.

Add support to roxie for using the remote DALI information to copy
files from another DALI environment when necessary.

Add ecl-queries command line options for optionally setting file
information overwrite or not setting up the file information at all.

Previously Roxie would copy files if they were already in
the local environment, but DFU/DALI would not be aware of the new
copies.  Roxie was also not able to copy files for queries copied
from a remote environment.

Fixes gh-2704

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
gh-2122 Add ability to pause DFU queue

Operations is requesting the ability to pause the DFU queue. The
existing code can pause the queue. But, it still shows that the
queue is running. The existing C++ code sends the queue status
using the first workunit inside the queue. If the queue does not
have a workunit, the UI code cannot know the status. The new code
creates a ServerJobQueue object and uses it to pass the queue
status to xslt.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Merge pull request #3301 from wangkx/gh2122

gh-2122 Add ability to pause DFU queue

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
gh-3281 getPlatform() should not cache

The eclagent::getPlatform() method should not cache the selected platform since
it might change. This fix removes the cached entry.

Signed-off-by: William Whitehead <william.whitehead@lexisnexis.com>
gh-2636 Refactor Preflight code to avoid multiple SSH calls to same node

The exsiting Preflight code has to run two ssh commands for each process, which
is not efficient if multiple processes are running in the same node. This fix
modifies the preflight script and web service to do one ssh command for each
node.

1. analyze preflight request and group processes based on machine node;
2. create a new SSH command for multiple processes;
3. run new preflight script;
4. build preflight response based on the results.

This fix also cleaned the process filters.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
Manually merge pull request #3271 into candidate-3.10.x

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>