datafusion icon indicating copy to clipboard operation
datafusion copied to clipboard

Hardcoded u64 for WindowFrameBound fields

Open mustafasrepo opened this issue 2 years ago • 0 comments

Hardcoded u64 for WindowFrameBound fields

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

WindowFrameBound enum takes Option<u64> for Preceding and Following fields. When we run the below query in datafusion (valid in POSTGRESQL).

SELECT 
	COUNT(*) OVER(ORDER BY ts RANGE BETWEEN '1 DAY' PRECEDING AND '1 DAY' FOLLOWING) as cnt 
FROM t

it produces error below.

Error: SQL(ParserError("Expected literal int, found: '1 DAY'"))

Describe the solution you'd like

Instead of Option<u64>, we can use Option<ScalarValue> to support different types such as timestamps.

Describe alternatives you've considered

N.A

Additional context

The relevant code section can be found at the following link.

arrow-datafusion/window_frame.rs at c3bf84e334d6a12c89bacec38e2baa02ca2417ac · apache/arrow-datafusion

mustafasrepo avatar Sep 21 '22 13:09 mustafasrepo