diff --git a/lib/src/sql/value/get.rs b/lib/src/sql/value/get.rs index 251ae9ad..fb46097b 100644 --- a/lib/src/sql/value/get.rs +++ b/lib/src/sql/value/get.rs @@ -30,7 +30,7 @@ impl Value { Some(v) => v.get(ctx, opt, txn, path.next()).await, None => Ok(Value::None), }, - Part::All => Ok(self.clone()), + Part::All => self.get(ctx, opt, txn, path.next()).await, _ => Ok(Value::None), }, // Current path part is an array diff --git a/lib/src/sql/value/pick.rs b/lib/src/sql/value/pick.rs index 30c88c21..d836749b 100644 --- a/lib/src/sql/value/pick.rs +++ b/lib/src/sql/value/pick.rs @@ -13,7 +13,7 @@ impl Value { Some(v) => v.pick(path.next()), None => Value::None, }, - Part::All => self.clone(), + Part::All => self.pick(path.next()), _ => Value::None, }, // Current path part is an array