From 75ee63b99abd2b641fb630b9b35ce1f3cb17eb8e Mon Sep 17 00:00:00 2001 From: "thomas.boussekey" Date: Thu, 21 Jul 2022 16:38:26 +0200 Subject: [PATCH] Fix minor typos in README (#16) --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 94c06a3..3f45714 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ We call a materialized view supporting IVM an **Incrementally Maintainable Mater SELECT create_immv('myview', 'SELECT * FROM mytab'); ``` -creates an IMMV with name 'myview' defined as 'SELECT * FROM mytab'. This is corresponding to the following command to create a normal materialized view; +creates an IMMV with name 'myview' defined as `SELECT * FROM mytab`. This is corresponding to the following command to create a normal materialized view; ```sql CREATE MATERIALIZED VIEW myview AS SELECT * FROM mytab; @@ -82,7 +82,7 @@ When `pg_ivm` is installed, the following objects are created. #### create_imm -Use `create_immv` function to creae IMMV. +Use `create_immv` function to create IMMV. ``` create_immv(immv_name text, view_definition text) RETURNS bigint ``` @@ -165,7 +165,7 @@ test=# SELECT * FROM immv WHERE aid = 1; (1 row) ``` -An appropriate indexe on IMMV is necessary for efficient IVM because we need to looks for tuples to be updated in IMMV. If there are no indexes, it will take a long time. +An appropriate index on IMMV is necessary for efficient IVM because we need to looks for tuples to be updated in IMMV. If there are no indexes, it will take a long time. Therefore, when an IMMV is created by the `create_immv` function, a unique index is created on it automatically if possible. If the view definition query has a GROUP BY clause, a unique index is created on the columns of GROUP BY expressions. Also, if the view has DISTINCT clause, a unique index is created on all columns in the target list. Otherwise, if the IMMV contains all primary key attritubes of its base tables in the target list, a unique index is created on these attritubes. In other cases, no index is created. @@ -182,9 +182,9 @@ Time: 3224.741 ms (00:03.225) ## Supported View Definitions and Restriction -Currently, IMMV's view definition can contain inner joins, DISTINCT clause, and some built-in aggregate functions. Inner joins including self-join are supported, but outer joins are not supported. Supported aggregate functions are count, sum, and avg. Other aggregates including min and max, sub-quereis, CTEs, window functions, HAVING, LIMIT/OFFSET, UNION/INTERSECT/EXCEPT, DISTINCT ON, TABLEAMPLE, VALUES, and FOR UPDATE/SHARE can not be used in view definition. +Currently, IMMV's view definition can contain inner joins, DISTINCT clause, and some built-in aggregate functions. Inner joins including self-join are supported, but outer joins are not supported. Supported aggregate functions are count, sum, and avg. Other aggregates including min and max, sub-queries, CTEs, window functions, HAVING, LIMIT/OFFSET, UNION/INTERSECT/EXCEPT, DISTINCT ON, TABLESAMPLE, VALUES, and FOR UPDATE/SHARE can not be used in view definition. -The base tables must be simple. Views, materialized views, inheritance parent tables, partitioned tables, partitions, and foreign tables can not be used. +The base tables must be simple tables. Views, materialized views, inheritance parent tables, partitioned tables, partitions, and foreign tables can not be used. The targetlist cannot contain system columns, columns whose name starts with `__ivm_`.