mit-pdos / noria

Fast web applications through dynamic, partially-stateful dataflow
Apache License 2.0
4.97k stars 241 forks source link

Limitations and support #147

Closed davedbase closed 4 years ago

davedbase commented 4 years ago

After reading the paper on Noria I was impressed. Lots of great work has gone onto this research. I noticed one part of the limitations section:

Our prototype does not yet support update and delete operations conditioned on non-primary key columns, and lacks support for parameterized range queries (e.g., age > ?), which some applications need. Planned support for range indexes and an extended base table implementation will address these limitations.

I was wondering if this has been overcome or if there are plans to account for it?

ms705 commented 4 years ago
  1. Conditional updates and deletes (with condition on non-primary keys): still a limitation, no current work, no plans to support for now.
  2. Parameterized range queries: support is in the works! (by @jonathanGB).
davedbase commented 4 years ago

Great, thanks for the update!

When you say conditional deletes, that means we cannot remove individual rows. A workaround would be a soft-delete or truncate the whole table?

ms705 commented 4 years ago

You can absolutely delete individual rows!

This works (with PRIMARY KEY id in the schema):

DELETE FROM table WHERE table.id = 5;

but this does not:

DELETE FROM table WHERE table.some_other_non_primary_key_column = 5;
davedbase commented 4 years ago

Oh right, non-primary! Apologies. Thank you!