Skip to content

Commit 17f1c09

Browse files
authored
Add PSQL comparison tests for except, intersect (#1292)
1 parent 7824a8d commit 17f1c09

5 files changed

+101
-1
lines changed
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
11+
-- Unless required by applicable law or agreed to in writing, software
12+
-- distributed under the License is distributed on an "AS IS" BASIS,
13+
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
-- See the License for the specific language governing permissions and
15+
-- limitations under the License.
16+
17+
SELECT * FROM (
18+
SELECT c2
19+
FROM test t1
20+
EXCEPT
21+
SELECT c2
22+
FROM test t2
23+
WHERE c2 IN (3, 4)
24+
) s
25+
ORDER BY c2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
11+
-- Unless required by applicable law or agreed to in writing, software
12+
-- distributed under the License is distributed on an "AS IS" BASIS,
13+
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
-- See the License for the specific language governing permissions and
15+
-- limitations under the License.
16+
17+
SELECT * FROM (
18+
SELECT c2
19+
FROM test t1
20+
EXCEPT ALL
21+
SELECT c2
22+
FROM test t2
23+
WHERE c2 IN (3, 4)
24+
) s
25+
ORDER BY c2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
11+
-- Unless required by applicable law or agreed to in writing, software
12+
-- distributed under the License is distributed on an "AS IS" BASIS,
13+
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
-- See the License for the specific language governing permissions and
15+
-- limitations under the License.
16+
17+
SELECT * FROM (
18+
SELECT c2
19+
FROM test t1
20+
INTERSECT
21+
SELECT c2
22+
FROM test t2
23+
WHERE c2 IN (3, 4)
24+
) s
25+
ORDER BY c2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
11+
-- Unless required by applicable law or agreed to in writing, software
12+
-- distributed under the License is distributed on an "AS IS" BASIS,
13+
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
-- See the License for the specific language governing permissions and
15+
-- limitations under the License.
16+
17+
SELECT * FROM (
18+
SELECT c2
19+
FROM test t1
20+
INTERSECT ALL
21+
SELECT c2
22+
FROM test t2
23+
WHERE c2 IN (3, 4)
24+
) s
25+
ORDER BY c2

integration-tests/test_psql_parity.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def generate_csv_from_psql(fname: str):
7777

7878
class TestPsqlParity:
7979
def test_tests_count(self):
80-
assert len(test_files) == 16, "tests are missed"
80+
assert len(test_files) == 20, "tests are missed"
8181

8282
@pytest.mark.parametrize("fname", test_files)
8383
def test_sql_file(self, fname):

0 commit comments

Comments
 (0)