# File lib/tapkit/access/adapters/openbase.rb, line 119
                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