# LogicTest: 5node-default-configs

statement ok
CREATE TABLE xyz (
  id INT PRIMARY KEY,
  x INT,
  y INT,
  z INT
)

statement ok
INSERT INTO xyz VALUES
  (1, 1, 1, NULL),
  (2, 1, 1, 2),
  (3, 1, 1, 2),
  (4, 1, 2, 1),
  (5, 2, 2, 3),
  (6, 4, 5, 6),
  (7, 4, 1, 6)

statement ok
CREATE TABLE abc (
  a STRING,
  b STRING,
  c STRING,
  PRIMARY KEY (a, b, c)
)

statement ok
INSERT INTO abc VALUES
  ('1', '1', '1'),
  ('1', '1', '2'),
  ('1', '2', '2'),
  ('2', '3', '4'),
  ('3', '4', '5')

statement ok
ALTER TABLE xyz SPLIT AT VALUES (2), (4), (6), (7)

statement ok
ALTER TABLE xyz EXPERIMENTAL_RELOCATE VALUES
  (ARRAY[1], 0),
  (ARRAY[2], 2),
  (ARRAY[3], 4),
  (ARRAY[4], 6),
  (ARRAY[5], 7)

statement ok
ALTER TABLE abc SPLIT AT VALUES
  (NULL, NULL, NULL),
  ('1', '1', '2'),
  ('1', '2', '2'),
  ('2', '3', '4'),
  ('3', '4', '5')

statement ok
ALTER TABLE abc EXPERIMENTAL_RELOCATE VALUES
  (ARRAY[1], NULL, NULL, NULL),
  (ARRAY[2], '1', '1', '2'),
  (ARRAY[3], '1', '2', '2'),
  (ARRAY[4], '2', '3', '4'),
  (ARRAY[5], '3', '4', '5')

query TTTI colnames,rowsort
SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE xyz WITH DETAILS]
ORDER BY 1
----
start_key           end_key                              replicas  lease_holder
<before:/Table/72>  …/1/2                                {1}       1
…/1/2               …/1/4                                {2}       2
…/1/4               …/1/6                                {3}       3
…/1/6               …/1/7                                {4}       4
…/1/7               <after:/Table/107/1/NULL/NULL/NULL>  {5}       5

query TTTI colnames,rowsort
SELECT start_key, end_key, replicas, lease_holder from [SHOW RANGES FROM TABLE abc WITH DETAILS]
----
start_key                end_key             replicas  lease_holder
<before:/Table/106/1/7>  …/1/NULL/NULL/NULL  {5}       5
…/1/NULL/NULL/NULL       …/1/"1"/"1"/"2"     {1}       1
…/1/"1"/"1"/"2"          …/1/"1"/"2"/"2"     {2}       2
…/1/"1"/"2"/"2"          …/1/"2"/"3"/"4"     {3}       3
…/1/"2"/"3"/"4"          …/1/"3"/"4"/"5"     {4}       4
…/1/"3"/"4"/"5"          <after:/Max>        {5}       5

query III rowsort
SELECT DISTINCT ON (x,y,z) x, y, z FROM xyz
----
1 1 NULL
1 1 2
1 2 1
2 2 3
4 5 6
4 1 6

query III partialsort(1)
SELECT DISTINCT ON (x,y,z) x, y, z FROM xyz ORDER BY x
----
1 1 NULL
1 1 2
1 2 1
2 2 3
4 5 6
4 1 6

query II
SELECT DISTINCT ON (y) x, y FROM xyz ORDER BY y, x
----
1 1
1 2
4 5

query TTT rowsort
SELECT DISTINCT ON (a,b,c) a, b, c FROM abc
----
1  1  1
1  1  2
1  2  2
2  3  4
3  4  5

query TT
SELECT DISTINCT ON (a, b) a, b FROM abc ORDER BY a, b, c
----
1 1
1 2
2 3
3 4
