if insertmanyvalues_page_size is not _NoArg.NO_ARG:
self.insertmanyvalues_page_size = insertmanyvalues_page_size
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"2.0",
"full_returning is deprecated, please use insert_returning, "
"update_returning, delete_returning",
_bases: List[ClassManager[Any]]
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"1.4",
message="The ClassManager.deferred_scalar_loader attribute is now "
"named expired_attribute_loader",
self.dbapi_connection
)
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"2.0",
"The _ConnectionRecord.connection attribute is deprecated; "
"please use 'driver_connection'",
return None
return self._connection_record.driver_connection
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"2.0",
"The _ConnectionFairy.connection attribute is deprecated; "
"please use 'driver_connection'",
"""
return self._anon_label(self._proxy_key)
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"1.4",
"The :attr:`_expression.ColumnElement.anon_label` attribute is now "
"private, and the public accessor is deprecated.",
def anon_label(self) -> str:
return self._anon_name_label
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"1.4",
"The :attr:`_expression.ColumnElement.anon_key_label` attribute is "
"now private, and the public accessor is deprecated.",
"""
return self.selected_columns.as_readonly()
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"1.4",
"The :attr:`_expression.SelectBase.c` and "
":attr:`_expression.SelectBase.columns` attributes "
return self._compile_state_factory(self, None)._get_display_froms()
- @util.deprecated_property(
+ @property
+ @util.deprecated(
"1.4.23",
"The :attr:`_expression.Select.froms` attribute is moved to "
"the :meth:`_expression.Select.get_final_froms` method.",
from .deprecations import deprecated as deprecated
from .deprecations import deprecated_cls as deprecated_cls
from .deprecations import deprecated_params as deprecated_params
-from .deprecations import deprecated_property as deprecated_property
from .deprecations import moved_20 as moved_20
from .deprecations import warn_deprecated as warn_deprecated
from .langhelpers import add_parameter_text as add_parameter_text
return decorate
-def deprecated_property(
- version: str,
- message: Optional[str] = None,
- add_deprecation_to_docstring: bool = True,
- warning: Optional[Type[exc.SADeprecationWarning]] = None,
- enable_warnings: bool = True,
-) -> Callable[[Callable[..., Any]], property]:
- """the @deprecated decorator with a @property.
-
- E.g.::
-
- class Foo:
- @deprecated_property("1.4", "thing is deprecated")
- def thing(self):
- return "thing"
-
- is equivalent to::
-
- class Foo:
- @property
- @deprecated("1.4", "thing is deprecated")
- def thing(self):
- return "thing"
-
- How come?
-
- Because::
-
- mypy: error: Decorated property not supported
-
- great! now it is.
-
- """
-
- def decorate(fn: Callable[..., Any]) -> property:
- return property(
- deprecated(
- version,
- message=message,
- add_deprecation_to_docstring=add_deprecation_to_docstring,
- warning=warning,
- enable_warnings=enable_warnings,
- )(fn)
- )
-
- return decorate
-
-
def deprecated(
version: str,
message: Optional[str] = None,