class PGExaminer::Result::Table

Public Instance Methods

columns() click to toggle source
# File lib/pg_examiner/result/table.rb, line 24
def columns
  @columns ||= result.pg_attribute.select do |c|
    c['attrelid'] == oid
  end.sort_by{|c| c['name']}.map { |row| Column.new(result, row, self) }
end
constraints() click to toggle source
# File lib/pg_examiner/result/table.rb, line 36
def constraints
  @constraints ||= result.pg_constraint.select do |c|
    c['conrelid'] == oid
  end.map{|row| Constraint.new(result, row, self)}.sort_by(&:name)
end
diffable_attrs() click to toggle source
# File lib/pg_examiner/result/table.rb, line 16
def diffable_attrs
  {
    "name"           => "name",
    "relpersistence" => "table type (relpersistence)",
    "reloptions"     => "table options",
  }
end
diffable_lists() click to toggle source
# File lib/pg_examiner/result/table.rb, line 6
def diffable_lists
  {
    "columns"     => "columns",
    "indexes"     => "indexes",
    "constraints" => "constraints",
    "triggers"    => "triggers",
    "permissions" => "permissions",
  }
end
indexes() click to toggle source
# File lib/pg_examiner/result/table.rb, line 30
def indexes
  @indexes ||= result.pg_index.select do |c|
    c['indrelid'] == oid
  end.map{|row| Index.new(result, row, self)}.sort_by(&:name)
end
permissions() click to toggle source
# File lib/pg_examiner/result/table.rb, line 48
def permissions
  @permissions ||= begin
    if acl = @row["relacl"]
      acl[/^{(.*)}$/, 1].split(",").map{|acl| Permission.new(acl)}.sort_by(&:name)
    else
      []
    end
  end
end
triggers() click to toggle source
# File lib/pg_examiner/result/table.rb, line 42
def triggers
  @triggers ||= result.pg_trigger.select do |t|
    t['tgrelid'] == oid
  end.map{|row| Trigger.new(result, row, self)}.sort_by(&:name)
end