Language Reference and Standard Library Reference updates

Signed-off-by: Richard Taylor <richard.taylor@lexisnexis.com>
HPCC-8181 Add ecl packagemap validate to docs

Signed-off-by: JamesDeFabia <James.Defabia@LexisNexis.com>
HPCC-8181 Added more info on ecl packagemap validate from code review

Signed-off-by: JamesDeFabia <James.Defabia@LexisNexis.com>
HPCC-8297 Provide a callback mechanism when resizing a row

When using resizeRow to resize a buffer which is registered with the memory
manager, there needs to be a way of atomically updating the memory buffer
variables.  Otherwise you can get inconsistent results or deadlock the
system.

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-8459 Fix incorrect ESP log when file not deleted

When a logical file cannot be deleted and the queryDistribut
edFileSystem().remove() does not return error message, ESP log
shows "Deleted Logical File: ...". This fix checks the return
of the remove() and logs correct information.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8544 Remove deprecated syntax DATASET <expression>

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
HPCC-8541 - Add examples illustrating calling Python and Java from ECL

Fix some issues with the threading in the python example, and use #option
rather than command line flags to pick up required library.

This example should now work 'out of the box' on a standard linux install.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8541 - Add examples illustrating calling Python and Java from ECL

Improve the Java example so that it does not need complex command line options
to build, and can work 'out of the box' on a standard linux install.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8541 - Add examples illustrating calling Python and Java from ECL

Add a second Python example, and fix some code in the first example that was
not freeing Python objects (changed the code when debugging and forgot to
change back).

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8566 Fix XML Schema generation skips top level attributes

Attributes defined in the top level record structure were being
ignored by the schema generator.

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
Merge pull request #3834 from afishbeck/toplevel_record_attributes8566

HPCC-8566 Fix XML Schema generation skips top level attributes

Reviewed-by: Gavin Halliday <ghalliday@hpccsystems.com>
HPCC-8541 - Add examples illustrating calling JavaScript from ECL

Add an example using the V8 Javascript engine from ECL

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8541 - Add examples illustrating calling Python, Java, Javascript from ECL

Corrected to use rtlMalloc rather than new char.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8541 - Add examples illustrating calling Python, Java, Javascript from ECL

Add a JavaScript example that uses Mozilla SpiderMonkey.

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8545 Open Workunit not work for archived WU in ECLWatch

Access check is added recently when a user trys to retrieve ECL WU
information. The access check has to open the workunit. An exception
is thrown when failed to open workunit for archived WU. This fix
detects the exception and calls GetArchivedWUInfo() to retrieve the
WU info.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8541 - Add examples illustrating calling Python and Java from ECL

Various typos in comments

Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
HPCC-8495 openWorkUnit() should return NULL for a NULL or empty wuid

IWorkUnitFactory::openWorkUnit builds an xpath to open the given
workunit in dali. If a blank wuid is provided, it opens the root
workunits tree as a workunit. Attempting to open null or empty
wuid should fail. By this fix, the openWorkUnit() returns NULL
for a NULL or empty wuid.

Signed-off-by: Kevin Wang <kevin.wang@lexisnexis.com>
HPCC-8577 - Unecessarily slow thor start/stop times

The default frunssh behaviour is to limit concurrent threads to 10
This means the starting process needs to wait until some of the
start slave script complete, before beginning to start others.
There is no good reason the limit is 10 and in general it should
start all in parallel, via option to frunssh.

Signed-off-by: Jake Smith <jake.smith@lexisnexis.com>
HPCC-8485 result_lib.xslt not escaping some xml strings

When building preliminary node-set some data elements were not marked
for escaping of values.

Signed-off-by: Anthony Fishbeck <Anthony.Fishbeck@lexisnexis.com>
Merge pull request #3837 from wangkx/h8495

HPCC-8495 openWorkUnit() should return NULL for a NULL or empty wuid

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>