Documentation
¶
Overview ¶
Package gospanner wires github.com/googleapis/go-sql-spanner query execution to github.com/apstndb/spanvalue/dbsqlrows export helpers.
Import this nested module only when the application already depends on go-sql-spanner and wants a one-shot QueryContext + dbsqlrows.WriteRows helper. The root github.com/apstndb/spanvalue module does not require go-sql-spanner.
When to use gospanner ¶
- Small tools or scripts: single SELECT → CSV/JSONL via QueryExport.
- Reference integration: shows recommended ExecOptions for proto-decoded GCV export with a metadata pseudo-row (DefaultExecOptions).
When to use core dbsqlrows instead ¶
- Metadata-first or multi-statement batches (dbsqlrows.ReadMetadataAndAdvanceToData).
- Table or custom sinks (dbsqlrows.RunRowsAtData + dbsqlrows.SQLRowsHooks).
- Per-query driver options (QueryMode PLAN/PROFILE, DirectExecuteQuery).
- Stats read after render with driver ReturnResultSetStats true and export ReadResultSetStats false (REPL pattern; see dbsqlrows package documentation).
DefaultExecOptions sets ReturnResultSetStats false — appropriate for simple export CLIs, not for shells that render first then show execution summaries.
See README.md in this directory.
Index ¶
- Variables
- func DefaultExecOptions() spannerdriver.ExecOptions
- func QueryExport(ctx context.Context, db *sql.DB, query string, args []any, ...) (*dbsqlrows.SQLRowsResult, error)
- func QueryExportWithOptions(ctx context.Context, db *sql.DB, query string, args []any, ...) (*dbsqlrows.SQLRowsResult, error)
Constants ¶
This section is empty.
Variables ¶
var ErrNilDB = errors.New("nil *sql.DB")
ErrNilDB reports that QueryExport or QueryExportWithOptions was called with a nil *sql.DB.
Functions ¶
func DefaultExecOptions ¶
func DefaultExecOptions() spannerdriver.ExecOptions
DefaultExecOptions returns the recommended go-sql-spanner configuration for proto-decoded GCV export with a leading metadata pseudo result set (spannerdriver.ExecOptions.ReturnResultSetMetadata). ReturnResultSetStats is false so callers can read stats after export (for example spannersh execution summaries) or set dbsqlrows.SQLRowsConfig.ReadResultSetStats.
func QueryExport ¶
func QueryExport( ctx context.Context, db *sql.DB, query string, args []any, w dbsqlrows.GCVStreamWriter, cfg dbsqlrows.SQLRowsConfig, ) (*dbsqlrows.SQLRowsResult, error)
QueryExport runs db.QueryContext with DefaultExecOptions and exports the result via dbsqlrows.WriteRows. It closes rows before returning.
The driver spannerdriver.ExecOptions value is prepended as the first query argument, before args. That is the go-sql-spanner convention; an argument-count error often means that leading value was forgotten or duplicated.
func QueryExportWithOptions ¶
func QueryExportWithOptions( ctx context.Context, db *sql.DB, query string, args []any, w dbsqlrows.GCVStreamWriter, cfg dbsqlrows.SQLRowsConfig, opts spannerdriver.ExecOptions, ) (*dbsqlrows.SQLRowsResult, error)
QueryExportWithOptions is QueryExport with explicit driver spannerdriver.ExecOptions.
Types ¶
This section is empty.