-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathdummy.go
50 lines (40 loc) · 1.93 KB
/
dummy.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package ep
import "github.com/panoplyio/ep/compare"
var dummy = &dummyType{}
var dummyData = &variadicDummies{}
var dummyBuilder = &dummyDataBuilder{}
var _ = registerGob(dummy, dummyData)
type dummyType struct{}
func (t *dummyType) String() string { return t.Name() }
func (*dummyType) Name() string { return "dummy" }
func (*dummyType) Size() uint { return 0 }
func (*dummyType) Data(int) Data { return dummyData }
func (*dummyType) Builder() DataBuilder { return dummyBuilder }
type dummyDataBuilder struct{}
func (*dummyDataBuilder) Append(data Data) {}
func (*dummyDataBuilder) Data() Data { return dummyData }
type variadicDummies struct{}
func (*variadicDummies) Type() Type { return dummy }
func (*variadicDummies) Len() int { return -1 }
func (*variadicDummies) Less(int, int) bool { return false }
func (*variadicDummies) Swap(int, int) {}
func (*variadicDummies) LessOther(int, Data, int) bool { return false }
func (vs *variadicDummies) Slice(int, int) Data { return vs }
func (vs *variadicDummies) Duplicate(int) Data { return vs }
func (*variadicDummies) IsNull(int) bool { return true }
func (*variadicDummies) MarkNull(int) {}
func (*variadicDummies) Nulls() []bool { return []bool{} }
func (*variadicDummies) Equal(data Data) bool {
// note we must use cast and not compare to singleton to handle
// distributed dummies data
_, ok := data.(*variadicDummies)
return ok
}
// Compare implements ep.Data
func (vs *variadicDummies) Compare(other Data) ([]compare.Result, error) {
panic("dummies are not comparable")
}
func (*variadicDummies) Copy(Data, int, int) {}
func (*variadicDummies) CopyNTimes(Data, int, int, []int) {}
func (*variadicDummies) CopyByIndexes(Data, []int, int) {}
func (*variadicDummies) Strings() []string { return []string{} }