@mangeshbendre mangeshbendre released this Sep 19, 2017 · 277 commits to master since this release

Assets 3

This release adds the following functionality:

  • Relational Tables on a Spreadsheet
    We now support relational tables on a spreadsheet. We do not maintain a copy of the tables on the spreadsheet; thus the underlying database has the only copy of the table. Any updates to the tabular regions on the sheet are pushed in real-time to the database. We support the following operations:
    • Link Table: Declare an area on the spreadsheet linked with a relational table in the database.
    • Create Table: Create a relational table based on a region on the sheet and link the region to the newly created table.
    • Add/Delete Columns: Append columns to a linked table or delete existing columns.
    • Add/Delete Rows: Append rows to a linked table or delete existing columns.
  • R-tree for dependency
    The dependency table in internally handled by using an R-tree to improve scalability.
  • Relational Operators
    We now support the following set/relational-operator-like operations within formulae:
    UNION,
    DIFFERENCE,
    INTERSECTION,
    CROSSPRODUCT,
    PROJECT,
    RENAME
  • SQL Function
    We allow users to execute arbitrary SQL statements using a new function SQL.
  • Multi-cell functions
    The relational operators are multi-cell functions, i.e., the output can consist of a collection of cells.
  • Asynchronous formula computation
    The formulae on the spreadsheet will be computed asynchronously thereby not blocking the users.
  • Private sheets
    We now support user login and have individual books for the users.

Known Issues

  • New records can be only added to the bottom of the table.
  • The only way to reorder tuples is to delete and add new at the bottom.
  • The updates from the backend database are not pushed to the front end in real time. Refreshing a spreadsheet will reload the updates from the database.
  • Database errors cascade across other operations.