@@ -144,7 +144,7 @@ impl<'a> TaskGuard<'a> {
144
144
}
145
145
146
146
pub fn add ( & mut self , item : CachedDataItem ) -> bool {
147
- if !item. is_persistent ( ) {
147
+ if self . task_id . is_transient ( ) || !item. is_persistent ( ) {
148
148
self . task . add ( item)
149
149
} else if self . task . add ( item. clone ( ) ) {
150
150
let ( key, value) = item. into_key_and_value ( ) ;
@@ -165,7 +165,7 @@ impl<'a> TaskGuard<'a> {
165
165
166
166
pub fn insert ( & mut self , item : CachedDataItem ) -> Option < CachedDataItemValue > {
167
167
let ( key, value) = item. into_key_and_value ( ) ;
168
- if !key. is_persistent ( ) {
168
+ if self . task_id . is_transient ( ) || !key. is_persistent ( ) {
169
169
self . task
170
170
. insert ( CachedDataItem :: from_key_and_value ( key, value) )
171
171
} else if value. is_persistent ( ) {
@@ -209,7 +209,7 @@ impl<'a> TaskGuard<'a> {
209
209
key : & CachedDataItemKey ,
210
210
update : impl FnOnce ( Option < CachedDataItemValue > ) -> Option < CachedDataItemValue > ,
211
211
) {
212
- if !key. is_persistent ( ) {
212
+ if self . task_id . is_transient ( ) || !key. is_persistent ( ) {
213
213
self . task . update ( key, update) ;
214
214
return ;
215
215
}
@@ -254,7 +254,7 @@ impl<'a> TaskGuard<'a> {
254
254
pub fn remove ( & mut self , key : & CachedDataItemKey ) -> Option < CachedDataItemValue > {
255
255
let old_value = self . task . remove ( key) ;
256
256
if let Some ( value) = old_value {
257
- if key. is_persistent ( ) && value. is_persistent ( ) {
257
+ if ! self . task_id . is_transient ( ) && key. is_persistent ( ) && value. is_persistent ( ) {
258
258
let key = key. clone ( ) ;
259
259
self . task . persistance_state . add_persisting_item ( ) ;
260
260
self . backend
0 commit comments