Version: v0.99.3 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jan 3, 2021 License: MIT Imports: 20 Imported by: 0



Package csv contains the csv result encoders and decoders.



View Source
const DialectType = "csv"


This section is empty.


func AddDialectMappings

func AddDialectMappings(mappings flux.DialectMappings) error

AddDialectMappings adds the influxql specific dialect mappings.


type Dialect

type Dialect struct {

Dialect describes the output format of queries in CSV.

func DefaultDialect

func DefaultDialect() *Dialect

func (Dialect) DialectType

func (d Dialect) DialectType() flux.DialectType

func (Dialect) Encoder

func (d Dialect) Encoder() flux.MultiResultEncoder

func (Dialect) SetHeaders

func (d Dialect) SetHeaders(w http.ResponseWriter)

type MultiResultDecoder

type MultiResultDecoder struct {
	// contains filtered or unexported fields

MultiResultDecoder reads multiple results from a single csv file. Results are delimited by an empty line.

func NewMultiResultDecoder

func NewMultiResultDecoder(c ResultDecoderConfig) *MultiResultDecoder

NewMultiResultDecoder creates a new MultiResultDecoder.

func (*MultiResultDecoder) Decode

type ResultDecoder

type ResultDecoder struct {
	// contains filtered or unexported fields

ResultDecoder decodes a csv representation of a result.

func NewResultDecoder

func NewResultDecoder(c ResultDecoderConfig) *ResultDecoder

NewResultDecoder creates a new ResultDecoder.

func (*ResultDecoder) Decode

func (d *ResultDecoder) Decode(r io.Reader) (flux.Result, error)

type ResultDecoderConfig

type ResultDecoderConfig struct {
	// NoHeader indicates that the CSV data will not have a header row.
	NoHeader bool
	// MaxBufferCount is the maximum number of rows that will be buffered when decoding.
	// If 0, then a value of 1000 will be used.
	MaxBufferCount int
	// Allocator is the memory allocator that will be used during decoding.
	// The default is to use an unlimited allocator when this is not set.
	Allocator memory.Allocator
	// Context is the context for this ResultDecoder.
	// When the context is canceled, the decoder will also be canceled.
	// This defaults to context.Background.
	Context context.Context

ResultDecoderConfig are options that can be specified on the ResultDecoder.

type ResultEncoder

type ResultEncoder struct {
	// contains filtered or unexported fields

func NewResultEncoder

func NewResultEncoder(c ResultEncoderConfig) *ResultEncoder

NewResultEncoder creates a new encoder with the provided configuration.

func (*ResultEncoder) Encode

func (e *ResultEncoder) Encode(w io.Writer, result flux.Result) (int64, error)

func (*ResultEncoder) EncodeError

func (e *ResultEncoder) EncodeError(w io.Writer, err error) error

type ResultEncoderConfig

type ResultEncoderConfig struct {
	// Annotations is a list of annotations to include.
	Annotations []string

	// NoHeader indicates whether a header row should be added.
	NoHeader bool

	// Delimiter is the character to delimite columns.
	// It must not be \r, \n, or the Unicode replacement character (0xFFFD).
	Delimiter rune

ResultEncoderConfig are options that can be specified on the ResultEncoder.

func DefaultEncoderConfig

func DefaultEncoderConfig() ResultEncoderConfig

func (ResultEncoderConfig) MarshalJSON

func (c ResultEncoderConfig) MarshalJSON() ([]byte, error)

func (*ResultEncoderConfig) UnmarshalJSON

func (c *ResultEncoderConfig) UnmarshalJSON(b []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL