@@ -507,37 +507,47 @@ extension Statement {
507
507
508
508
/// A cursor that lazily iterates the results of a prepared ``Statement``.
509
509
///
510
- /// To get a `DatabaseCursor` instance, use a fetching method of
511
- /// ``Row``, ``DatabaseValueConvertible``, ``FetchableRecord``,
512
- /// or ``FetchRequest``. For example:
510
+ /// ## Overview
513
511
///
514
- /// ```swift
515
- /// try dbQueue.read { db in
516
- /// // A cursor of database rows,
517
- /// // built from a prepared statement
518
- /// let statement = try db.makeStatement(sql: "SELECT * FROM player")
519
- /// let rows = try Row.fetchCursor(statement)
520
- /// while let row = try rows.next() {
521
- /// let id: Int64 = row["id"]
522
- /// let name: String = row["name"]
512
+ /// To get a `DatabaseCursor` instance, use one of the `fetchCursor` methods.
513
+ /// For example:
514
+ ///
515
+ /// - A cursor of ``Row`` built from a prepared ``Statement``:
516
+ ///
517
+ /// ```swift
518
+ /// try dbQueue.read { db in
519
+ /// let statement = try db.makeStatement(sql: "SELECT * FROM player")
520
+ /// let rows = try Row.fetchCursor(statement)
521
+ /// while let row = try rows.next() {
522
+ /// let id: Int64 = row["id"]
523
+ /// let name: String = row["name"]
524
+ /// }
523
525
/// }
526
+ /// ```
524
527
///
525
- /// // A cursor of values,
526
- /// // built from an SQL string
527
- /// let scores = try Int.fetchCursor(db, sql: "SELECT score FROM player")
528
- /// while let score = try scores.next() {
529
- /// print(score)
528
+ /// - A cursor of `Int` built from an SQL string (see ``DatabaseValueConvertible``):
529
+ ///
530
+ /// ```swift
531
+ /// try dbQueue.read { db in
532
+ /// let sql = "SELECT score FROM player"
533
+ /// let scores = try Int.fetchCursor(db, sql: sql)
534
+ /// while let score = try scores.next() {
535
+ /// print(score)
536
+ /// }
530
537
/// }
538
+ /// ```
539
+ ///
540
+ /// - A cursor of `Player` records built from a request (see ``FetchableRecord`` and ``FetchRequest``):
531
541
///
532
- /// // A cursor of players,
533
- /// // built from a QueryInterfaceRequest:
534
- /// let request = Player.all()
535
- /// let players = try request.fetchCursor(db)
536
- /// while let player = try players.next() {
537
- /// print(player.name, player.score)
542
+ /// ```swift
543
+ /// try dbQueue.read { db in
544
+ /// let request = Player.all()
545
+ /// let players = try request.fetchCursor(db)
546
+ /// while let player = try players.next() {
547
+ /// print(player.name, player.score)
548
+ /// }
538
549
/// }
539
- /// }
540
- /// ```
550
+ /// ```
541
551
///
542
552
/// A database cursor is valid only during the current database access (read or
543
553
/// write). Do not store or escape a cursor for later use.
0 commit comments