Archives of the TeradataForum
Message Posted: Mon, 23 Feb 2004 @ 23:38:40 GMT
| Subj: || || Re: Message "3705 Request executed in interpretive EVL mode" |
| From: || || Christie, Jon |
| ||1) "Interpretive EVL code" and "executable EVL code" and the difference between them.|| |
Way back in version 1 the only way to run EVL code was interpretive mode. That is, by executing pseudo instructions (virtual op-codes) on a
stack-based virtual machine. In version two we compiled the pseudo code into machine code. This runs faster, but it makes the steps larger and
if it gets too large we fall back to interpretive mode which doesn't included the complied code in the amp step and therefore tables less
By the way, you're probably asking, "What is EVL code?" about now. It's code the goes in the amp steps. The amps jump to this code when they
have to do one of two things. The first is compare two rows. The second is build a row.
| ||2) What does "parser tree segments", "Plastic Step segment", "concrete step segment" signify?|| |
These are all segements gotten to store various things. Parser tree segments store tree nodes used in the syntaxer, resolver, and optimizer
phases of the parser. Plastic steps are used in the final stage of the parser, the gen phase. This phase is dedicated to the job of transforming
the "white tree" (output of the optimizer) into steps. The first kind of step is the plastic step. Plastic steps are missing using data and
"real" spool numbers. They are the kind of steps we store in the steps cache. The second kind of step is the concrete step which is the kind of
step that gets sent to the dispatcher which coordinates their execution on the amps. Concrete steps have using data and real spool numbers.