You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

03_natural_syntax.mkd 948B

Natural Syntax

work-in-progress

The original JaQu source offers partial support for Java expressions in where clauses.

This works by decompiling a Java expression, at runtime, to an SQL condition. The expression is written as an anonymous inner class implementation of the com.iciql.Filter interface. A proof-of-concept decompiler is included, but is incomplete.

The proposed syntax is: %BEGINCODE% long count = db.from(co).

where(new Filter() { public boolean where() {
    return co.id == x
        && co.name.equals(name)
        && co.value == new BigDecimal("1")
        && co.amount == 1L
        && co.birthday.before(new java.util.Date())
        && co.created.before(java.sql.Timestamp.valueOf("2005-05-05 05:05:05"))
        && co.time.before(java.sql.Time.valueOf("23:23:23"));
    }
}).selectCount();

%ENDCODE%