Files
greptimedb/tests/cases/standalone/common/view/show_create.result
dennis zhuang 33ed745049 feat: show create view and creating view with columns (#4086)
* feat: parse column names when creating view

* feat: save the view definition into view info

* feat: supports view columns and show create view

* feat: save plan columns for validation

* fix: typo

* chore: comments and style

* chore: apply suggestions

* test: assert CreateView display result

* chore: style

Co-authored-by: Weny Xu <wenymedia@gmail.com>

* chore: avoid the clone

Co-authored-by: Weny Xu <wenymedia@gmail.com>

* fix: compile error after rebeasing

---------

Co-authored-by: Weny Xu <wenymedia@gmail.com>
2024-07-09 18:35:11 +00:00

137 lines
3.3 KiB
Plaintext

CREATE DATABASE schema_for_view_test;
Affected Rows: 1
USE schema_for_view_test;
Affected Rows: 0
CREATE TABLE t1(a INT, b STRING, c TIMESTAMP TIME INDEX);
Affected Rows: 0
INSERT INTO t1 VALUES (41, "hello", 1), (42, "world", 2), (43, "greptime", 3);
Affected Rows: 3
CREATE VIEW v1 AS SELECT a, b FROM t1;
Affected Rows: 0
SELECT * FROM v1;
+----+----------+
| a | b |
+----+----------+
| 41 | hello |
| 42 | world |
| 43 | greptime |
+----+----------+
SELECT a FROM v1;
+----+
| a |
+----+
| 41 |
| 42 |
| 43 |
+----+
INSERT INTO t1 VALUES (44, "greptimedb", 4);
Affected Rows: 1
SELECT * FROM v1;
+----+------------+
| a | b |
+----+------------+
| 41 | hello |
| 42 | world |
| 43 | greptime |
| 44 | greptimedb |
+----+------------+
SHOW CREATE VIEW v1;
+------+---------------------------------------+
| View | Create View |
+------+---------------------------------------+
| v1 | CREATE VIEW v1 AS SELECT a, b FROM t1 |
+------+---------------------------------------+
CREATE OR REPLACE VIEW v1 AS SELECT a, b, c FROM t1 WHERE a > 43;
Affected Rows: 0
SHOW CREATE VIEW v1;
+------+------------------------------------------------------------------+
| View | Create View |
+------+------------------------------------------------------------------+
| v1 | CREATE OR REPLACE VIEW v1 AS SELECT a, b, c FROM t1 WHERE a > 43 |
+------+------------------------------------------------------------------+
SELECT * FROM v1;
+----+------------+-------------------------+
| a | b | c |
+----+------------+-------------------------+
| 44 | greptimedb | 1970-01-01T00:00:00.004 |
+----+------------+-------------------------+
--- if not exists, so it doesn't change at all ---
CREATE VIEW IF NOT EXISTS v1 AS SELECT c FROM t1;
Affected Rows: 0
SHOW CREATE VIEW v1;
+------+------------------------------------------------------------------+
| View | Create View |
+------+------------------------------------------------------------------+
| v1 | CREATE OR REPLACE VIEW v1 AS SELECT a, b, c FROM t1 WHERE a > 43 |
+------+------------------------------------------------------------------+
SELECT * FROM v1;
+----+------------+-------------------------+
| a | b | c |
+----+------------+-------------------------+
| 44 | greptimedb | 1970-01-01T00:00:00.004 |
+----+------------+-------------------------+
--- if not exists with replace, so it changes ---
CREATE OR REPLACE VIEW IF NOT EXISTS v1 AS SELECT c FROM t1;
Affected Rows: 0
SHOW CREATE VIEW v1;
+------+-------------------------------------------------------------+
| View | Create View |
+------+-------------------------------------------------------------+
| v1 | CREATE OR REPLACE VIEW IF NOT EXISTS v1 AS SELECT c FROM t1 |
+------+-------------------------------------------------------------+
SELECT * FROM v1;
+-------------------------+
| c |
+-------------------------+
| 1970-01-01T00:00:00.001 |
| 1970-01-01T00:00:00.002 |
| 1970-01-01T00:00:00.003 |
| 1970-01-01T00:00:00.004 |
+-------------------------+
USE public;
Affected Rows: 0
DROP DATABASE schema_for_view_test;
Affected Rows: 0