From 3e43ea377f2e8c72a463ba17d07c0d788eb8ed6d Mon Sep 17 00:00:00 2001 From: Alex Reisner <alex@alexreisner.com> Date: Wed, 17 Oct 2012 12:25:30 -0400 Subject: [PATCH] Add special :id_only value for :select option. This allows selecting only the id column for cases where a single column result is required (ie, a subquery used as an operand to the 'IN' operator). This addresses issue #314. --- lib/geocoder/stores/active_record.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/geocoder/stores/active_record.rb b/lib/geocoder/stores/active_record.rb index 985a0759..b49a4a97 100644 --- a/lib/geocoder/stores/active_record.rb +++ b/lib/geocoder/stores/active_record.rb @@ -157,8 +157,10 @@ module Geocoder::Store ## # Generate the SELECT clause. # - def select_clause(columns, distance, bearing = nil) - if columns == :geo_only + def select_clause(columns, distance = nil, bearing = nil) + if columns == :id_only + return full_column_name(primary_key) + elsif columns == :geo_only clause = "" else clause = (columns || full_column_name("*")) + ", " -- GitLab