You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: sqlite_upsert.rb
    path of file: ./repos/activerecord-slotted_counters/lib/activerecord_slotted_counters/adapters
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module ActiveRecordSlottedCounters
  module Adapters
    class SqliteUpsert
      attr_reader :klass

      def initialize(klass)
        @klass = klass
      end

      def apply?(current_adapter_name)
        retur
    
      def quote_record(columns, record_values)
        values_str = record_values.each_with_index.map do |value, i|
          type = klass.connection.lookup_cast_type_from_column(columns[i])
          klass.connection.quote(type.serialize(value))
        end.join(",")
        "(#{values_str})"
      end

      def quote_many_records(columns, data)
        data.map { |values| quote_record(columns, values) }.join(",")
      end

      def postgresql_connection?(adapter_name)
        return false unless defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter)

        adapter_name == ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::ADAPTER_NAME
      end

      def sqlite_connection?(adapter_name)
        return false unless defined?(ActiveRecord::ConnectionAdapters::SQLite3Adapter)

        adapter_name == ActiveRecord::ConnectionAdapters::SQLite3Adapter::ADAPTER_NAME
      end
    end