sql_query = 'SELECT username FROM prefs;'
begin
- connection.query(sql_query) do |result|
+ connection.sync_exec(sql_query) do |result|
users = result.field_values('username')
end
ensure
sql_query = 'SELECT count(*) FROM shares;'
begin
- connection.query(sql_query) do |result|
+ connection.sync_exec(sql_query) do |result|
count = result.getvalue(0,0).to_i()
end
ensure
sql_query = 'SELECT username FROM usr WHERE user_no > 1;'
begin
- connection.query(sql_query) do |result|
+ connection.sync_exec(sql_query) do |result|
usernames = result.field_values('username')
end
ensure
sql_query += 'WHERE usr.username = $1;'
begin
- connection.query(sql_query, [user.to_s()]) do |result|
+ connection.sync_exec_params(sql_query, [user.to_s()]) do |result|
if result.num_tuples > 0
principal_id = result[0]['principal_id']
end
sql_query = "SELECT domain FROM domain WHERE domain <> 'ALL';"
begin
- connection.query(sql_query) do |result|
+ connection.sync_exec(sql_query) do |result|
domains = result.field_values('domain')
end
ensure
sql_query = 'SELECT username FROM mailbox;'
begin
- connection.query(sql_query) do |result|
+ connection.sync_exec(sql_query) do |result|
users = result.field_values('username')
end
ensure
begin
# Now replace each Domain with its string representation and pass
# those in as our individual parameters.
- connection.query(sql_query, domains.map{ |d| d.to_s() }) do |result|
+ connection.sync_exec_params(sql_query, domains.map{ |d| d.to_s() }) do |result|
usernames = result.field_values('username')
end
ensure
sql_query = 'SELECT address,goto FROM alias;'
begin
- results = connection.query(sql_query)
+ results = connection.sync_exec(sql_query)
results.each do |row|
# row should be a hash
aliases << row
sql_query = 'SELECT COUNT(domain) as count FROM domain WHERE domain = $1;'
begin
- connection.query(sql_query, [domain.to_s()]) do |result|
+ connection.sync_exec_params(sql_query, [domain.to_s()]) do |result|
return false if result.ntuples() < 1
count = result.getvalue(0,0).to_i()
sql_query = 'SELECT username FROM users;'
begin
- connection.query(sql_query) do |result|
+ connection.sync_exec(sql_query) do |result|
usernames = result.field_values('username')
end
ensure
sql_query = 'SELECT user_id FROM users WHERE username = $1;'
begin
- connection.query(sql_query, [user.to_s()]) do |result|
+ connection.sync_exec_params(sql_query, [user.to_s()]) do |result|
if result.num_tuples > 0
user_id = result[0]['user_id']
end
# The "prefs" table uses the normal username as a key...
# This should be harmless if the source user does not exist.
sql_query0 = 'UPDATE prefs SET username = $1 WHERE username = $2;'
- connection.query(sql_query0, [dst.to_s(), src.to_s()])
+ connection.sync_exec_params(sql_query0, [dst.to_s(), src.to_s()])
# But the "shares" table uses encoded principal URLs. For the
# "shares" table, we need to do a find/replace on the username
sql_queries << 'UPDATE shares SET "with"=REPLACE("with", $2, $1);'
sql_queries.each do |sql_query|
- connection.query(sql_query, [encoded_dst, encoded_src])
+ connection.sync_exec_params(sql_query, [encoded_dst, encoded_src])
end
ensure
# Make sure the connection gets closed even if a query explodes.
connection = PG::Connection.new(@db_hash)
begin
- connection.query(sql_query, [dst.to_s(), src.to_s()])
+ connection.sync_exec_params(sql_query, [dst.to_s(), src.to_s()])
ensure
# Make sure the connection gets closed even if the query explodes.
connection.close()
{:value => dst.domainpart(), :type => varchar},
{:value => dst.localpart(), :type => varchar},
{:value => src.to_s(), :type => varchar}]
- connection.query(sql_query, params)
+ connection.sync_exec_params(sql_query, params)
end
ensure
# Make sure the connection gets closed even if a query explodes.
connection = PG::Connection.new(@db_hash)
begin
- connection.query(sql_query, [dst.to_s(), src.to_s()])
+ connection.sync_exec_params(sql_query, [dst.to_s(), src.to_s()])
ensure
# Make sure the connection gets closed even if the query explodes.
connection.close()
connection = PG::Connection.new(@db_hash)
begin
sql_queries.each do |sql_query|
- connection.query(sql_query, [user.to_s()])
+ connection.sync_exec_params(sql_query, [user.to_s()])
end
ensure
# Make sure the connection gets closed even if a query explodes.
connection = PG::Connection.new(@db_hash)
begin
- connection.query(sql_query, [user.to_s()])
+ connection.sync_exec_params(sql_query, [user.to_s()])
ensure
# Make sure the connection gets closed even if the query explodes.
connection.close()
sql_queries.each do |sql_query|
varchar = 1043 # from pg_type.h
params = [{:value => user.to_s(), :type => varchar}]
- connection.query(sql_query, params)
+ connection.sync_exec_params(sql_query, params)
end
ensure
# Make sure the connection gets closed even if a query explodes.
begin
sql_queries.each do |sql_query|
- connection.query(sql_query, [domain.to_s()])
+ connection.sync_exec_params(sql_query, [domain.to_s()])
end
ensure
# Make sure the connection gets closed even if a query explodes.
connection = PG::Connection.new(@db_hash)
begin
- connection.query(sql_query, [user_id])
+ connection.sync_exec_params(sql_query, [user_id])
ensure
# Make sure the connection gets closed even if the query explodes.
connection.close()
plugin_dbname = cfg.send("#{plugin}_dbname")
next if plugin_dbname.nil? # Skip the dovecot plugin
query = "CREATE DATABASE #{plugin_dbname};"
- connection.query(query)
+ connection.sync_exec(query)
plugin_dbhost = cfg.send("#{plugin}_dbhost")
plugin_dbport = cfg.send("#{plugin}_dbport")
plugin_dbpass)
sql = File.open("test/sql/#{plugin}.sql").read()
- plugin_conn.query(sql)
+ plugin_conn.sync_exec(sql)
sql = File.open("test/sql/#{plugin}-fixtures.sql").read()
- plugin_conn.query(sql)
+ plugin_conn.sync_exec(sql)
plugin_conn.close()
end
plugin_dbname = cfg.send("#{plugin}_dbname")
next if plugin_dbname.nil? # Skip the dovecot plugin
query = "DROP DATABASE IF EXISTS #{plugin_dbname};"
- connection.query(query)
+ connection.sync_exec(query)
end
connection.close()