# LogicTest: local

# The test below ensures that querying from a materialized view performs a
# scan over the view's data, rather than running the view's query.

statement ok
CREATE TABLE t (x INT, y INT);
INSERT INTO t VALUES (1, 2), (3, 4), (5, 6)

statement ok
CREATE MATERIALIZED VIEW v AS SELECT x, y FROM t

query T
EXPLAIN SELECT * FROM v
----
distribution: local
vectorized: true
·
• scan
  missing stats
  table: v@v_pkey
  spans: FULL SCAN

# Create an index on a materialized view, and ensure that we use it.
statement ok
CREATE INDEX i ON v (y)

query T
EXPLAIN SELECT * FROM v WHERE y = 3
----
distribution: local
vectorized: true
·
• index join
│ table: v@v_pkey
│
└── • scan
      missing stats
      table: v@i
      spans: [/3 - /3]
