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_5600_test.py

70 lines
1.5 KiB
Python
Raw Normal View History

2021-04-26 20:07:00 +02:00
#coding:utf-8
2022-01-25 22:55:48 +01:00
"""
ID: issue-5866
ISSUE: 5866
TITLE: Invalid blob id when add a new blob column of type text and update another field
DESCRIPTION:
JIRA: CORE-5600
FBTEST: bugs.core_5600
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
set bail on;
recreate table operation (
id bigint not null,
name blob sub_type text character set utf8 default '' not null,
d_value double precision default 0 not null
);
alter table operation add constraint operation_pk_1 primary key ( id );
insert into operation(id, name, d_value )
select row_number()over() , 'foo', 1
2022-01-25 22:55:48 +01:00
from rdb$types
2021-04-26 20:07:00 +02:00
rows 3
;
commit;
alter table operation add surname blob sub_type text character set utf8 default 'bar' not null;
update operation set id=-id where id=2;
-- NB: do _not_ put "COMMIT;" here!
set blob all;
set list on;
select
id
,name as blob_id_1
,surname as blob_id_2
from operation where abs(id) in (1,2,3);
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, substitutions=[('BLOB_ID_.*', '')])
2021-04-26 20:07:00 +02:00
2022-01-25 22:55:48 +01:00
expected_stdout = """
2021-04-26 20:07:00 +02:00
ID 1
foo
bar
ID -2
foo
bar
ID 3
foo
bar
2021-12-22 20:23:11 +01:00
"""
2021-04-26 20:07:00 +02:00
@pytest.mark.version('>=3.0.3')
2022-01-25 22:55:48 +01:00
def test_1(act: Action):
act.expected_stdout = expected_stdout
act.execute()
assert act.clean_stdout == act.clean_expected_stdout