3179
MariaDBERRORNotableWindow FunctionsHIGH confidence

Window frame specification is illegal

Production Risk

Low — syntax error caught at parse time.

What this means

The complete window frame specification is syntactically or semantically invalid. This is a general frame-illegal error covering cases not reported by more specific frame errors (3176–3178).

Why it happens
  1. 1Combining incompatible frame options.
  2. 2Using frame specifications not supported by the window function.
  3. 3Logical impossibility in the frame bounds (e.g., BETWEEN FOLLOWING AND PRECEDING).
How to reproduce
trigger — this will error
trigger — this will error
SELECT SUM(val) OVER (ORDER BY id ROWS BETWEEN 5 FOLLOWING AND 2 FOLLOWING) FROM t1;

expected output

ERROR 3179 (HY000): Window frame specification is illegal.

Fix 1

Review and correct the frame bounds

Review and correct the frame bounds
SELECT SUM(val) OVER (ORDER BY id ROWS BETWEEN 2 FOLLOWING AND 5 FOLLOWING) FROM t1;

Why this works

Ensure the end bound is logically after the start bound.

Fix 2

Use CURRENT ROW as the anchor

Use CURRENT ROW as the anchor
SELECT SUM(val) OVER (ORDER BY id ROWS BETWEEN CURRENT ROW AND 5 FOLLOWING) FROM t1;

Why this works

CURRENT ROW is a safe, well-defined start bound.

What not to do

Sources
Official documentation ↗

MySQL 8.0 — 3179 ER_WINDOW_FRAME_ILLEGAL

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All MariaDB errors