mirror of https://github.com/citusdata/citus.git
116 lines
3.2 KiB
SQL
116 lines
3.2 KiB
SQL
-- Test to debug PostgreSQL 1-- Test the actual failing pattern before
|
|
SELECT users_table.value_1 as value1
|
|
FROM (
|
|
SELECT event_type, users_table.user_id
|
|
FROM users_table,
|
|
(
|
|
SELECT user_id, event_type
|
|
FROM events_table
|
|
WHERE value_2 < 3
|
|
ORDER BY 1, 2
|
|
LIMIT 1
|
|
) as foo
|
|
WHERE foo.user_id = users_table.user_id
|
|
) bar, users_table
|
|
WHERE bar.user_id = users_table.user_id
|
|
GROUP BY value1;
|
|
-- First let's test with our existing setup
|
|
\c citus
|
|
|
|
-- Simple subquery that should work
|
|
SELECT user_id FROM (SELECT user_id FROM users_table WHERE user_id = 1) sub;
|
|
|
|
-- Test aggregate subquery (this might have ?column? issue)
|
|
SELECT * FROM (SELECT avg(user_id) FROM users_table) sub;
|
|
|
|
-- Test complex subquery similar to the failing one
|
|
SELECT * FROM (
|
|
SELECT avg(event_type) as avg_val
|
|
FROM (
|
|
SELECT event_type
|
|
FROM events_table
|
|
WHERE value_2 < 3
|
|
LIMIT 1
|
|
) foo
|
|
) bar;
|
|
|
|
--Test simple alias
|
|
SELECT value_1 as value1
|
|
from (
|
|
select * from (
|
|
select * from users_table
|
|
) as tab2
|
|
) as tab;
|
|
|
|
-- Test the actual failing pattern before
|
|
SELECT users_table.value_1 as value1
|
|
FROM (
|
|
SELECT event_type, users_table.user_id
|
|
FROM users_table,
|
|
(
|
|
SELECT user_id, event_type
|
|
FROM events_table
|
|
WHERE value_2 < 3
|
|
ORDER BY 1, 2
|
|
LIMIT 1
|
|
) as foo
|
|
WHERE foo.user_id = users_table.user_id
|
|
) bar, users_table
|
|
WHERE bar.user_id = users_table.user_id
|
|
;
|
|
|
|
-- Test the actual failing pattern
|
|
-- Test the simplified ?column? issue
|
|
SELECT DISTINCT user_id
|
|
FROM (
|
|
SELECT users_table.user_id
|
|
FROM users_table,
|
|
(
|
|
SELECT event_type as avg_val
|
|
FROM (
|
|
SELECT event_type, a_users.user_id
|
|
FROM users_table as a_users,
|
|
(
|
|
SELECT user_id, event_type
|
|
FROM events_table
|
|
WHERE value_2 < 3
|
|
ORDER BY 1, 2
|
|
LIMIT 1
|
|
) as foo
|
|
WHERE foo.user_id = a_users.user_id
|
|
) bar, users_table as b_users
|
|
WHERE bar.user_id = b_users.user_id
|
|
) as baz
|
|
WHERE baz.avg_val < users_table.user_id
|
|
ORDER BY 1
|
|
LIMIT 1
|
|
) as sub1;
|
|
|
|
|
|
-- Test the actual failing pattern
|
|
-- Test the simplified ?column? issue
|
|
SELECT DISTINCT user_id
|
|
FROM (
|
|
SELECT users_table.user_id
|
|
FROM users_table,
|
|
(
|
|
SELECT avg(event_type) as avg_val
|
|
FROM (
|
|
SELECT event_type, a_users.user_id
|
|
FROM users_table as a_users,
|
|
(
|
|
SELECT user_id, event_type
|
|
FROM events_table
|
|
WHERE value_2 < 3
|
|
ORDER BY 1, 2
|
|
LIMIT 1
|
|
) as foo
|
|
WHERE foo.user_id = a_users.user_id
|
|
) bar, users_table as b_users
|
|
WHERE bar.user_id = b_users.user_id
|
|
GROUP BY b_users.value_1
|
|
) as baz
|
|
WHERE baz.avg_val < users_table.user_id
|
|
ORDER BY 1
|
|
LIMIT 1
|
|
) as sub1; |