# File lib/cgi/session/mysql.rb, line 66
      def initialize(sess, opt)
        raise "db_uri must be specified" unless opt["db_uri"]
        uri = URI.parse opt["db_uri"]
        raise "Invalid URI scheme: #{uri.scheme}" unless uri.scheme == "mysql"
        dbname = uri.path.split("/").reject{|p|p.empty?}.first
        @mysql = ::Mysql.new uri.host, uri.user, uri.password, dbname, uri.port
        raise "restore_query must be specified" unless opt["restore_query"]
        raise "update_query must be specified" unless opt["update_query"]
        raise "delete_query must be specified" unless opt["delete_query"]
        @restore_stmt = @mysql.prepare opt["restore_query"]
        @update_stmt = @mysql.prepare opt["update_query"]
        @delete_stmt = @mysql.prepare opt["delete_query"]
        @restore_stmt.execute sess.session_id
        data, = @restore_stmt.fetch
        unless sess.new_session or data
          raise CGI::Session::NoSession, "uninitialized session"
        end
        @session_id = sess.session_id
        @data = nil
      end