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

Method _format_frame_clause

lib/sqlalchemy/sql/compiler.py:2875–2915  ·  view source on GitHub ↗
(self, range_, **kw)

Source from the content-addressed store, hash-verified

2873 )
2874
2875 def _format_frame_clause(self, range_, **kw):
2876 return "%s AND %s" % (
2877 (
2878 "UNBOUNDED PRECEDING"
2879 if range_[0] is elements.RANGE_UNBOUNDED
2880 else (
2881 "CURRENT ROW"
2882 if range_[0] is elements.RANGE_CURRENT
2883 else (
2884 "%s PRECEDING"
2885 % (
2886 self.process(
2887 elements.literal(abs(range_[0])), **kw
2888 ),
2889 )
2890 if range_[0] < 0
2891 else "%s FOLLOWING"
2892 % (self.process(elements.literal(range_[0]), **kw),)
2893 )
2894 )
2895 ),
2896 (
2897 "UNBOUNDED FOLLOWING"
2898 if range_[1] is elements.RANGE_UNBOUNDED
2899 else (
2900 "CURRENT ROW"
2901 if range_[1] is elements.RANGE_CURRENT
2902 else (
2903 "%s PRECEDING"
2904 % (
2905 self.process(
2906 elements.literal(abs(range_[1])), **kw
2907 ),
2908 )
2909 if range_[1] < 0
2910 else "%s FOLLOWING"
2911 % (self.process(elements.literal(range_[1]), **kw),)
2912 )
2913 )
2914 ),
2915 )
2916
2917 def visit_over(self, over, **kwargs):
2918 text = over.element._compiler_dispatch(self, **kwargs)

Callers 1

visit_overMethod · 0.95

Calls 1

processMethod · 0.45

Tested by

no test coverage detected