Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
25 lines
979 B
Go
25 lines
979 B
Go
package query
|
|
|
|
// Cursor defines a cursor to iterate query results.
|
|
type Cursor interface {
|
|
// Err returns the last error seen by the Cursor, or nil if no error has occurred.
|
|
Err() error
|
|
|
|
// Next prepares the next result to be read with the Scan method.
|
|
// It returns true on success, or false if there is no next result row or an error
|
|
// happened while preparing it. Err should be consulted to distinguish between the
|
|
// two cases.
|
|
//
|
|
// Every call to Scan, even the first one, must be preceded by a call to Next.
|
|
Next() bool
|
|
|
|
// Scan copies the query row into the pointed values.
|
|
Scan(values ...any) error
|
|
|
|
// Close closes the cursor preventing further iterations.
|
|
// If Next is called and returns false and there are no further result sets,
|
|
// the cursor is closed automatically and it will suffice to check the result of Err.
|
|
// This method is idempotent meaning that after the first call, any subsequent calls
|
|
// will not change the state.
|
|
Close() error
|
|
}
|