class Myreplicator::VerticaUtils
Public Class Methods
get_grants(*args)
click to toggle source
Example: get_grant({:db => “bidw”, :schema => “king”, :table => “customer”})
# File lib/loader/vertica/vertica_utils.rb, line 5 def get_grants *args options = args.extract_options! db = options[:db] schema = options[:schema] table = options[:table] sql = "SELECT * FROM grants WHERE object_schema = '#{schema}' AND object_name = '#{table}';" result = Myreplicator::DB.exec_sql("vertica",sql) sqls = [] result.entries.each do |priv| privilege = priv[:privileges_description] grantee = priv[:grantee] begin sql = "GRANT #{privilege} ON #{schema}.#{table} TO #{grantee};" sqls << sql puts sql rescue Exception => e puts e.message end end return sqls end
load_grants_from_file(f)
click to toggle source
# File lib/loader/vertica/vertica_utils.rb, line 51 def load_grants_from_file f file = Rails.root.join('tmp', f) file = File.open(filename, "r") sqls = file.readlines file.close() return sqls end
save_grants_to_file(*args)
click to toggle source
Example: save_grants_to_file
({:sqls => [“GRANT ..”,“GRANT …”], :file=>“grants.txt”})
# File lib/loader/vertica/vertica_utils.rb, line 40 def save_grants_to_file *args options = args.extract_options! sqls = options[:sqls] filename = Rails.root.join('tmp', options[:file]) file = File.open(filename, "w+") sqls.each do |sql| file.puts sql.to_s end file.close() end
set_grants(sqls)
click to toggle source
Example: set_grants
sqls
# File lib/loader/vertica/vertica_utils.rb, line 28 def set_grants sqls sqls.each do |sql| begin puts sql Myreplicator::DB.exec_sql("vertica",sql) rescue Exception => e puts e.message end end end