@@ -53,7 +53,7 @@ func (c *CachedBackend) NodeAdded(n *Node) error {
5353 return err
5454 }
5555
56- if mode != CacheOnlyMode {
56+ if mode != CacheOnlyMode && c . persistent != nil {
5757 if err := c .persistent .NodeAdded (n ); err != nil {
5858 return err
5959 }
@@ -70,7 +70,7 @@ func (c *CachedBackend) NodeDeleted(n *Node) error {
7070 return err
7171 }
7272
73- if mode != CacheOnlyMode {
73+ if mode != CacheOnlyMode && c . persistent != nil {
7474 if err := c .persistent .NodeDeleted (n ); err != nil {
7575 return err
7676 }
@@ -83,7 +83,7 @@ func (c *CachedBackend) NodeDeleted(n *Node) error {
8383func (c * CachedBackend ) GetNode (i Identifier , t Context ) []* Node {
8484 mode := c .cacheMode .Load ()
8585
86- if t .TimeSlice == nil || mode == CacheOnlyMode {
86+ if t .TimeSlice == nil || mode == CacheOnlyMode || c . persistent == nil {
8787 return c .memory .GetNode (i , t )
8888 }
8989
@@ -94,15 +94,11 @@ func (c *CachedBackend) GetNode(i Identifier, t Context) []*Node {
9494func (c * CachedBackend ) GetNodeEdges (n * Node , t Context , m ElementMatcher ) (edges []* Edge ) {
9595 mode := c .cacheMode .Load ()
9696
97- if t .TimeSlice == nil || mode == CacheOnlyMode {
97+ if t .TimeSlice == nil || mode == CacheOnlyMode || c . persistent == nil {
9898 return c .memory .GetNodeEdges (n , t , m )
9999 }
100100
101- if mode != CacheOnlyMode {
102- return c .persistent .GetNodeEdges (n , t , m )
103- }
104-
105- return edges
101+ return c .persistent .GetNodeEdges (n , t , m )
106102}
107103
108104// EdgeAdded add an edge in the cache
@@ -113,7 +109,7 @@ func (c *CachedBackend) EdgeAdded(e *Edge) error {
113109 return err
114110 }
115111
116- if mode != CacheOnlyMode {
112+ if mode != CacheOnlyMode && c . persistent != nil {
117113 if err := c .persistent .EdgeAdded (e ); err != nil {
118114 return err
119115 }
@@ -130,7 +126,7 @@ func (c *CachedBackend) EdgeDeleted(e *Edge) error {
130126 return err
131127 }
132128
133- if mode != CacheOnlyMode {
129+ if mode != CacheOnlyMode && c . persistent != nil {
134130 if err := c .persistent .EdgeDeleted (e ); err != nil {
135131 return err
136132 }
@@ -143,22 +139,18 @@ func (c *CachedBackend) EdgeDeleted(e *Edge) error {
143139func (c * CachedBackend ) GetEdge (i Identifier , t Context ) []* Edge {
144140 mode := c .cacheMode .Load ()
145141
146- if t .TimeSlice == nil || mode == CacheOnlyMode {
142+ if t .TimeSlice == nil || mode == CacheOnlyMode || c . persistent == nil {
147143 return c .memory .GetEdge (i , t )
148144 }
149145
150- if mode != CacheOnlyMode {
151- return c .persistent .GetEdge (i , t )
152- }
153-
154- return nil
146+ return c .persistent .GetEdge (i , t )
155147}
156148
157149// GetEdgeNodes retrieve a list of nodes from an edge within a time slice, matching metadata
158150func (c * CachedBackend ) GetEdgeNodes (e * Edge , t Context , parentMetadata , childMetadata ElementMatcher ) ([]* Node , []* Node ) {
159151 mode := c .cacheMode .Load ()
160152
161- if t .TimeSlice == nil || mode == CacheOnlyMode {
153+ if t .TimeSlice == nil || mode == CacheOnlyMode || c . persistent == nil {
162154 return c .memory .GetEdgeNodes (e , t , parentMetadata , childMetadata )
163155 }
164156
@@ -173,7 +165,7 @@ func (c *CachedBackend) MetadataUpdated(i interface{}) error {
173165 return err
174166 }
175167
176- if mode != CacheOnlyMode {
168+ if mode != CacheOnlyMode && c . persistent != nil {
177169 if err := c .persistent .MetadataUpdated (i ); err != nil {
178170 return err
179171 }
@@ -185,7 +177,7 @@ func (c *CachedBackend) MetadataUpdated(i interface{}) error {
185177func (c * CachedBackend ) GetNodes (t Context , m ElementMatcher ) []* Node {
186178 mode := c .cacheMode .Load ()
187179
188- if t .TimeSlice == nil || mode == CacheOnlyMode {
180+ if t .TimeSlice == nil || mode == CacheOnlyMode || c . persistent == nil {
189181 return c .memory .GetNodes (t , m )
190182 }
191183
@@ -196,7 +188,7 @@ func (c *CachedBackend) GetNodes(t Context, m ElementMatcher) []*Node {
196188func (c * CachedBackend ) GetEdges (t Context , m ElementMatcher ) []* Edge {
197189 mode := c .cacheMode .Load ()
198190
199- if t .TimeSlice == nil || mode == CacheOnlyMode {
191+ if t .TimeSlice == nil || mode == CacheOnlyMode || c . persistent == nil {
200192 return c .memory .GetEdges (t , m )
201193 }
202194 return c .persistent .GetEdges (t , m )
0 commit comments