Expose function metadata to SemanticQueryProducer (possibly via SF or TypeConfiguration)

Description

This is still a discussion item. But having metadata about the function helps in some circumstances (like supporting spatial functions).

Ideally, I'd like this to go beyond what we do today in org.hibernate.dialect.function.SQLFunction to better account for:

  1. arguments - required/optional, type info

  2. return type info

Activity

Show:

Karel Maesen November 9, 2015 at 9:04 PM

Here is a concrete case where this would help: if you specify in MySQL (native SQL) "select * from t where st_contains(geom1, geom2) = 1” the spatial index is not used so performance suffers. The statement "select * from t where st_contains(geom1, geom2)” however will make use of the spatial index. The current HQL parser can't parse the second statement because it fails to see that where-clause contains a valid boolean expression.

If the parser can determine that the function 'st_contains(geom1, geom2)' returns a boolean value, then it can treat the application of this functiona as a valid boolean expression.

Details

Assignee

Reporter

Components

Priority

Created September 10, 2015 at 12:12 PM
Updated April 26, 2017 at 8:53 PM
Loading...