8000 Added/Updated tests\bugs\core_3672_test.py: Added 'SCHEMA_PREFIX' to … · FirebirdSQL/firebird-qa@a76b5fe · GitHub
[go: up one dir, main page]

Skip to content

Commit a76b5fe

Browse files
committed
Added/Updated tests\bugs\core_3672_test.py: Added 'SCHEMA_PREFIX' to be substituted in expected_out on FB 6.x. Checked on 6.0.0.876; 5.0.3.1668; 4.0.6.3214; 3.0.13.33813.
1 parent 4b7d0e6 commit a76b5fe

File tree

1 file changed

+32
-19
lines changed

1 file changed

+32
-19
lines changed

tests/bugs/core_3672_test.py

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,25 @@
77
DESCRIPTION:
88
JIRA: CORE-3672
99
FBTEST: bugs.core_3672
10+
NOTES:
11+
[27.06.2025] pzotov
12+
Added 'SCHEMA_PREFIX' to be substituted in expected_out on FB 6.x
13+
Checked on 6.0.0.876; 5.0.3.1668; 4.0.6.3214; 3.0.13.33813.
1014
"""
1115

1216
import pytest
1317
from firebird.qa import *
1418

1519
db = db_factory()
1620

17-
test_script = """
21+
IDX_EXPR_1 = 'substring(col1 from 1 for 169)'
22+
IDX_EXPR_2 = 'substring(trim( col2 from col1 ) from 1 for 169) '
23+
IDX_EXPR_3 = 'col2'
24+
IDX_EXPR_4 = 'substring(col2 from 1 for 169)'
25+
IDX_EXPR_5 = 'col3'
26+
IDX_EXPR_6 = 'substring(col3 from 1 for 169)'
27+
28+
test_script = f"""
1829
recreate table test(
1930
col1 varchar(8190) character set utf8 collate unicode_ci_ai
2031
,col2 computed by ( substring(col1 from 1 for 169) )
@@ -27,12 +38,12 @@
2738
-- max_key_length = floor( (page_size / 4 - 9) / N ) = 169 characters.
2839
2940
-- Verify that we CAN do that w/o error:
30-
create index test_col1_idx_a on test computed by ( substring(col1 from 1 for 169) );
31-
create index test_col1_idx_b on test computed by ( substring(trim( col2 from col1 ) from 1 for 169) );
32-
create index test_col2_idx_a on test computed by ( col2 );
33-
create index test_col2_idx_b on test computed by ( substring(col2 from 1 for 169) );
34-
create index test_col3_idx_a on test computed by ( col3 );
35-
create index test_col3_idx_b on test computed by ( substring(col3 from 1 for 169) );
41+
create index test_col1_idx_a on test computed by ( {IDX_EXPR_1} );
42+
create index test_col1_idx_b on test computed by ( {IDX_EXPR_2} );
43+
create index test_col2_idx_a on test computed by ( {IDX_EXPR_3} );
44+
create index test_col2_idx_b on test computed by ( {IDX_EXPR_4} );
45+
create index test_col3_idx_a on test computed by ( {IDX_EXPR_5} );
46+
create index test_col3_idx_b on test computed by ( {IDX_EXPR_6} );
3647
commit;
3748
-- Confirmed for 2.5.5: "-key size exceeds implementation restriction"
3849
@@ -46,18 +57,20 @@
4657

4758
act = isql_act('db', test_script)
4859

49-
expected_stdout = """
50-
TEST_COL1_IDX_A INDEX ON TEST COMPUTED BY ( substring(col1 from 1 for 169) )
51-
TEST_COL1_IDX_B INDEX ON TEST COMPUTED BY ( substring(trim( col2 from col1 ) from 1 for 169) )
52-
TEST_COL2_IDX_A INDEX ON TEST COMPUTED BY ( col2 )
53-
TEST_COL2_IDX_B INDEX ON TEST COMPUTED BY ( substring(col2 from 1 for 169) )
54-
TEST_COL3_IDX_A INDEX ON TEST COMPUTED BY ( col3 )
55-
TEST_COL3_IDX_B INDEX ON TEST COMPUTED BY ( substring(col3 from 1 for 169) )
56-
"""
57-
58-
@pytest.mark.version('>=3.0')
60+
@pytest.mark.version('>=3')
5961
def test_1(act: Action):
62+
63+
SCHEMA_PREFIX = '' if act.is_version('<6') else 'PUBLIC.'
64+
65+
expected_stdout = f"""
66+
{SCHEMA_PREFIX}TEST_COL1_IDX_A INDEX ON TEST COMPUTED BY ( {IDX_EXPR_1} )
67+
{SCHEMA_PREFIX}TEST_COL1_IDX_B INDEX ON TEST COMPUTED BY ( {IDX_EXPR_2} )
68+
{SCHEMA_PREFIX}TEST_COL2_IDX_A INDEX ON TEST COMPUTED BY ( {IDX_EXPR_3} )
69+
{SCHEMA_PREFIX}TEST_COL2_IDX_B INDEX ON TEST COMPUTED BY ( {IDX_EXPR_4} )
70+
{SCHEMA_PREFIX}TEST_COL3_IDX_A INDEX ON TEST COMPUTED BY ( {IDX_EXPR_5} )
71+
{SCHEMA_PREFIX}TEST_COL3_IDX_B INDEX ON TEST COMPUTED BY ( {IDX_EXPR_6} )
72+
"""
73+
6074
act.expected_stdout = expected_stdout
61-
act.execute()
75+
act.execute(combine_output = True)
6276
assert act.clean_stdout == act.clean_expected_stdout
63-

0 commit comments

Comments
 (0)
0