You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SELECT*FROM my_tree mt
WHERE mt."path" @> ANY
(
SELECT mt2."path"FROM my_tree mt2
WHERE mt2."path"<@ 'root.archaea.thermoprotei'
)
(example is based on test scheme of ltree_diesel, please ignore it's meaningless by itself in this case)
The main thing is I need ability to pass a subquery into contains_any() operator for path, which is correct SQL, but I'm failing to do so with diesel.
Here is rust code which fails to compile:
let mt2 = diesel::alias!(my_tree as mt2);let subquery = mt2
.filter(
mt2.field(my_tree::path).contained_by(text2ltree("root.archaea.thermoprotei")),).select(mt2.field(my_tree::path)).into_boxed();let results = my_tree::table
.select((my_tree::id,ltree2text(my_tree::path))).filter(my_tree::path.contains_any(subquery))// <-- Here I need to add subquery.order(my_tree::id).load::<MyTree>(&mut connection).unwrap().into_iter().map(|t| t.path).collect::<Vec<_>>();
Similar thing working fine in diesel with regular types, for example, if subquery selects from 'id', it's working correctly with something like .filter(my_tree::id.eq_any(subquery))
I've tried to dive into details of implementation to create pull request but it seems I'm too incompetent in how to make it right.
The text was updated successfully, but these errors were encountered:
I'm trying to implement query like this:
(example is based on test scheme of ltree_diesel, please ignore it's meaningless by itself in this case)
The main thing is I need ability to pass a subquery into contains_any() operator for path, which is correct SQL, but I'm failing to do so with diesel.
Here is rust code which fails to compile:
Similar thing working fine in diesel with regular types, for example, if subquery selects from 'id', it's working correctly with something like
.filter(my_tree::id.eq_any(subquery))
I've tried to dive into details of implementation to create pull request but it seems I'm too incompetent in how to make it right.
The text was updated successfully, but these errors were encountered: