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

        raise ":recno cannot have a default value!" if col_name == :recno

        raise 'Invalid column name: ' % col_name unless \
         @field_names.include?(col_name)

        raise 'Cannot set default value for this type: ' + \
         '%s' % @field_types.index(col_name) unless \
         KBTable.valid_default_type?(
          @field_types[@field_names.index(col_name)])
        
        if value.nil?
            @db.engine.change_column_default_value(self, col_name, nil)
        else
            @db.engine.change_column_default_value(self, col_name,
             convert_to_encoded_string(
              @field_types[@field_names.index(col_name)], value))
        end
            
        # 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