class Purview::Pullers::BaseSQL
Public Instance Methods
pull(window)
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 4 def pull(window) with_new_connection do |connection| connection.execute(pull_sql(window) + additional_sql) end end
Private Instance Methods
additional_sql()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 17 def additional_sql " #{opts[:additional_sql]}".rstrip end
column_names()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 21 def column_names table.columns.map do |column| name = column.name source_name = column.source_name source_name == name ? name : "#{source_name} AS #{name}" end end
connection_type()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 29 def connection_type raise %{All "#{BaseSQL}(s)" must override the "connection_type" method} end
database_host()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 33 def database_host opts[:database_host] end
database_name()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 37 def database_name opts[:database_name] end
database_password()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 41 def database_password opts[:database_password] end
database_port()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 45 def database_port opts[:database_port] end
database_username()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 49 def database_username opts[:database_username] end
dialect_type()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 53 def dialect_type raise %{All "#{BaseSQL}(s)" must override the "dialect_type" method} end
pull_sql(window)
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 57 def pull_sql(window) 'SELECT %s FROM %s WHERE %s BETWEEN %s AND %s' % [ column_names.join(', '), table_name, table.updated_timestamp_column.name, quoted(window.min), quoted(window.max), ] end
table_name()
click to toggle source
# File lib/purview/pullers/base_sql.rb, line 67 def table_name opts[:table].name.gsub(/_raw$/, '') end