Phase 2 for log reader TMUDF blueprint cmp-tmudf-compile-time-interface
Log reader TMUDF is mostly working now. Still need to set cqd NUM_PARALLEL_ESPS '<num of nodes>' on clusters. Still needs more work and more testing. Still seeing some issues with non-ASCII characters.
// SQL Syntax to invoke this function: // // select * from udf(event_log_reader( [options] )); // // The optional [options] argument is a character constant. The // following options are supported: // f: add file name output columns (see below) // t: turn on tracing // d: loop in the runtime code, to be able to attach a debugger // (debug build only) // p: force parallel execution on workstation environment with // virtual nodes (debug build only)
More detailed explanation of changes:
- PredefUdrReadfile.cpp: Work on event log reader TMUDF
- sqludr.*: New method to add formal parameters, allows TMUDF to accept optional parameters.
Made some changes for TMUDFs with arity 0 to avoid asserts and to be able to call okToAttemptESPParallelism in method RelExpr::synthPhysicalProperty(). This is needed for leaf operators (arity 0) that want to initiate parallel execution and TMUDFs seem to be first in that situation. Changed TableMappingUDF::synthPhysicalProperty to generate a partitioning function with multiple partitions (and no partitioning key, so far) if required.