Clone
Hans Zeller <hans.zeller@hp.com>
committed
on 17 Dec 14
Log reading TMUDF, phase 3
blueprint cmp-tmudf-compile-time-interface

- Addressed review comments from phase 2. See
https://review.trafodShow more
Log reading TMUDF, phase 3

blueprint cmp-tmudf-compile-time-interface

- Addressed review comments from phase 2. See

 https://review.trafodion.org/#/c/824

- Added a "parse_status" column to the TMUDF, see

 updated syntax below

- Added versioning info to new DLL libudr_predef.so

- EVENT_LOG_READER TMUDF now should choose the correct

 degree of parallelism without the need for CQDs

- Brought back the REPLICATE PARTITION keyword, which

 is used in the TMUDF syntax. This should fix the failure

 in regression test udf/TEST108.

- Some remaining issues:

  - Newlines in the error message are not handled well,

    at best the additional lines are lost, at worst

    they will cause parse errors

  - log_file_node output column is always 0

  - Code is not yet integrated with changes to event

    logging

  - Not yet tested on clusters

Updated syntax for the log reader TMUDF:

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)

Returned columns:

log_ts        timestamp(6),

severity      char(10 bytes) character set utf8,

component     char(24 bytes) character set utf8,

node_number   integer,

cpu           integer,

pin           integer,

process_name  char(12 bytes) character set utf8,

sql_code      integer,

query_id      varchar(200 bytes) character set utf8,

message       varchar(4000 bytes) character set utf8

if option "f" was specified, we have four more columns:

log_file_node integer not null,

log_file_name varchar(200 bytes) character set utf8 not null,

log_file_line integer not null,

parse_status  char(2 bytes) character set utf8 not null

(log_file_node, log_file_name, log_file_line) form a unique key

in the result table. parse_status indicates whether there were

any errors reading the information:

'  ' (two blanks): no errors

'E'  (as first or second character): parse error

'T'  (as first or second character): truncation or over/underflow

                                     occurred

'C'  (as first or second character): character conversion error

Change-Id: Iee3fc8383d4125f0f9b6c6035aa90bb82ceee92e

Show less

default + 10 more