Documentation ¶
Index ¶
- Variables
- func IncFiltersCount()
- func IncLinesPerStepCount(step string)
- func Reset()
- type Cardinality
- type Column
- type DataSet
- type DataSource
- type DataSourceFactory
- type DataSourceInMemory
- type ExecutionStats
- type ExportedRow
- type Filter
- type Graph
- type NoTraceListener
- type OneEmptyRowReader
- type Plan
- type Puller
- type Relation
- type RelationName
- type RelationSet
- type RelationTip
- type Row
- type RowExporter
- type RowExporterCollector
- type RowExporterWriter
- type RowReader
- type RowReaderInMemory
- type RowSet
- type Step
- type Table
- type TableName
- type TraceListener
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrMultipleRowInOneToOneRelation = errors.New("multiple rows for one to one relationship")
Functions ¶
func IncFiltersCount ¶ added in v1.4.0
func IncFiltersCount()
func IncLinesPerStepCount ¶ added in v1.4.0
func IncLinesPerStepCount(step string)
Types ¶
type Cardinality ¶ added in v1.10.0
type Cardinality bool
const ( Many Cardinality = true One Cardinality = false )
type DataSource ¶
type DataSource interface { Open() error RowReader(source Table, filter Filter) (RowReader, error) Read(source Table, filter Filter) (RowSet, error) Close() error }
DataSource to read in the pull process.
func NewDataSourceInMemory ¶ added in v1.10.0
func NewDataSourceInMemory(tables DataSet) DataSource
type DataSourceFactory ¶
type DataSourceFactory interface {
New(url string, schema string) DataSource
}
DataSourceFactory exposes methods to create new datasources.
type DataSourceInMemory ¶ added in v1.10.0
type DataSourceInMemory struct {
// contains filtered or unexported fields
}
func (DataSourceInMemory) Close ¶ added in v1.10.0
func (ds DataSourceInMemory) Close() error
func (DataSourceInMemory) Open ¶ added in v1.10.0
func (ds DataSourceInMemory) Open() error
type ExecutionStats ¶ added in v1.4.0
type ExecutionStats interface { GetLinesPerStepCount() map[string]int GetFiltersCount() int ToJSON() []byte }
func Compute ¶ added in v1.4.0
func Compute() ExecutionStats
type ExportedRow ¶ added in v1.10.0
ExportedRow is a row but with keys ordered and values in export format for jsonline.
func (ExportedRow) GetOrNil ¶ added in v1.10.0
func (er ExportedRow) GetOrNil(key string) interface{}
type NoTraceListener ¶
type NoTraceListener struct{}
NoTraceListener default implementation do nothing.
func (NoTraceListener) TraceStep ¶
func (t NoTraceListener) TraceStep(s Step) TraceListener
TraceStep catch Step event.
type OneEmptyRowReader ¶
type OneEmptyRowReader struct {
// contains filtered or unexported fields
}
OneOneEmptyRowReader return one empty row
func NewOneEmptyRowReader ¶
func NewOneEmptyRowReader() *OneEmptyRowReader
func (*OneEmptyRowReader) Next ¶
func (r *OneEmptyRowReader) Next() bool
Next is always false except for the first one
func (OneEmptyRowReader) Value ¶
func (r OneEmptyRowReader) Value() Row
Value is always an empty row
type Plan ¶
type Plan struct { Relations RelationSet Components map[TableName]uint // <= could be deduced from relations with tarjan algorithm }
type Puller ¶ added in v1.10.0
func NewPuller ¶ added in v1.10.0
func NewPuller(plan Plan, datasource DataSource, exporter RowExporter, diagnostic TraceListener) Puller
func NewPullerParallel ¶ added in v1.10.0
func NewPullerParallel(plan Plan, datasource DataSource, exporter RowExporter, diagnostic TraceListener, nbworkers uint) Puller
type Relation ¶
type Relation struct { Name RelationName Cardinality Cardinality Local RelationTip Foreign RelationTip }
type RelationName ¶ added in v1.10.0
type RelationName string
type RelationSet ¶ added in v1.10.0
type RelationSet []Relation
type RelationTip ¶ added in v1.10.0
type RowExporter ¶
type RowExporter interface {
Export(ExportedRow) error
}
RowExporter receives pulled rows one by one.
func NewRowExporterWriter ¶ added in v1.10.0
func NewRowExporterWriter(out io.Writer) RowExporter
type RowExporterCollector ¶ added in v1.10.0
type RowExporterCollector struct {
Result []ExportedRow
}
func NewRowExporterCollector ¶ added in v1.10.0
func NewRowExporterCollector() *RowExporterCollector
func (*RowExporterCollector) Export ¶ added in v1.10.0
func (re *RowExporterCollector) Export(row ExportedRow) error
func (*RowExporterCollector) Reset ¶ added in v1.10.0
func (re *RowExporterCollector) Reset()
type RowExporterWriter ¶ added in v1.10.0
type RowExporterWriter struct {
// contains filtered or unexported fields
}
func (RowExporterWriter) Export ¶ added in v1.10.0
func (re RowExporterWriter) Export(row ExportedRow) error
type RowReaderInMemory ¶ added in v1.10.0
type RowReaderInMemory struct {
// contains filtered or unexported fields
}
func (*RowReaderInMemory) Error ¶ added in v1.10.0
func (rr *RowReaderInMemory) Error() error
func (*RowReaderInMemory) Next ¶ added in v1.10.0
func (rr *RowReaderInMemory) Next() bool
func (*RowReaderInMemory) Value ¶ added in v1.10.0
func (rr *RowReaderInMemory) Value() Row
type Step ¶
type Step struct {
// contains filtered or unexported fields
}
func NewStep ¶
func NewStep(puller *puller, out ExportedRow, entry Relation) *Step
type TraceListener ¶
type TraceListener interface {
TraceStep(Step) TraceListener
}
TraceListener receives diagnostic trace.
Click to show internal directories.
Click to hide internal directories.