Skip to content

Commit 8047c96

Browse files
authored
fix(qe): support relationLoadStrategy in compacted batches (#5531)
Don't crash on `relationLoadStrategy` in compacted batches, implement proper support for it and ensure it works. Fixes: prisma/prisma#25802 Closes: https://linear.app/prisma-company/issue/ORM-1193/cursor-bug-compacted-queries-crash-when-passing-relationloadstrategy
1 parent cf92c4b commit 8047c96

15 files changed

Lines changed: 722 additions & 493 deletions

File tree

libs/driver-adapters/executor/src/testd-qe.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,9 @@ async function handleRequest(
198198
}
199199
case 'getLogs': {
200200
const { schemaId } = params
201-
return state[schemaId].logs
201+
const clonedLogs = [...state[schemaId].logs]
202+
state[schemaId].logs.length = 0
203+
return clonedLogs
202204
}
203205
default: {
204206
assertNever(method, `Unknown method: \`${method}\``)

query-compiler/query-engine-tests-todo/mariadb/fail/query

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
new::interactive_tx::interactive_tx::batch_queries_failure
22
new::regressions::prisma_7434::not_in_chunking::not_in_batch_filter
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_subquery
4+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_subquery
35
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
46
queries::chunking::chunking::order_by_aggregation_should_fail
57
queries::filters::self_relation_regression::sr_regression::all_categories

query-compiler/query-engine-tests-todo/neon/fail/join

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
new::regressions::prisma_7434::not_in_chunking::not_in_batch_filter
2+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_lateral
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_lateral
24
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
35
queries::chunking::chunking::order_by_aggregation_should_fail
46
queries::chunking::chunking::order_by_relevance_should_fail

query-compiler/query-engine-tests-todo/neon/fail/query

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
new::regressions::prisma_7434::not_in_chunking::not_in_batch_filter
2+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_lateral
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_lateral
24
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
35
queries::chunking::chunking::order_by_aggregation_should_fail
46
queries::chunking::chunking::order_by_relevance_should_fail

query-compiler/query-engine-tests-todo/pg-cockroachdb/fail/join

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
new::regressions::prisma_7434::not_in_chunking_cockroachdb::not_in_batch_filter
2+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_lateral
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_lateral
24
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
35
queries::aggregation::many_count_relation::many_count_rel::count_with_distinct
46
queries::aggregation::uniq_count_relation::uniq_count_rel::count_with_distinct

query-compiler/query-engine-tests-todo/pg-cockroachdb/fail/query

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
new::regressions::prisma_7434::not_in_chunking_cockroachdb::not_in_batch_filter
2+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_lateral
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_lateral
24
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
35
queries::chunking::chunking::order_by_aggregation_should_fail
46
queries::chunking::chunking::order_by_relevance_should_fail

query-compiler/query-engine-tests-todo/pg/fail/join

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
new::regressions::prisma_7434::not_in_chunking::not_in_batch_filter
2+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_lateral
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_lateral
24
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
35
queries::chunking::chunking::order_by_aggregation_should_fail
46
queries::chunking::chunking::order_by_relevance_should_fail

query-compiler/query-engine-tests-todo/pg/fail/query

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
new::regressions::prisma_7434::not_in_chunking::not_in_batch_filter
2+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_lateral
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_lateral
24
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
35
queries::chunking::chunking::order_by_aggregation_should_fail
46
queries::chunking::chunking::order_by_relevance_should_fail

query-compiler/query-engine-tests-todo/planetscale/fail/query

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
new::interactive_tx::interactive_tx::batch_queries_failure
22
new::regressions::prisma_7434::not_in_chunking::not_in_batch_filter
3+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_join_subquery
4+
new::relation_load_strategy::batch::relation_load_strategy_batch::compacted_query_subquery
35
queries::aggregation::group_by::aggregation_group_by::group_by_ordering_sum_aggregation
46
queries::chunking::chunking::order_by_aggregation_should_fail
57
queries::filters::self_relation_regression::sr_regression::all_categories

0 commit comments

Comments
 (0)