MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / replace

Method replace

lib/sqlalchemy/dialects/mysql/base.py:1484–1508  ·  view source on GitHub ↗
(
                element: ExternallyTraversible, **kw: Any
            )

Source from the content-addressed store, hash-verified

1482 val = on_duplicate_update[column.key]
1483
1484 def replace(
1485 element: ExternallyTraversible, **kw: Any
1486 ) -> Optional[ExternallyTraversible]:
1487 if (
1488 isinstance(element, elements.BindParameter)
1489 and element.type._isnull
1490 ):
1491 return element._with_binary_element_type(column.type)
1492 elif (
1493 isinstance(element, elements.ColumnClause)
1494 and element.table is on_duplicate.inserted_alias
1495 ):
1496 if requires_mysql8_alias:
1497 column_literal_clause = (
1498 f"{_on_dup_alias_name}."
1499 f"{self.preparer.quote(element.name)}"
1500 )
1501 else:
1502 column_literal_clause = (
1503 f"VALUES({self.preparer.quote(element.name)})"
1504 )
1505 return literal_column(column_literal_clause)
1506 else:
1507 # element is not replaced
1508 return None
1509
1510 val = visitors.replacement_traverse(val, {}, replace)
1511 value_text = self.process(val.self_group(), use_schema=False)

Callers 15

_detect_decimal_charMethod · 0.45
post_create_tableMethod · 0.45
get_identity_optionsMethod · 0.45
pre_execMethod · 0.45
processMethod · 0.45
check_quoteMethod · 0.45
processMethod · 0.45
processMethod · 0.45
visit_create_viewMethod · 0.45
_escape_identifierMethod · 0.45
_unescape_identifierMethod · 0.45
get_identity_optionsMethod · 0.45

Calls 3

literal_columnFunction · 0.85
quoteMethod · 0.45

Tested by

no test coverage detected