# File lib/kirbybase.rb, line 2653
    def drop_index(*col_names)
        raise "Do not execute this method in client/server mode!" if \
         @db.client?

        col_names.each do |c|
            raise "Invalid column name: #{c}" unless \
             @field_names.include?(c)
            
            raise "recno column index cannot be dropped!" if c == :recno

            raise "Column not indexed: #{c}" if \
             @field_indexes[@field_names.index(c)].nil?
        end
        
        @db.engine.drop_index(self, col_names)

        # Need to reinitialize the table instance and associated indexes.

        @db.engine.remove_recno_index(@name)
        @db.engine.remove_indexes(@name)

        update_header_vars
        create_indexes
        create_table_class unless @db.server?
    end