aboutsummaryrefslogblamecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql/column.rb
blob: be13ead1202c7eaacccb5c1beefd820be76b4429 (plain) (tree)
1
2
3
4
5
6
7
8



                                                                      
                                                          
                          
 
                 


                                                                                         
         


       
module ActiveRecord
  module ConnectionAdapters
    # PostgreSQL-specific extensions to column definitions in a table.
    class PostgreSQLColumn < Column #:nodoc:
      delegate :array, :oid, :fmod, to: :sql_type_metadata
      alias :array? :array

      def serial?
        return unless default_function

        %r{\Anextval\('(?<table_name>.+)_#{name}_seq'::regclass\)\z} === default_function
      end
    end
  end
end