Sha256: 00ef63492cc36844b37e568d6c3348925dcb61d91bd6925be4f8fcbc70d06a85

Contents?: true

Size: 1.28 KB

Versions: 5

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

module ActiveRecord
  module ConnectionAdapters
    module OracleEnhanced
      module OCIQuoting
        def type_cast(value)
          case value
          when ActiveModel::Type::Binary::Data
            lob_value = value == "" ? " " : value
            bind_type = OCI8::BLOB
            ora_value = bind_type.new(@connection.raw_oci_connection, lob_value)
            ora_value.size = 0 if value == ""
            ora_value
          when Type::OracleEnhanced::Text::Data
            lob_value = value.to_s == "" ? " " : value.to_s
            bind_type = OCI8::CLOB
            ora_value = bind_type.new(@connection.raw_oci_connection, lob_value)
            ora_value.size = 0 if value.to_s == ""
            ora_value
          when Type::OracleEnhanced::NationalCharacterText::Data
            lob_value = value.to_s == "" ? " " : value.to_s
            bind_type = OCI8::NCLOB
            ora_value = bind_type.new(@connection.raw_oci_connection, lob_value)
            ora_value.size = 0 if value.to_s == ""
            ora_value
          else
            super
          end
        end
      end
    end
  end
end

module ActiveRecord
  module ConnectionAdapters
    module OracleEnhanced
      module Quoting
        prepend OCIQuoting
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
activerecord-oracle_enhanced-adapter-7.0.3 lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb
activerecord-oracle_enhanced-adapter-7.0.2 lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb
activerecord-oracle_enhanced-adapter-7.0.1 lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb
activerecord-oracle_enhanced-adapter-7.0.0 lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb
activerecord-oracle_enhanced-adapter-7.0.0.rc1 lib/active_record/connection_adapters/oracle_enhanced/oci_quoting.rb