From a159bd9aed9f026559bea47dc7b051d1b98c5b31 Mon Sep 17 00:00:00 2001 From: Onder Kalaci Date: Wed, 17 Apr 2019 14:40:41 +0300 Subject: [PATCH] Add order by window_functions --- .../regress/expected/window_functions.out | 70 +++++++++---------- .../regress/expected/window_functions_0.out | 6 +- src/test/regress/sql/window_functions.sql | 6 +- 3 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/test/regress/expected/window_functions.out b/src/test/regress/expected/window_functions.out index 859efbc91..f9e004cc8 100644 --- a/src/test/regress/expected/window_functions.out +++ b/src/test/regress/expected/window_functions.out @@ -422,7 +422,7 @@ FROM WHERE user_id > 2 AND user_id < 6 ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; user_id | value_1 | array_agg | array_agg ---------+---------+-------------------------------------------------------+----------------------------------------------------- 3 | 0 | {0} | @@ -507,7 +507,7 @@ WINDOW range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING), range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW) ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; user_id | value_1 | array_agg | array_agg ---------+---------+---------------------------------------+------------------------------------- 3 | 0 | {0,1,1,1,1,1,1} | {1,1,1,1,1,1} @@ -592,40 +592,40 @@ WINDOW row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING), row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW) ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; user_id | value_1 | array_agg | array_agg ---------+---------+-----------+----------- 3 | 0 | {0,1} | {1} - 3 | 1 | {1,1,1} | {1,1} - 3 | 1 | {1,1,2} | {1,2} 3 | 1 | {0,1,1} | {0,1} 3 | 1 | {1,1,1} | {1,1} 3 | 1 | {1,1,1} | {1,1} 3 | 1 | {1,1,1} | {1,1} + 3 | 1 | {1,1,1} | {1,1} + 3 | 1 | {1,1,2} | {1,2} 3 | 2 | {1,2,2} | {1,2} 3 | 2 | {2,2,3} | {2,3} 3 | 3 | {2,3,3} | {2,3} - 3 | 3 | {3,3,4} | {3,4} 3 | 3 | {3,3,3} | {3,3} - 3 | 4 | {4,4,4} | {4,4} - 3 | 4 | {4,4,4} | {4,4} + 3 | 3 | {3,3,4} | {3,4} 3 | 4 | {3,4,4} | {3,4} + 3 | 4 | {4,4,4} | {4,4} + 3 | 4 | {4,4,4} | {4,4} 3 | 4 | {4,4,5} | {4,5} 3 | 5 | {4,5} | {4} - 4 | 0 | {0,0,1} | {0,1} - 4 | 0 | {0,0,0} | {0,0} 4 | 0 | {0,0} | {0} 4 | 0 | {0,0,0} | {0,0} + 4 | 0 | {0,0,0} | {0,0} + 4 | 0 | {0,0,1} | {0,1} 4 | 1 | {0,1,2} | {0,2} - 4 | 2 | {2,2,3} | {2,3} - 4 | 2 | {2,2,2} | {2,2} 4 | 2 | {1,2,2} | {1,2} - 4 | 3 | {3,3,4} | {3,4} - 4 | 3 | {3,3,3} | {3,3} - 4 | 3 | {3,3,3} | {3,3} - 4 | 3 | {3,3,3} | {3,3} - 4 | 3 | {3,3,3} | {3,3} + 4 | 2 | {2,2,2} | {2,2} + 4 | 2 | {2,2,3} | {2,3} 4 | 3 | {2,3,3} | {2,3} + 4 | 3 | {3,3,3} | {3,3} + 4 | 3 | {3,3,3} | {3,3} + 4 | 3 | {3,3,3} | {3,3} + 4 | 3 | {3,3,3} | {3,3} + 4 | 3 | {3,3,4} | {3,4} 4 | 4 | {3,4,4} | {3,4} 4 | 4 | {4,4,4} | {4,4} 4 | 4 | {4,4,4} | {4,4} @@ -633,34 +633,34 @@ ORDER BY 4 | 4 | {4,4,4} | {4,4} 4 | 4 | {4,4,4} | {4,4} 4 | 4 | {4,4,5} | {4,5} - 4 | 5 | {5,5} | {5} 4 | 5 | {4,5,5} | {4,5} - 5 | 0 | {0,0,1} | {0,1} + 4 | 5 | {5,5} | {5} 5 | 0 | {0,0} | {0} + 5 | 0 | {0,0,1} | {0,1} + 5 | 1 | {0,1,1} | {0,1} 5 | 1 | {1,1,1} | {1,1} 5 | 1 | {1,1,2} | {1,2} - 5 | 1 | {0,1,1} | {0,1} - 5 | 2 | {2,2,2} | {2,2} 5 | 2 | {1,2,2} | {1,2} + 5 | 2 | {2,2,2} | {2,2} + 5 | 2 | {2,2,2} | {2,2} + 5 | 2 | {2,2,2} | {2,2} + 5 | 2 | {2,2,2} | {2,2} 5 | 2 | {2,2,3} | {2,3} - 5 | 2 | {2,2,2} | {2,2} - 5 | 2 | {2,2,2} | {2,2} - 5 | 2 | {2,2,2} | {2,2} - 5 | 3 | {3,3,4} | {3,4} - 5 | 3 | {3,3,3} | {3,3} - 5 | 3 | {3,3,3} | {3,3} - 5 | 3 | {3,3,3} | {3,3} - 5 | 3 | {3,3,3} | {3,3} - 5 | 3 | {3,3,3} | {3,3} - 5 | 3 | {3,3,3} | {3,3} - 5 | 3 | {3,3,3} | {3,3} 5 | 3 | {2,3,3} | {2,3} - 5 | 4 | {4,4,5} | {4,5} - 5 | 4 | {4,4,4} | {4,4} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,3} | {3,3} + 5 | 3 | {3,3,4} | {3,4} 5 | 4 | {3,4,4} | {3,4} + 5 | 4 | {4,4,4} | {4,4} + 5 | 4 | {4,4,5} | {4,5} + 5 | 5 | {4,5,5} | {4,5} 5 | 5 | {5,5} | {5} 5 | 5 | {5,5,5} | {5,5} - 5 | 5 | {4,5,5} | {4,5} (66 rows) -- some tests with GROUP BY, HAVING and LIMIT diff --git a/src/test/regress/expected/window_functions_0.out b/src/test/regress/expected/window_functions_0.out index 305d2c2a1..185765ef4 100644 --- a/src/test/regress/expected/window_functions_0.out +++ b/src/test/regress/expected/window_functions_0.out @@ -422,7 +422,7 @@ FROM WHERE user_id > 2 AND user_id < 6 ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; ERROR: syntax error at or near "EXCLUDE" LINE 5: ...ANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW EXCLUDE CU... ^ @@ -440,7 +440,7 @@ WINDOW range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING), range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW) ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; ERROR: RANGE PRECEDING is only supported with UNBOUNDED LINE 11: ..._window as (PARTITION BY user_id ORDER BY value_1 RANGE BETW... ^ @@ -458,7 +458,7 @@ WINDOW row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING), row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW) ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; ERROR: syntax error at or near "EXCLUDE" LINE 12: ...value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CU... ^ diff --git a/src/test/regress/sql/window_functions.sql b/src/test/regress/sql/window_functions.sql index 071c45519..45e37372e 100644 --- a/src/test/regress/sql/window_functions.sql +++ b/src/test/regress/sql/window_functions.sql @@ -239,7 +239,7 @@ FROM WHERE user_id > 2 AND user_id < 6 ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; -- test preceding and following on RANGE window SELECT @@ -255,7 +255,7 @@ WINDOW range_window as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING), range_window_exclude as (PARTITION BY user_id ORDER BY value_1 RANGE BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW) ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; -- test preceding and following on ROW window SELECT @@ -271,7 +271,7 @@ WINDOW row_window as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING), row_window_exclude as (PARTITION BY user_id ORDER BY value_1 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING EXCLUDE CURRENT ROW) ORDER BY - user_id, value_1; + user_id, value_1, 3, 4; -- some tests with GROUP BY, HAVING and LIMIT SELECT