Skip to content

Commit

Permalink
Added Blank to NULL conversion for Inheritance Columns
Browse files Browse the repository at this point in the history
  • Loading branch information
wagenet committed Mar 30, 2009
1 parent ceced87 commit 9893fd5
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
3 changes: 2 additions & 1 deletion lib/thinking_sphinx/adapters/mysql_adapter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ def cast_to_unsigned(clause)
"CAST(#{clause} AS UNSIGNED)"
end

def convert_nulls(clause, default = '')
def convert_nulls(clause, default = '', blank = false)
default = "'#{default}'" if default.is_a?(String)
clause = "NULLIF(#{clause},'')" if blank

"IFNULL(#{clause}, #{default})"
end
Expand Down
3 changes: 2 additions & 1 deletion lib/thinking_sphinx/adapters/postgresql_adapter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ def cast_to_unsigned(clause)
clause
end

def convert_nulls(clause, default = '')
def convert_nulls(clause, default = '', blank = false)
default = "'#{default}'" if default.is_a?(String)
clause = "NULLIF(#{clause},'')" if blank

"COALESCE(#{clause}, #{default})"
end
Expand Down
3 changes: 2 additions & 1 deletion lib/thinking_sphinx/index.rb
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,8 @@ def crc_column
if @model.column_names.include?(@model.inheritance_column)
adapter.cast_to_unsigned(adapter.convert_nulls(
adapter.crc(adapter.quote_with_table(@model.inheritance_column)),
@model.to_crc32
@model.to_crc32,
true
))
else
@model.to_crc32.to_s
Expand Down

0 comments on commit 9893fd5

Please sign in to comment.