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)
@db.engine.remove_recno_index(@name)
@db.engine.remove_indexes(@name)
update_header_vars
create_indexes
create_table_class unless @db.server?
end