blob: 43d61febb5f2bcb894679be4ceda5434e4841bfb [file] [log] [blame]
CREATE TABLE event (username string, action string, amount int);
INSERT INTO event VALUES
('john', 'sell', 20),
('john', 'sell', 3),
('john', 'buy', 25),
('john', 'buy', 39),
('john', 'buy', null);
-- hive.default.nulls.last is true by default, it sets NULLS_FIRST for DESC
EXPLAIN AST
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC)
FROM event;
EXPLAIN
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC)
FROM event;
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC)
FROM event;
-- we set hive.default.nulls.last=false, it sets NULLS_LAST for DESC
set hive.default.nulls.last=false;
EXPLAIN AST
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC)
FROM event;
EXPLAIN
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC)
FROM event;
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC)
FROM event;
-- we set hive.default.nulls.last=false but we have explicit NULLS_LAST, we expect NULLS_LAST
set hive.default.nulls.last=false;
EXPLAIN AST
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC NULLS LAST)
FROM event;
EXPLAIN
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC NULLS LAST)
FROM event;
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC NULLS LAST)
FROM event;
-- we have explicit NULLS_FIRST, we expect NULLS_FIRST
EXPLAIN AST
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC NULLS FIRST)
FROM event;
EXPLAIN
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC NULLS FIRST)
FROM event;
SELECT username, action, amount, row_number() OVER (PARTITION BY username, action ORDER BY action DESC, amount DESC NULLS FIRST)
FROM event;