diff --git a/com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.R b/com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.R new file mode 100644 index 0000000000000000000000000000000000000000..cb26c8cc160edc1aef08c202d310dce05aa1a6c5 --- /dev/null +++ b/com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.R @@ -0,0 +1,16 @@ +emp = new.tableRef("emp", "PostgreSQL", "postgre.config", "public") +minsalary = 2500.0 +q = query.select(function (x) { + res = new.env() + res$empno = x$empno + res$ename = x$ename + res$salary = (function (dol, dept){ + a = dol * 89.0 / 100.0 + while (a > 500.0 * dept) a = a * 89.0 / 100.0 + a + })(x$sal, x$deptno) + res }, + query.where(function (x) x$sal >= minsalary, + query.from(emp))) +results = query.force(q) +print(results) diff --git a/com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.out b/com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.out new file mode 100644 index 0000000000000000000000000000000000000000..62a719451bb16a770585bf4db6c147d5384d7a55 --- /dev/null +++ b/com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.out @@ -0,0 +1,7 @@ + ename empno salary +1 SMITH 1 984.1472014255202 +2 WARD 3 908.9094161734163 +3 JONES 4 971.310575818447 +4 SCOTT 8 1483.7593697011998 +5 ADAMS 11 1387.5865368834952 +