lib/pghero/methods/sequences.rb in pghero-2.0.7 vs lib/pghero/methods/sequences.rb in pghero-2.0.8
- old
+ new
@@ -27,11 +27,11 @@
SQL
# parse out sequence
sequences.each do |column|
m = /^nextval\('(.+)'\:\:regclass\)$/.match(column.delete(:default_value))
- column[:schema], column[:sequence] = unquote_ident(m[1])
+ column[:schema], column[:sequence] = unquote_ident(m[1], column[:table_schema])
column[:max_value] = column[:column_type] == 'integer' ? 2147483647 : 9223372036854775807
end
select_all(sequences.map { |s| "SELECT last_value FROM #{quote_ident(s[:schema])}.#{quote_ident(s[:sequence])}" }.join(" UNION ALL ")).each_with_index do |row, i|
sequences[i][:last_value] = row[:last_value]
@@ -44,14 +44,14 @@
sequences.select { |s| s[:last_value] / s[:max_value].to_f > threshold }.sort_by { |s| s[:max_value] - s[:last_value] }
end
private
- def unquote_ident(value)
+ def unquote_ident(value, default_schema)
schema, seq = value.split(".")
unless seq
seq = schema
- schema = 'public'
+ schema = default_schema
end
[unquote(schema), unquote(seq)]
end
end
end