Skip to content

Commit ada350f

Browse files
committed
Add more props
1 parent b6d665c commit ada350f

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

result_set.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,6 +430,14 @@ func scanStructField(val *nebula.Value, eleVal reflect.Value, eleType reflect.Ty
430430
edge := val.GetEVal()
431431
if edge != nil {
432432
props := edge.GetProps()
433+
434+
src := edge.GetSrc()
435+
dst := edge.GetDst()
436+
name := edge.GetName()
437+
props["_src"] = src
438+
props["_dst"] = dst
439+
props["_name"] = &nebula.Value{SVal: name}
440+
433441
err := scanValFromProps(props, eleVal, eleType)
434442
if err != nil {
435443
return err

result_set_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,10 +850,14 @@ func TestScanWithNestStruct(t *testing.T) {
850850
}
851851

852852
type Person struct {
853+
Vid string `nebula:"_vid"`
853854
Name string `nebula:"name"`
854855
City string `nebula:"city"`
855856
}
856857
type Friend struct {
858+
Src string `nebula:"_src"`
859+
Dst string `nebula:"_dst"`
860+
EdgeName string `nebula:"_name"`
857861
CreatedAt string `nebula:"created_at"`
858862
}
859863
type Result struct {
@@ -867,12 +871,16 @@ func TestScanWithNestStruct(t *testing.T) {
867871
t.Error(err)
868872
}
869873
assert.Equal(t, 1, len(results))
874+
assert.NotEmpty(t, results[0].Nodes[0].Vid)
870875
assert.Equal(t, "Tom", results[0].Nodes[0].Name)
871876
assert.Equal(t, "Shanghai", results[0].Nodes[0].City)
872877
assert.Equal(t, "Bob", results[0].Nodes[1].Name)
873878
assert.Equal(t, "Hangzhou", results[0].Nodes[1].City)
874879
assert.Equal(t, "2024-07-07", results[0].Edges[0].CreatedAt)
875880
assert.Equal(t, "2024-07-07", results[0].Edges[1].CreatedAt)
881+
assert.NotEmpty(t, results[0].Edges[0].Src)
882+
assert.NotEmpty(t, results[0].Edges[0].Dst)
883+
assert.Equal(t, "friend", results[0].Edges[0].EdgeName)
876884

877885
// Scan again should work
878886
err = resultSet.Scan(&results)

0 commit comments

Comments
 (0)