MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / format_column

Method format_column

lib/sqlalchemy/sql/compiler.py:8007–8051  ·  view source on GitHub ↗

Prepare a quoted column name.

(
        self,
        column: ColumnElement[Any],
        use_table: bool = False,
        name: Optional[str] = None,
        table_name: Optional[str] = None,
        use_schema: bool = False,
        anon_map: Optional[Mapping[str, Any]] = None,
    )

Source from the content-addressed store, hash-verified

8005 return self.quote(name)
8006
8007 def format_column(
8008 self,
8009 column: ColumnElement[Any],
8010 use_table: bool = False,
8011 name: Optional[str] = None,
8012 table_name: Optional[str] = None,
8013 use_schema: bool = False,
8014 anon_map: Optional[Mapping[str, Any]] = None,
8015 ) -> str:
8016 """Prepare a quoted column name."""
8017
8018 if name is None:
8019 name = column.name
8020 assert name is not None
8021
8022 if anon_map is not None and isinstance(
8023 name, elements._truncated_label
8024 ):
8025 name = name.apply_map(anon_map)
8026
8027 if not getattr(column, "is_literal", False):
8028 if use_table:
8029 return (
8030 self.format_table(
8031 column.table, use_schema=use_schema, name=table_name
8032 )
8033 + "."
8034 + self.quote(name)
8035 )
8036 else:
8037 return self.quote(name)
8038 else:
8039 # literal textual elements get stuck into ColumnClause a lot,
8040 # which shouldn't get quoted
8041
8042 if use_table:
8043 return (
8044 self.format_table(
8045 column.table, use_schema=use_schema, name=table_name
8046 )
8047 + "."
8048 + name
8049 )
8050 else:
8051 return name
8052
8053 def format_table_seq(self, table, use_schema=True):
8054 """Format table name and schema as a tuple."""

Calls 3

format_tableMethod · 0.95
quoteMethod · 0.95
apply_mapMethod · 0.45

Tested by

no test coverage detected