query TI colnames,rowsort
SELECT * FROM (VALUES ('a'), ('b')) WITH ORDINALITY AS x(name, i)
----
name i
a 1
b 2

query I colnames,rowsort
SELECT ordinality FROM (VALUES ('a'), ('b')) WITH ORDINALITY
----
ordinality
1
2

statement ok
CREATE TABLE foo (x CHAR PRIMARY KEY); INSERT INTO foo(x) VALUES ('a'), ('b')

query TI rowsort
SELECT * FROM foo WITH ORDINALITY
----
a 1
b 2

query TI
SELECT * FROM foo WITH ORDINALITY LIMIT 1
----
a 1

query I
SELECT max(ordinality) FROM foo WITH ORDINALITY
----
2

query TITI rowsort
SELECT * FROM foo WITH ORDINALITY AS a, foo WITH ORDINALITY AS b
----
a 1 a 1
a 1 b 2
b 2 a 1
b 2 b 2

query TI rowsort
SELECT * FROM (SELECT x||x FROM foo) WITH ORDINALITY
----
aa 1
bb 2

query TII rowsort
SELECT * FROM (SELECT x, ordinality*2 FROM foo WITH ORDINALITY AS a) JOIN foo WITH ORDINALITY AS b USING(x)
----
a 2 1
b 4 2

query TI
SELECT * FROM (SELECT * FROM foo ORDER BY x DESC) WITH ORDINALITY LIMIT 1
----
b 1

query TI
SELECT * FROM (SELECT * FROM foo ORDER BY x) WITH ORDINALITY ORDER BY x DESC LIMIT 1
----
b 2

query TI
SELECT * FROM (SELECT * FROM foo ORDER BY x) WITH ORDINALITY ORDER BY ordinality DESC LIMIT 1
----
b 2

statement ok
INSERT INTO foo(x) VALUES ('c')

query TI rowsort
SELECT * FROM foo WITH ORDINALITY WHERE x > 'a'
----
b 2
c 3

query TI rowsort
SELECT * FROM foo WITH ORDINALITY WHERE ordinality > 1 ORDER BY ordinality DESC
----
c 3
b 2

query TI rowsort
SELECT * FROM (SELECT * FROM foo WHERE x > 'a') WITH ORDINALITY
----
b 1
c 2

query B rowsort
SELECT ordinality = row_number() OVER () FROM foo WITH ORDINALITY
----
true
true
true

# Regression test for #33659
statement ok
TABLE [SHOW ZONE CONFIGURATIONS] WITH ORDINALITY

# Regression test for #41760
query TI
SELECT * FROM (SELECT * FROM foo LIMIT 1) WITH ORDINALITY
----
a 1
