Index and Limit
`limit` cannot be used in conjunction with `index`.
Initializing a Table
with an index
tells Perspective to treat a column as
the primary key, allowing in-place updates of rows. Only a single column (of any
type) can be used as an index
. Indexed Table
instances allow:
- In-place updates whenever a new row shares an
index
values with an existing row - Partial updates when a data batch omits some column.
- Removes to delete a row by
index
.
To create an indexed Table
, provide the index
property with a string column
name to be used as an index:
JavaScript:
const indexed_table = await perspective.table(data, { index: "a" });
Python
indexed_table = perspective.Table(data, index="a");
Initializing a Table
with a limit
sets the total number of rows the Table
is allowed to have. When the Table
is updated, and the resulting size of the
Table
would exceed its limit
, rows that exceed limit
overwrite the oldest
rows in the Table
. To create a Table
with a limit
, provide the limit
property with an integer indicating the maximum rows:
JavaScript:
const limit_table = await perspective.table(data, { limit: 1000 });
Python:
limit_table = perspective.Table(data, limit=1000);