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:
None 
Category:MySQL Server: Optimizer Severity:S6 (Debug Builds)
Version:8.0.15 OS:Any
Assigned to: CPU Architecture:Any
Tags: debug

[11 Apr 2019 11:10] Ramesh Sivaraman
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);
[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.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.042 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.