Hi,

I noticed that it's possible to use eval(<field>) instead of 
eval(<expression>) to evaluate an expression stored in <field> value. 
Although this is not mentioned in documentation, this feature is extremely 
useful in my case.

However, after running a small test case (bellow), I noticed that when 
having multiple records, the behavior is a bit odd. The expression appears 
to be only parsed once from whichever record comes first, and then 
evaluated for all records.

Is this a potential defect, or a performance decision? Are there any plans 
to support a more dynamic eval() with expressions in fields?

I am using latest OrientDB 2.1.10 GA Community Edition

Thanks.

========
Test Case:
========
orientdb {db=ylg-test1}> INFO CLASS TestClass1

CLASS 'TestClass1'

Super classes........: [V]
Default cluster......: testclass1 (id=30)
Supported clusters...: testclass1(30)
Cluster selection....: round-robin
Oversize.............: 0.0

PROPERTIES
-------------------------------+------------------+-------------------------------------+---------------------+------------------+----------------+-------------+-----------+----------------+
 NAME                     | TYPE          | LINKED TYPE/CLASS    | 
MANDATORY | READONLY | NOT NULL |    MIN    |  MAX    | COLLATE  |
-------------------------------+------------------+-------------------------------------+---------------------+------------------+----------------+-------------+-----------+----------------+
 b                             | STRING      | 
null                                | false               | false           
| false          |              |             | default      |
 a                             | STRING      | 
null                                | false               | false           
| false          |              |             | default      |
-------------------------------+------------------+------------------------------------+----------------------+------------------+----------------+-------------+-----------+----------------+

orientdb {db=ylg-test1}> SELECT a, b, eval(b) FROM TestClass1

----+-------------+----+--------------+----
#   |@CLASS|a   |b              |eval
----+-------------+----+--------------+----
0   |null         |5   |a + 3        |8
1   |null         |7   |3 + 2 + a  |10  <------- expected: 12
2   |null         |7   |3              |10 <------- expected: 3
----+-------------+----+--------------+----

3 item(s) found. Query executed in 0.01 sec(s).

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to