query (Vapor::PersistenceManager)

    # File vapor/persistencemgr.rb, line 284
        def query( klass, query, arguments, subclasses = true )
          raise TypeError unless klass.ancestors.include? Persistable
          raise TypeError unless query.is_a? String
          raise TypeError unless arguments.is_a? Array

          begin
            statement = @query_parser.parse( query, arguments )
          rescue InvalidQueryError
            raise
          end

          oids = @backend.search_tuples( klass, statement, subclasses )

          result = Extent.new( self, klass, subclasses )

          if !oids.nil? then
            oids.each{|oid| result.add( oid ) }
          end

          return result
        end