class RedshiftConnector::UnloadQuery
Public Class Methods
new(query:, bundle:, enable_sort: false)
click to toggle source
# File lib/redshift_connector/query.rb, line 51 def initialize(query:, bundle:, enable_sort: false) @query = query @bundle = bundle @enable_sort = enable_sort end
wrap(query:, bundle:, enable_sort: false)
click to toggle source
# File lib/redshift_connector/query.rb, line 47 def UnloadQuery.wrap(query:, bundle:, enable_sort: false) new(query: ArbitraryQuery.new(query), bundle: bundle, enable_sort: enable_sort) end
Public Instance Methods
description()
click to toggle source
# File lib/redshift_connector/query.rb, line 61 def description @query.description end
escape_query(query)
click to toggle source
# File lib/redshift_connector/query.rb, line 77 def escape_query(query) query.gsub("'", "\\\\'") end
table_spec()
click to toggle source
# File lib/redshift_connector/query.rb, line 57 def table_spec @query.table_spec end
to_sql()
click to toggle source
# File lib/redshift_connector/query.rb, line 65 def to_sql <<-EndSQL.gsub(/^\s+/, '') unload ('#{escape_query(@query.to_sql)}') to '#{@bundle.url}' credentials '#{@bundle.credential_string}' gzip allowoverwrite parallel #{@enable_sort ? 'off' : 'on'} delimiter ',' escape addquotes EndSQL end