class ThinkingSphinx::ActiveRecord::DatabaseAdapters::PostgreSQLAdapter

Public Instance Methods

boolean_value(value) click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 4
def boolean_value(value)
  value ? 'TRUE' : 'FALSE'
end
cast_to_string(clause) click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 8
def cast_to_string(clause)
  "#{clause}::varchar"
end
cast_to_timestamp(clause) click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 12
def cast_to_timestamp(clause)
  if ThinkingSphinx::Configuration.instance.settings['64bit_timestamps']
    "extract(epoch from #{clause})::bigint"
  else
    "extract(epoch from #{clause})::int"
  end
end
concatenate(clause, separator = ' ') click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 20
def concatenate(clause, separator = ' ')
  clause.split(', ').collect { |part|
    convert_nulls(part, "''")
  }.join(" || '#{separator}' || ")
end
convert_nulls(clause, default = '') click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 26
def convert_nulls(clause, default = '')
  "COALESCE(#{clause}, #{default})"
end
group_concatenate(clause, separator = ' ') click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 30
def group_concatenate(clause, separator = ' ')
  "array_to_string(array_agg(DISTINCT #{clause}), '#{separator}')"
end
time_zone_query_pre() click to toggle source
# File lib/thinking_sphinx/active_record/database_adapters/postgresql_adapter.rb, line 34
def time_zone_query_pre
  ['SET TIME ZONE UTC']
end