Newer
Older
# Returns the exchange rate between rfrom and rto
getRate = function(rfrom, rto)
{
change = new.tableRef("change", "PostgreSQL", "postgre.config", "public")
rate = query.force(where(function (r) r$cfrom == rfrom && r$cto == rto,
from(change)))
if (rfrom == rto) 1.0 else rate$change
}
# Returns the names of employees earning at least minSalary in the curr
# currency
atLeast = function(minSalary, curr)
{
emp = new.tableRef("emp", "PostgreSQL", "postgre.config", "public")
select(function (e) { r = new.env()
r$name = e$ename
r },
where(function (e) e$sal >= minSalary * getRate("USD", curr),
from(emp)))
}
richUSPeople = atLeast(2000.0, "USD")
richEURPeople = atLeast(2000.0, "EUR")
print(query.force(richUSPeople))
print(query.force(richEURPeople))