# LogicTest: fakedist fakedist-opt

# Regression tests for weird explain analyze cases.

statement ok
EXPLAIN ANALYZE (DISTSQL) CREATE TABLE a (a INT PRIMARY KEY)

statement ok
EXPLAIN ANALYZE (DISTSQL) CREATE INDEX ON a(a)

statement ok
EXPLAIN ANALYZE (DISTSQL) INSERT INTO a VALUES (1)

# Make sure failures are okay.
statement error duplicate
EXPLAIN ANALYZE (DISTSQL) INSERT INTO a VALUES (1)

statement error value type string doesn't match type
EXPLAIN ANALYZE (DISTSQL) INSERT INTO a VALUES ('a'::string)

statement ok
EXPLAIN ANALYZE (DISTSQL) INSERT INTO a SELECT a+1 FROM a

statement ok
EXPLAIN ANALYZE (DISTSQL) UPDATE a SET a = a*3

statement ok
EXPLAIN ANALYZE (DISTSQL) UPDATE a SET a = a*3 RETURNING a

statement ok
EXPLAIN ANALYZE (DISTSQL) UPSERT INTO a VALUES(10)

statement error EXPLAIN ANALYZE does not support RETURNING NOTHING statements
EXPLAIN ANALYZE (DISTSQL) UPSERT INTO a VALUES(11) RETURNING NOTHING

# Enable once #29350 is fixed, this fails with
# pq: programming error: invalid index 1 for "<unknown>" when run with the
# optimizer.
# statement ok
# EXPLAIN ANALYZE (DISTSQL) SELECT (SELECT 1);

statement ok
EXPLAIN ANALYZE (DISTSQL) DELETE FROM a

statement ok
EXPLAIN ANALYZE (DISTSQL) DROP TABLE a
