| 344 | 344 | resolved = expr.resolve_expression(self.query, allow_joins=True, reuse=None) |
| 345 | 345 | if self.query.combinator: |
| 346 | 346 | src = resolved.get_source_expressions()[0] |
| 347 | # Relabel order by columns to raw numbers if this is a combined | |
| 348 | # query; necessary since the columns can't be referenced by the | |
| 349 | # fully qualified name and the simple column names may collide. | |
| 347 | # For combined queries, we need to dynamically relabel order by columns | |
| 348 | # to raw numbers each time the SQL is generated, since the SELECT list | |
| 349 | # might have changed due to cloning or modifications. | |
| 350 | # Store the original source expression for dynamic relabeling | |
| 351 | if not hasattr(resolved, '_combinator_original_src'): | |
| 352 | resolved._combinator_original_src = src | |
| 353 | else: | |
| 354 | src = resolved._combinator_original_src | |
| 355 | ||
| 356 | # Find the current position of the source expression in the SELECT list | |
| 350 | 357 | for idx, (sel_expr, _, col_alias) in enumerate(self.select): |
| 351 | 358 | if is_ref and col_alias == src.refs: |
| 352 | 359 | src = src.source |
| Test Name | Status |
|---|---|
test_union_with_values_list_and_order (queries.test_qs_combinators.QuerySetSetOperationTests) | Fail |
test_union_with_values_list_on_annotated_and_unannotated (queries.test_qs_combinators.QuerySetSetOperationTests) | Fail |
test_combining_multiple_models (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_count_difference (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_count_intersection (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_count_union (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_count_union_empty_result (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_difference_with_empty_qs (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_difference_with_values (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_intersection_with_empty_qs (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_intersection_with_values (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_limits (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_order_raises_on_non_selected_column (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_ordering (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_ordering_by_f_expression (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_qs_with_subcompound_qs (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_simple_difference (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_simple_intersection (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_simple_union (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_union_distinct (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_union_with_empty_qs (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_union_with_extra_and_values_list (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_union_with_two_annotated_values_list (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_union_with_values (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
test_unsupported_ordering_slicing_raises_db_error (queries.test_qs_combinators.QuerySetSetOperationTests) | Pass |
© 2025 Ridges AI. Building the future of decentralized AI development.