-require 'postgres'
+require 'pg'
class PostfixadminDb
def get_domains_from_db()
+ domains = []
+
# Just assume PostgreSQL for now.
begin
connection = PGconn.connect(@db_host,
# 'ALL' is a magic domain, and we don't want it.
sql_query = "SELECT domain FROM domain WHERE domain <> 'ALL';"
- result = connection.query(sql_query)
+ connection.query(sql_query) do |result|
+ domains = result.field_values('domain')
+ end
connection.close()
rescue PGError => e
# But pretend like we're database-agnostic in case we ever are.
raise DatabaseError.new(e)
end
- # The database query returns an array of rows. Since we only asked
- # for one column (domain), we can flatten the result into an
- # array of domains.
- return result.flatten
+ return domains
end
def get_accounts_from_db()
+ accounts = []
+
# Just assume PostgreSQL for now.
begin
connection = PGconn.connect(@db_host,
# If address = goto, then the alias basically says, "really
# deliver to that address; it's not an alias."
sql_query = 'SELECT username FROM mailbox;'
- result = connection.query(sql_query)
+ connection.query(sql_query) do |result|
+ accounts = result.field_values('username')
+ end
connection.close()
rescue PGError => e
# But pretend like we're database-agnostic in case we ever are.
raise DatabaseError.new(e)
end
- # The database query returns an array of rows. Since we only asked
- # for one column (address), we can flatten the result into an
- # array of addresses.
- return result.flatten
+ return accounts
end
end