Documentation
¶
Overview ¶
Package writer provides small streaming helpers for exporting Spanner rows using spanvalue formatters.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrEmptyTableName reports that SQLInsertWriter.Table is empty. ErrEmptyTableName = errors.New("empty table name") // ErrEmptyColumnName reports that a SQL writer received an empty column name. ErrEmptyColumnName = errors.New("empty column name") // ErrNilOutputWriter reports that a writer was constructed without an output. ErrNilOutputWriter = errors.New("nil output writer") // ErrNilRow reports that WriteRow was called with a nil row. ErrNilRow = spanvalue.ErrNilRow // ErrMissingColumnNames reports that writing values requires initialized column names. ErrMissingColumnNames = errors.New("missing column names") // ErrColumnNamesMismatch reports that provided column names differ from initialized schema. ErrColumnNamesMismatch = errors.New("column names mismatch") // ErrHeaderAfterData reports that CSVWriter.WriteHeader was called after data rows were emitted. ErrHeaderAfterData = errors.New("header after data") )
Functions ¶
This section is empty.
Types ¶
type CSVWriter ¶
type CSVWriter struct {
Formatter *spanvalue.FormatConfig
Header bool
// Set before the first write. Once names have been resolved for the current
// schema, later changes do not retroactively rewrite cached header names.
UnnamedFieldNamer spanvalue.UnnamedFieldNamer
// contains filtered or unexported fields
}
CSVWriter writes rows as CSV. Call Flush after the final write.
func NewCSVWriter ¶
func NewCSVWriter(out io.Writer, metadata ...*sppb.ResultSetMetadata) *CSVWriter
NewCSVWriter returns a CSV writer optionally initialized from result-set metadata.
func (*CSVWriter) WriteGCVs ¶
func (w *CSVWriter) WriteGCVs(values []spanner.GenericColumnValue) error
func (*CSVWriter) WriteHeader ¶
WriteHeader writes the CSV header once using the initialized column names.
func (*CSVWriter) WriteRow ¶
WriteRow writes one CSV row, initializing the schema from row metadata if needed.
func (*CSVWriter) WriteValues ¶
func (w *CSVWriter) WriteValues(columnNames []string, values []spanner.GenericColumnValue) error
type JSONLWriter ¶
type JSONLWriter struct {
Formatter *spanvalue.FormatConfig
// Set before the first write. Once names have been resolved for the current
// schema, later changes do not retroactively rewrite cached object keys.
UnnamedFieldNamer spanvalue.UnnamedFieldNamer
// contains filtered or unexported fields
}
JSONLWriter writes one JSON object per line.
func NewJSONLWriter ¶
func NewJSONLWriter(out io.Writer, metadata ...*sppb.ResultSetMetadata) *JSONLWriter
NewJSONLWriter returns a JSONL writer optionally initialized from result-set metadata.
func (*JSONLWriter) WriteGCVs ¶
func (w *JSONLWriter) WriteGCVs(values []spanner.GenericColumnValue) error
func (*JSONLWriter) WriteValues ¶
func (w *JSONLWriter) WriteValues(columnNames []string, values []spanner.GenericColumnValue) error
type SQLInsertWriter ¶
type SQLInsertWriter struct {
Table string
Formatter *spanvalue.FormatConfig
// contains filtered or unexported fields
}
SQLInsertWriter writes rows as GoogleSQL INSERT statements.
func NewSQLInsertWriter ¶
func NewSQLInsertWriter(out io.Writer, table string, metadata ...*sppb.ResultSetMetadata) *SQLInsertWriter
NewSQLInsertWriter returns a SQL INSERT writer optionally initialized from result-set metadata.
func (*SQLInsertWriter) WriteGCVs ¶
func (w *SQLInsertWriter) WriteGCVs(values []spanner.GenericColumnValue) error
func (*SQLInsertWriter) WriteValues ¶
func (w *SQLInsertWriter) WriteValues(columnNames []string, values []spanner.GenericColumnValue) error