Skip to content

Commit f93c5d0

Browse files
committed
Fix to the GUID stability issue introduced by anchors
Fixed the stability issued that introduced comparison errors. Closes #36 and also introduce new tests to validate the behavior.
1 parent af5959f commit f93c5d0

3 files changed

Lines changed: 38 additions & 3 deletions

File tree

bql/planner/data_access.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,6 @@ func simpleFetch(ctx context.Context, gs []storage.Graph, cls *semantic.GraphCla
336336
aErr error
337337
wg sync.WaitGroup
338338
)
339-
340339
wg.Add(2)
341340
ts := make(chan *triple.Triple, chanSize)
342341
go func() {

triple/triple.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ func (t *Triple) GUID() string {
276276

277277
// Object.
278278
if t.o.p == nil {
279-
buffer.WriteString(t.o.p.String())
279+
buffer.WriteString(t.o.String())
280280
} else {
281281
ta, err := t.o.p.TimeAnchor()
282282
if err != nil {

triple/triple_test.go

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,43 @@ func TestGUID(t *testing.T) {
101101
}{
102102
{
103103
"/some/type<some id>\t\"foo\"@[]\t/some/type<some id>",
104-
"/some/type<some id>\t\"foo\"@[]\t\"bar\"@[]",
104+
"/some/type<some id>\t\"foo\"@[]\t/some/type<some id>",
105+
},
106+
{
107+
"/some/type<some id>\t\"foo\"@[2015-01-01T00:00:00-09:00]\t/some/type<some id>",
108+
"/some/type<some id>\t\"foo\"@[2015-01-01T00:00:00-09:00]\t/some/type<some id>",
109+
},
110+
{
111+
"/some/type<some id>\t\"foo\"@[2015-01-01T00:00:00-09:00]\t/some/type<some id>",
112+
"/some/type<some id>\t\"foo\"@[2015-01-01T01:00:00-08:00]\t/some/type<some id>",
113+
},
114+
{
115+
"/some/type<some id>\t\"foo\"@[]\t\"bar\"@[2015-01-01T00:00:00-09:00]",
116+
"/some/type<some id>\t\"foo\"@[]\t\"bar\"@[2015-01-01T00:00:00-09:00]",
117+
},
118+
{
119+
"/some/type<some id>\t\"foo\"@[]\t\"bar\"@[2015-01-01T00:00:00-09:00]",
120+
"/some/type<some id>\t\"foo\"@[]\t\"bar\"@[2015-01-01T01:00:00-08:00]",
121+
},
122+
{
123+
"/some/type<some id>\t\"foo\"@[]\t\"true\"^^type:bool",
124+
"/some/type<some id>\t\"foo\"@[]\t\"true\"^^type:bool",
125+
},
126+
{
127+
"/some/type<some id>\t\"foo\"@[]\t\"1\"^^type:int64",
128+
"/some/type<some id>\t\"foo\"@[]\t\"1\"^^type:int64",
129+
},
130+
{
131+
"/some/type<some id>\t\"foo\"@[]\t\"1\"^^type:float64",
132+
"/some/type<some id>\t\"foo\"@[]\t\"1\"^^type:float64",
133+
},
134+
{
135+
"/some/type<some id>\t\"foo\"@[]\t\"text\"^^type:text",
136+
"/some/type<some id>\t\"foo\"@[]\t\"text\"^^type:text",
137+
},
138+
{
139+
"/some/type<some id>\t\"foo\"@[]\t\"[0 0 0]\"^^type:blob",
140+
"/some/type<some id>\t\"foo\"@[]\t\"[0 0 0]\"^^type:blob",
105141
},
106142
}
107143
for _, entry := range testTable {

0 commit comments

Comments
 (0)