def evaluate( expression )
@entity = expression.entity
open
bindings = []
expression.bind_variables.each do |binding|
value = binding[expression.class::VALUE_KEY]
attr = binding[expression.class::ATTRIBUTE_KEY]
value = attr.adapter_value(value)
binding[expression.class::VALUE_KEY] = value
bindings << expression.format_value(value, attr)
end
statement = expression.statement.dup
index = 0
statement.gsub!('?') do |char|
index += 1
bindings[index-1]
end
if application then
if application.log_options[:sql] then
application.log_options[:out].puts statement
end
end
@pk_cache.clear
@result = @openbase.execute(statement)
end