module ActiveRecord::ConnectionAdapters::PostgreSQL::Quoting::ClassMethods

def column_name_matcher

:nodoc:
def column_name_matcher
  /
    \A
    (
      (?:
        # "schema_name"."table_name"."column_name"::type_name | function(one or no argument)::type_name
        ((?:\w+\.|"\w+"\.){,2}(?:\w+|"\w+")(?:::\w+)? | \w+\((?:|\g<2>)\)(?:::\w+)?)
      )
      (?:(?:\s+AS)?\s+(?:\w+|"\w+"))?
    )
    (?:\s*,\s*\g<1>)*
    \z
  /ix
end