DONE
- use lists of arrays for zero-copy concatenation (ArraysList)
- use column number mapping for zero-copy subset/reorder of values (RowValues)
- INNER JOIN
TODO
- indexing (sorted map: column value -> rows)
- database of tables
- drop table
- delete row
- schema change: add/delete/change row
- IN
- <, <=, >, >=
- BETWEEN _ AND _
- EXISTS (...)
- AND/OR
- UPDATE / JOIN (INNER, LEFT/RIGHT, OUTER)
- DISTINCT
- LIMIT
- UNION
- GROUP BY, aggregate functions(COUNT, MIN, MAX)
- HAVING
- ORDER BY
- shared values (either within column or globally)
- constraints: primary keys, foreign keys
- schema change: add/drop index