A transformation-based approach to optimizing loops in database programming languages
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Materialized views: techniques, implementations, and applications
Materialized views: techniques, implementations, and applications
Incremental Updates for Materialized OQL Views
DOOD '97 Proceedings of the 5th International Conference on Deductive and Object-Oriented Databases
Static analysis and compiler design for idempotent processing
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
Fault tolerance via idempotence
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
The additional expressive power of procedural extensions of query and update languages come at the expense of trading the efficient set-at-a-time processing of database engines for the much less efficient tuple-at-a-time processing of a procedural language. In this work, we consider the problem of rewriting for-loops with update statements into sequences of updates which do not use loops or cursors and which simultaneously carry out the action of several loop iterations in a set-at-a-time manner. We identify idempotence as the crucial condition for allowing such a rewriting. We formulate concrete rewrite rules for single updates in a loop and extend them to sequences of updates in a loop.