diff --git a/lib/active_record/connection_adapters/oracle_enhanced/quoting.rb b/lib/active_record/connection_adapters/oracle_enhanced/quoting.rb index 835185872..0c773002d 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/quoting.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/quoting.rb @@ -115,18 +115,6 @@ def quote_date_with_to_date(value) #:nodoc: "TO_DATE('#{value}','YYYY-MM-DD HH24:MI:SS')" end - # Encode a string or byte array as string of hex codes - def self.encode_raw(value) - # When given a string, convert to a byte array. - value = value.unpack('C*') if value.is_a?(String) - value.map { |x| "%02X" % x }.join - end - - # quote encoded raw value - def quote_raw(value) #:nodoc: - "'#{self.class.encode_raw(value)}'" - end - def quote_timestamp_with_to_timestamp(value) #:nodoc: # add up to 9 digits of fractional seconds to inserted time value = "#{quoted_date(value)}" if value.acts_like?(:time) diff --git a/lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb b/lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb index 458839518..67c09f4fa 100644 --- a/lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb +++ b/lib/active_record/connection_adapters/oracle_enhanced/schema_definitions.rb @@ -48,10 +48,6 @@ def initialize(name, temporary = false, options = nil, as = nil, tablespace = ni super(name, temporary, options, as, comment: comment) end - def raw(name, options={}) - column(name, :raw, options) - end - def virtual(* args) options = args.extract_options! column_names = args diff --git a/lib/active_record/oracle_enhanced/type/raw.rb b/lib/active_record/oracle_enhanced/type/raw.rb index 94925a516..6acc22262 100644 --- a/lib/active_record/oracle_enhanced/type/raw.rb +++ b/lib/active_record/oracle_enhanced/type/raw.rb @@ -8,6 +8,17 @@ class Raw < ActiveModel::Type::String # :nodoc: def type :raw end + + def serialize(value) + # Encode a string or byte array as string of hex codes + if value.nil? + super + else + value = value.unpack('C*') + value.map { |x| "%02X" % x }.join + end + end + end end end