test_cache_does_not_wrap_string_results_in_arrays

I'm trying to run the following test from the test suite for a
Firebird 2.0 database

  def test_cache_does_not_wrap_string_results_in_arrays
    Task.cache do
      assert_instance_of String, Task.connection.select_value("SELECT
count(*) AS count_all FROM tasks")
    end
  end

I get the following error

  1) Failure:
test_cache_does_not_wrap_string_results_in_arrays(QueryCacheTest)
    [query_cache_test.rb:51:in
`test_cache_does_not_wrap_string_results_in_arrays'
     ./../lib/active_record/connection_adapters/abstract/
query_cache.rb:33:in `cache'
     ./../lib/active_record/query_cache.rb:8:in `cache'
     query_cache_test.rb:50:in
`test_cache_does_not_wrap_string_results_in_arrays'
     /usr/local/lib/ruby/gems/1.8/gems/mocha-0.5.5/lib/mocha/
test_case_adapter.rb:19:in `__send__'
     /usr/local/lib/ruby/gems/1.8/gems/mocha-0.5.5/lib/mocha/
test_case_adapter.rb:19:in `run']:
<2> expected to be an instance of
<String> but was
<Fixnum>.

I think I'm missing something. Why would the result from a count(*)
query be a string result? Also why not just assert that the result is
NOT an array rather than asserting that it is a specific type? It
might be that there's just a big in the firebird adapter. I'm
currently running through the test suite and fixing errors with the
firebird adapter so I would like to get a clean run. I'm not sure that
I understand why this is failing. If anyone could shed some light on
this that would be great. Is it that since this is going through the
query cache that the result should be a string? If so then do I need
to modify/add something to the firebird adapter to make this work?

Thanks,
Scott Knight