From 9991b1295e932b4638e52f488e45213b24d3fc9c Mon Sep 17 00:00:00 2001 From: Julien Lopez <julien.lopez@lri.fr> Date: Thu, 15 Feb 2018 15:47:17 +0100 Subject: [PATCH] Add test on side effects --- .../tests/pgsql/QuerySideEffect2.R | 16 ++++++++++++++++ .../tests/pgsql/QuerySideEffect2.out | 7 +++++++ 2 files changed, 23 insertions(+) create mode 100644 com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.R create mode 100644 com.oracle.truffle.r.test/tests/pgsql/QuerySideEffect2.out 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 0000000000..cb26c8cc16 --- /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 0000000000..62a719451b --- /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 + -- GitLab