6
0
mirror of https://github.com/FirebirdSQL/firebird-qa.git synced 2025-01-22 21:43:06 +01:00
firebird-qa/tests/bugs/core_6216_test.py

98 lines
28 KiB
Python
Raw Normal View History

2021-04-26 20:07:00 +02:00
#coding:utf-8
2022-01-27 20:08:36 +01:00
"""
ID: issue-6460
ISSUE: 6460
TITLE: request size limit exceeded when selecting from a table with large number of indicies
DESCRIPTION:
JIRA: CORE-6216
FBTEST: bugs.core_6216
2022-01-27 20:08:36 +01:00
"""
2021-04-26 20:07:00 +02:00
2022-01-27 20:08:36 +01:00
import pytest
from firebird.qa import *
2021-04-26 20:07:00 +02:00
2022-01-27 20:08:36 +01:00
db = db_factory()
2021-04-26 20:07:00 +02:00
2022-01-27 20:08:36 +01:00
test_script = """
2021-04-26 20:07:00 +02:00
recreate table TABLE_TEST
(
FIELD0 bigint not null,
FIELD1 bigint,
FIELD2 bigint,
FIELD3 bigint,
FIELD4 bigint,
FIELD5 bigint,
FIELD6 bigint,
FIELD7 bigint,
FIELD8 bigint,
FIELD9 bigint,
FIELD10 bigint,
FIELD11 bigint,
FIELD12 bigint,
FIELD13 bigint,
FIELD14 bigint,
FIELD15 bigint,
FIELD16 bigint,
FIELD17 bigint,
FIELD18 bigint,
FIELD19 bigint,
FIELD20 bigint,
FIELD21 bigint,
constraint PK_TABLE_TEST primary key (FIELD0)
);
create index TABLE_TEST_FIELD2 on TABLE_TEST(FIELD2);
create index TABLE_TEST_FIELD3 on TABLE_TEST(FIELD3);
create index TABLE_TEST_FIELD4 on TABLE_TEST(FIELD4);
create index TABLE_TEST_FIELD5 on TABLE_TEST(FIELD5);
create index TABLE_TEST_FIELD6 on TABLE_TEST(FIELD6);
create index TABLE_TEST_FIELD7 on TABLE_TEST(FIELD6);
create index TABLE_TEST_FIELD8 on TABLE_TEST(FIELD8);
create index TABLE_TEST_FIELD9 on TABLE_TEST(FIELD9);
create index TABLE_TEST_FIELD10 on TABLE_TEST(FIELD10);
create index TABLE_TEST_FIELD11 on TABLE_TEST(FIELD11);
create index TABLE_TEST_FIELD12 on TABLE_TEST(FIELD12);
create index TABLE_TEST_FIELD13 on TABLE_TEST(FIELD13);
create index TABLE_TEST_FIELD14 on TABLE_TEST(FIELD14);
create index TABLE_TEST_FIELD15 on TABLE_TEST(FIELD15);
create index TABLE_TEST_FIELD16 on TABLE_TEST(FIELD16);
create index TABLE_TEST_FIELD17 on TABLE_TEST(FIELD17);
create index TABLE_TEST_FIELD18 on TABLE_TEST(FIELD18);
create index TABLE_TEST_FIELD19 on TABLE_TEST(FIELD19);
create index TABLE_TEST_FIELD20 on TABLE_TEST(FIELD20);
create index TABLE_TEST_FIELD21 on TABLE_TEST(FIELD21);
set list on;
SELECT
(select field1
from TABLE_TEST t
where t.field1 in (90,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,990000000002022,990000000002023,990000000002024,990000000002025,990000000002027,990000000002028,990000000002030,990000000002031,990000000002033,990000000002034,990000000002038,990000000002039,990000000002040,990000000002041,90,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,990000000002022,990000000002023,990000000002024,990000000002025,990000000002027,990000000002028,990000000002030,990000000002031,990000000002033,990000000002034,990000000002038,990000000002039,990000000002040,99000000000204190,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,99
),
(select field1
from TABLE_TEST t
where t.field1 in (90,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,990000000002022,990000000002023,990000000002024,990000000002025,990000000002027,990000000002028,990000000002030,990000000002031,990000000002033,990000000002034,990000000002038,990000000002039,990000000002040,990000000002041,90,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,990000000002022,990000000002023,990000000002024,990000000002025,990000000002027,990000000002028,990000000002030,990000000002031,990000000002033,990000000002034,990000000002038,990000000002039,990000000002040,99000000000204190,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,99
),
(select field1
from TABLE_TEST t
where t.field1 in (90,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,990000000002022,990000000002023,990000000002024,990000000002025,990000000002027,990000000002028,990000000002030,990000000002031,990000000002033,990000000002034,990000000002038,990000000002039,990000000002040,990000000002041,90,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,990000000002022,990000000002023,990000000002024,990000000002025,990000000002027,990000000002028,990000000002030,990000000002031,990000000002033,990000000002034,990000000002038,990000000002039,990000000002040,99000000000204190,288,991020000000001,991020000000002,272,316,368,376,225,254,262,133,237,361,210,384,336,275,285,339,346,10,17,52,53,68,108,109,116,125,126,142,153,155,180,189,205,206,208,216,218,221,223,238,240,256,266,274,276,289,291,293,334,337,343,352,369,377,990004324,3,5,6,15,16,28,33,36,25,111,129,137,235,284,350,363,371,207,209,224,228,239,263,281,282,96,43,226,236,280,331,333,375,67,178,181,366,391,22,185,4,87,134,166,164,103,197,39,98,172,261,386,106,118,345,392,40,122,184,257,200,379,367,143,194,85,18,30,123,139,147,296,297,45,991020000000007,349,38,144,145,146,170,182,187,190,233,271,277,299,300,389,95,83,312,330,232,267,310,241,227,302,303,304,305,306,307,308,311,314,319,321,322,324,327,335,340,342,351,353,354,355,356,357,358,359,360,365,373,381,388,991020000000005,990000000000016,990000000000101,990000000000102,990000000000201,990000000000202,990000000000203,990000000002001,990000000002002,990000000002003,990000000002004,990000000002005,990000000002006,990000000002007,990000000002008,990000000002009,990000000002010,990000000002011,990000000002012,990000000002013,990000000002014,990000000002015,990000000002016,990000000002017,990000000002018,990000000002019,990000000002020,990000000002021,99
)
from rdb$database;
2021-12-22 20:23:11 +01:00
"""
2021-04-26 20:07:00 +02:00
2022-01-27 20:08:36 +01:00
act = isql_act('db', test_script, substitutions=[('[ \t]+', ' ')])
2021-04-26 20:07:00 +02:00
2022-01-27 20:08:36 +01:00
expected_stdout = """
2021-04-26 20:07:00 +02:00
FIELD1 <null>
FIELD1 <null>
FIELD1 <null>
2021-12-22 20:23:11 +01:00
"""
2021-04-26 20:07:00 +02:00
@pytest.mark.version('>=3.0.6')
2022-01-27 20:08:36 +01:00
def test_1(act: Action):
act.expected_stdout = expected_stdout
act.execute()
assert act.clean_stdout == act.clean_expected_stdout