# File lib/kirbybase.rb, line 2733
    def change_column_required(col_name, required)
        raise "Do not execute this method in client/server mode!" if \
         @db.client?

        raise ":recno is always required!" if col_name == :recno

        raise 'Invalid column name: ' % col_name unless \
         @field_names.include?(col_name)
        
        raise 'Required must be either true or false!' unless \
         [true, false].include?(required)
        
        @db.engine.change_column_required(self, col_name, required)
            
        # 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