[
https://issues.apache.org/jira/browse/IGNITE-7038?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-7038:
------------------------------------
Labels: iep-10 (was: )
> SQL: nested tables support
> --------------------------
>
> Key: IGNITE-7038
> URL: https://issues.apache.org/jira/browse/IGNITE-7038
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Vladimir Ozerov
> Labels: iep-10
>
> Many commercial databases support a kind of nested tables which is
> essentially a parent-child relation with special storage format. With this
> approach child data can be located efficiently without joins.
> Syntax example:
> {code}
> CREATE TYPE address_t AS OBJECT (
> city VARCHAR2(20),
> street VARCHAR2(30)
> );
> CREATE TYPE address_tab IS TABLE OF address_t;
> CREATE TABLE customers (
> custid NUMBER,
> address address_tab )
> NESTED TABLE address STORE AS customer_addresses;
> INSERT INTO customers VALUES (
> 1,
> address_tab(
> address_t('Redwood Shores', '101 First'),
> address_t('Mill Valley', '123 Maple')
> )
> );
> {code}
> Several storage formats should be considered. First, data can be embedded to
> parent data row directly or through forward reference to a chain of dedicated
> blocks (similar to LOB data types). This is how conventional RDBMS systems
> work.
> Second, children rows could be stored in the same PK index as parent row.
> This is how Spanner works. In this case parent and child rows are different
> rows, but stored in the same data structures. This allows for sequential
> access to both parent and child data in case of joins, which could be
> extremely valuable in OLAP cases.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)