Skip to content

Commit fe8a91e

Browse files
committed
Add a test tests/functional/arno/derived_tables/test_24.py from fbtest.
1 parent c3bb73e commit fe8a91e

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#coding:utf-8
2+
3+
"""
4+
ID: derived-table-24
5+
TITLE: Derived table with outer reference from LEFT JOIN.
6+
DESCRIPTION: Outer reference inside derived table to other relations in from clause is not allowed.
7+
FBTEST: functional.arno.derived_tables.26
8+
"""
9+
10+
import pytest
11+
from firebird.qa import *
12+
13+
init_script = """CREATE TABLE Table_10 (
14+
ID INTEGER NOT NULL,
15+
DESCRIPTION VARCHAR(10)
16+
);
17+
18+
COMMIT;
19+
20+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (0, NULL);
21+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (1, 'one');
22+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (2, 'two');
23+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (3, 'three');
24+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (4, 'four');
25+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (5, 'five');
26+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (6, 'six');
27+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (7, 'seven');
28+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (8, 'eight');
29+
INSERT INTO Table_10 (ID, DESCRIPTION) VALUES (9, 'nine');
30+
31+
COMMIT;"""
32+
33+
db = db_factory(init=init_script)
34+
35+
test_script = """SELECT
36+
dt.*
37+
FROM
38+
Table_10 t10
39+
LEFT JOIN (SELECT * FROM Table_10 t2 WHERE t2.ID = t10.ID) dt ON (1 = 1);"""
40+
41+
act = isql_act('db', test_script, substitutions=[('-At line.*','')])
42+
43+
expected_stderr = """
44+
Statement failed, SQLSTATE = 42S22
45+
Dynamic SQL Error
46+
-SQL error code = -206
47+
-Column unknown
48+
-T10.ID
49+
-At line 5, column 58
50+
"""
51+
52+
@pytest.mark.version('>=3')
53+
def test_1(act: Action):
54+
act.expected_stderr = expected_stderr
55+
act.execute()
56+
assert act.clean_stderr == act.clean_expected_stderr

0 commit comments

Comments
 (0)