from typing import Union
from ..sql import roles
+from ..sql.base import ColumnCollection
from ..sql.schema import Column
from ..sql.schema import ColumnCollectionConstraint
from ..sql.schema import Index
Iterable[Union[Column[Any], str, roles.DDLConstraintColumnRole]]
]
_OnConflictIndexWhereT = Optional[roles.WhereHavingRole]
-_OnConflictSetT = Optional[Mapping[Any, Any]]
+_OnConflictSetT = Optional[
+ Union[Mapping[Any, Any], ColumnCollection[Any, Any]]
+]
_OnConflictWhereT = Optional[roles.WhereHavingRole]
unique, ["foo"], Test.id > 0, {"id": 42, Test.ident: 99}, Test.id == 22
).excluded.foo.desc()
+s1 = insert(Test)
+s1.on_conflict_do_update(set_=s1.excluded)
+
# EXPECTED_TYPE: Column[Range[int]]
reveal_type(Column(INT4RANGE()))
insert(Test).on_conflict_do_nothing("foo", Test.id > 0).on_conflict_do_update(
unique, Test.id > 0, {"id": 42, Test.data: 99}, Test.id == 22
).excluded.foo.desc()
+
+s1 = insert(Test)
+s1.on_conflict_do_update(set_=s1.excluded)