| Bug #94983 | Assertion `w->frame_buffer()->s->db_type()->db_type ... failed | ||
|---|---|---|---|
| Submitted: | 11 Apr 2019 11:10 | Modified: | 26 May 2023 11:07 |
| Reporter: | Ramesh Sivaraman | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Optimizer | Severity: | S6 (Debug Builds) |
| Version: | 8.0.15 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | debug | ||
[11 Apr 2019 12:11]
MySQL Verification Team
Hello Ramesh, Thank you for he report and test case. Observed that 8.0.15 debug build is affected. thanks, Umesh
[26 May 2023 11:07]
MySQL Verification Team
Internally this is closed as duplicate of BUG 29201831 and per closure report -
Documented fix as follows in the MySQL 8.0.16 changelog:
The position hint for the last row in a range frame was updated
to be one row past the actual last row in the frame.
Closed.

Description: Assertion `w->frame_buffer()->s->db_type()->db_type == DB_TYPE_INNODB || cnt <= 1 || (w->last_row_output() == 0 && w->frame()->m_from->m_border_type == WBT_VALUE_FOLLOWING) || for_nth_value' failed. How to repeat: # mysqld options required for replay: --sql_mode= CREATE DATABASE test; USE test; CREATE TABLE t1(a BINARY (130)) ROW_FORMAT=REDUNDANT; INSERT INTO t1 VALUES(1),(2),(3),(4),(5); INSERT INTO t1 SELECT * FROM t1; insert into t1 values(_utf8 0xe880bd); insert INTO t1 values('1'); create temporary table t1(a int)select * from t1; SELECT a,COUNT(a)OVER w,MIN(a) OVER w FROM t1 WINDOW w AS (ORDER BY a DESC RANGE BETWEEN 1 PRECEDING AND CURRENT ROW);