From 7c12bd412a857d3f8a0bf64496fc0fff1fa295ce Mon Sep 17 00:00:00 2001 From: Aidan Haran Date: Fri, 8 Nov 2024 18:53:34 +0000 Subject: [PATCH 1/2] Fix casting of invalid time values --- lib/active_record/connection_adapters/sqlserver/type/time.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/active_record/connection_adapters/sqlserver/type/time.rb b/lib/active_record/connection_adapters/sqlserver/type/time.rb index bdc8bbc86..c4d098bdb 100644 --- a/lib/active_record/connection_adapters/sqlserver/type/time.rb +++ b/lib/active_record/connection_adapters/sqlserver/type/time.rb @@ -36,9 +36,10 @@ def quoted(value) def cast_value(value) value = super - return if value.blank? - value = value.change year: 2000, month: 01, day: 01 + return value unless value.is_a?(::Date) + + value = value.change(year: 2000, month: 01, day: 01) apply_seconds_precision(value) end From 01b0f94ed44b3ba447f0594a61157843ec783b9c Mon Sep 17 00:00:00 2001 From: Aidan Haran Date: Fri, 8 Nov 2024 19:00:24 +0000 Subject: [PATCH 2/2] Fix --- lib/active_record/connection_adapters/sqlserver/type/time.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/active_record/connection_adapters/sqlserver/type/time.rb b/lib/active_record/connection_adapters/sqlserver/type/time.rb index c4d098bdb..3fdf44523 100644 --- a/lib/active_record/connection_adapters/sqlserver/type/time.rb +++ b/lib/active_record/connection_adapters/sqlserver/type/time.rb @@ -37,7 +37,7 @@ def quoted(value) def cast_value(value) value = super - return value unless value.is_a?(::Date) + return value unless value.is_a?(::Time) value = value.change(year: 2000, month: 01, day: 01) apply_seconds_precision(value)