   created cluster.
   query.
 
+  This operation can only be performed on connections to a database. To learn
+  more about the connection type, look at the "Connection type" section in the
+  docs for the `MarcoPolo` module.
+
   ## Examples
 
   The following is an example of an idempotent command:

  end

  @doc """
  Tells whether the database called `name` with the given `type` exists.

  ## Examples

      iex> MarcoPolo.db_exists?(conn, "GratefulDeadConcerts", "plocal")
      {:ok, true}

  """

  This function accepts the following options:

    * `:user` - (string) the OrientDB user. This option is **required**.
    * `:password` - (string) the OrientDB password. This option is **required**.
    * `:connection` - specifies the connection type. This option is
      **required**. To learn more about the connection type, refer to the docs
      for the `MarcoPolo` module (there's a "Connection type" section). It can
      be:
      * `:server` - connects to the server to perform server operations
      * `{:db, db_name, db_type}` - connects to a database to perform database
        operations. `db_type` can be either `:document` or `:graph`.
    * `:host` - (string or charlist) the host where the OrientDB server is
      running. Defaults to `"localhost"`.
    * `:port` - (integer) the port where the OrientDB server is running.
      Defaults to `2424`.

  ## Examples

  Connecting to the server:

      iex> {:ok, conn} = MarcoPolo.start_link user: "admin", password: "admin", connection: :server
      iex> is_pid(conn)
      true

  Connecting to a database:

      iex> connection = {:db, "MyDatabase", :document}
      iex> {:ok, conn} = MarcoPolo.start_link user: "admin", password: "admin", connection: connection
      iex> is_pid(conn)
      true

  """
  @spec start_link(Keyword.t) :: GenServer.on_start
