mirror of
https://github.com/FirebirdSQL/firebird-qa.git
synced 2025-02-02 02:40:42 +01:00
Added/Updated tests\bugs\core_4137_test.py: Procedure text parameters have collate clause in FB 6.x, added splitting.
This commit is contained in:
parent
23acc4e983
commit
ee235a052a
@ -7,6 +7,9 @@ TITLE: Wrong metadata output script generated by isql / CHARACTER SETISO88
|
||||
DESCRIPTION: NB: missed space in the clause CHARACTER SET<SPACE>ISO8859_1
|
||||
JIRA: CORE-4137
|
||||
FBTEST: bugs.core_4137
|
||||
NOTES:
|
||||
[30.09.2023] pzotov
|
||||
Procedure text parameters have collate clause in FB 6.x, added splitting.
|
||||
"""
|
||||
|
||||
import pytest
|
||||
@ -33,7 +36,7 @@ test_script = """
|
||||
commit;
|
||||
"""
|
||||
|
||||
expected_stdout = """
|
||||
expected_stdout_5x = """
|
||||
SET SQL DIALECT 3;
|
||||
/* Character sets */
|
||||
ALTER CHARACTER SET ISO8859_1 SET DEFAULT COLLATION PT_BR;
|
||||
@ -64,12 +67,42 @@ expected_stdout = """
|
||||
SET AUTODDL ON;
|
||||
"""
|
||||
|
||||
expected_stdout_6x = """
|
||||
SET SQL DIALECT 3;
|
||||
/* Character sets */
|
||||
ALTER CHARACTER SET ISO8859_1 SET DEFAULT COLLATION PT_BR;
|
||||
COMMIT WORK;
|
||||
COMMIT WORK;
|
||||
SET AUTODDL OFF;
|
||||
SET TERM ^ ;
|
||||
/* Stored procedures headers */
|
||||
CREATE OR ALTER PROCEDURE TEST (P01 CHAR(10) CHARACTER SET ISO8859_1 COLLATE PT_BR)
|
||||
RETURNS (O01 VARCHAR(30) CHARACTER SET ISO8859_1 COLLATE PT_BR)
|
||||
AS
|
||||
BEGIN EXIT; END ^
|
||||
SET TERM ; ^
|
||||
COMMIT WORK;
|
||||
SET AUTODDL ON;
|
||||
COMMIT WORK;
|
||||
SET AUTODDL OFF;
|
||||
SET TERM ^ ;
|
||||
/* Stored procedures bodies */
|
||||
ALTER PROCEDURE TEST (P01 CHAR(10) CHARACTER SET ISO8859_1 COLLATE PT_BR)
|
||||
RETURNS (O01 VARCHAR(30) CHARACTER SET ISO8859_1 COLLATE PT_BR)
|
||||
AS
|
||||
begin
|
||||
exit;
|
||||
end ^
|
||||
SET TERM ; ^
|
||||
COMMIT WORK;
|
||||
SET AUTODDL ON;
|
||||
"""
|
||||
|
||||
@pytest.mark.version('>=3.0')
|
||||
def test_1(act: Action):
|
||||
act.isql(switches=[], input=test_script, charset='ISO8859_1')
|
||||
act.reset()
|
||||
act.expected_stdout = expected_stdout
|
||||
act.isql(switches=['-x'])
|
||||
|
||||
act.expected_stdout = expected_stdout_5x if act.is_version('<6') else expected_stdout_6x
|
||||
act.isql(switches=['-x'], combine_output = True)
|
||||
assert act.clean_stdout == act.clean_expected_stdout
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user