# File lib/active_ldap/adapter/base.rb, line 86
      def schema(options={})
        @schema ||= operation(options) do
          base = options[:base]
          attrs = options[:attributes]

          attrs ||= [
            'objectClasses',
            'attributeTypes',
            'matchingRules',
            'matchingRuleUse',
            'dITStructureRules',
            'dITContentRules',
            'nameForms',
            'ldapSyntaxes',
            #'extendedAttributeInfo', # if we need RANGE-LOWER/UPPER.
          ]
          base ||= root_dse_values('subschemaSubentry', options)[0]
          base ||= 'cn=schema'
          dn, attributes = search(:base => base,
                                  :scope => :base,
                                  :filter => '(objectClass=subschema)',
                                  :attributes => attrs).first
          Schema.new(attributes)
        end
      end