# File lib/taps/data_stream.rb, line 229
  def self.factory(db, state)
    if defined?(Sequel::MySQL) && Sequel::MySQL.respond_to?(:convert_invalid_date_time=)
      Sequel::MySQL.convert_invalid_date_time = :nil
    end

    if state.has_key?(:klass)
      return eval(state[:klass]).new(db, state)
    end

    if Taps::Utils.single_integer_primary_key(db, state[:table_name].to_sym)
      DataStreamKeyed.new(db, state)
    else
      DataStream.new(db, state)
    end
  end