2021-04-26 20:07:00 +02:00
|
|
|
#coding:utf-8
|
|
|
|
|
2022-01-25 22:55:48 +01:00
|
|
|
"""
|
|
|
|
ID: issue-5436
|
|
|
|
ISSUE: 5436
|
|
|
|
TITLE: Regression: Server crashes when aggregate functions are used together with NOT IN predicate
|
|
|
|
DESCRIPTION:
|
|
|
|
Here we only check that server is alive after running query but WITHOUT checking its data
|
|
|
|
(see: "and 1=0" below in HAVING section).
|
|
|
|
We do NOT check correctness of query results - this will be done by another ticket, CORE-5165:
|
|
|
|
wrong result in 3.0 RC2 and 4.0 comparing 2.5. It's NOT related to this ticket.
|
|
|
|
JIRA: CORE-5153
|
2022-02-02 15:46:19 +01:00
|
|
|
FBTEST: bugs.core_5153
|
2022-01-25 22:55:48 +01:00
|
|
|
"""
|
2021-04-26 20:07:00 +02:00
|
|
|
|
2022-01-25 22:55:48 +01:00
|
|
|
import pytest
|
|
|
|
from firebird.qa import *
|
2021-04-26 20:07:00 +02:00
|
|
|
|
2022-01-25 22:55:48 +01:00
|
|
|
db = db_factory()
|
2021-04-26 20:07:00 +02:00
|
|
|
|
2022-01-25 22:55:48 +01:00
|
|
|
test_script = """
|
2021-04-26 20:07:00 +02:00
|
|
|
select r.rdb$relation_id as id, count(*) as cnt
|
|
|
|
from rdb$database r
|
|
|
|
group by r.rdb$relation_id
|
|
|
|
having count(*) not in (select r2.rdb$relation_id from rdb$database r2)
|
|
|
|
and 1=0
|
|
|
|
;
|
2021-12-22 20:23:11 +01:00
|
|
|
"""
|
2021-04-26 20:07:00 +02:00
|
|
|
|
2022-01-25 22:55:48 +01:00
|
|
|
act = isql_act('db', test_script)
|
2021-04-26 20:07:00 +02:00
|
|
|
|
|
|
|
@pytest.mark.version('>=3.0')
|
2022-01-25 22:55:48 +01:00
|
|
|
def test_1(act: Action):
|
|
|
|
act.execute()
|
2021-04-26 20:07:00 +02:00
|
|
|
|