Fix minor typos in README (#16)
This commit is contained in:
parent
2ead2e207e
commit
75ee63b99a
1 changed files with 5 additions and 5 deletions
10
README.md
10
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_`.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue