Opened 7 years ago

Last modified 6 years ago

#768 new enhancement

Fix ACI parameter handling

Reported by: westram Owned by: devel
Priority: normal Milestone:
Component: Library (DB) Version: SVN
Keywords: Cc:

Description

Situation:

some ACI function automatically evaluate their parameters, namely

  • all binary operators (like minus, plus, …) and
  • the select command

The binary operator only evaluate if called in the flavor that uses 2 parameters!

Effects:

  • calling minus(7,2) does not work (error)
    • need to use minus("\"7\"","\"2\"")
  • calling hitidx|mult(100)|div(hitcount) does not work
    • there is now way to force evaluation of 'hitcount'

Possible solution:

  • never automatically evaluate parameters (grep code for EVALUATED_PARAM)
  • force evaluation using the prefixes |, : and /
    ⇒ evaluate rest of parameter using ACI, SRT or REG
    ⇒ use result as effective parameter
  • use \ before (unwanted) prefix character

Problem:

  • will break existing ACI-code :-/
    ⇒ fix ACI-code delivered with ARB

Attachments (1)

started.patch (3.1 KB) - added by westram 7 years ago.
started to document new behavior

Download all attachments as: .zip

Change History (2)

Changed 7 years ago by westram

started to document new behavior

comment:1 Changed 6 years ago by westram

probably related:

|command("/^.*\\(/\\(/")|command("/\\).*/\\)/")

applied to

 [EBI] 19-SEP-1990 (Rel. 25, Created)|28-AUG-1995 (Rel. 45, Last updated, Version 4) [RDP] 18-SEP-1990

results in

(/")|command("/).*/)Rel. 45, Last updated, Version 4) [RDP] 18-SEP-1990

The command gets inserted into data.

Note: See TracTickets for help on using tickets.