MCPcopy Create free account
hub / github.com/zzzeek/sqlalchemy / visit_textual_label_reference

Method visit_textual_label_reference

lib/sqlalchemy/sql/compiler.py:2569–2612  ·  view source on GitHub ↗
(
        self, element, within_columns_clause=False, **kwargs
    )

Source from the content-addressed store, hash-verified

2567 )
2568
2569 def visit_textual_label_reference(
2570 self, element, within_columns_clause=False, **kwargs
2571 ):
2572 if not self.stack:
2573 # compiling the element outside of the context of a SELECT
2574 return self.process(element._text_clause)
2575
2576 try:
2577 compile_state = cast(
2578 "Union[SelectState, CompoundSelectState]",
2579 self.stack[-1]["compile_state"],
2580 )
2581 except KeyError as ke:
2582 coercions._no_text_coercion(
2583 element.element,
2584 extra=(
2585 "Can't resolve label reference for ORDER BY / "
2586 "GROUP BY / DISTINCT etc."
2587 ),
2588 exc_cls=exc.CompileError,
2589 err=ke,
2590 )
2591
2592 with_cols, only_froms, only_cols = compile_state._label_resolve_dict
2593 try:
2594 if within_columns_clause:
2595 col = only_froms[element.element]
2596 else:
2597 col = with_cols[element.element]
2598 except KeyError as err:
2599 coercions._no_text_coercion(
2600 element.element,
2601 extra=(
2602 "Can't resolve label reference for ORDER BY / "
2603 "GROUP BY / DISTINCT etc."
2604 ),
2605 exc_cls=exc.CompileError,
2606 err=err,
2607 )
2608 else:
2609 kwargs["render_label_as_label"] = col
2610 return self.process(
2611 col, within_columns_clause=within_columns_clause, **kwargs
2612 )
2613
2614 def visit_label(
2615 self,

Callers

nothing calls this directly

Calls 2

castFunction · 0.70
processMethod · 0.45

Tested by

no test coverage detected