Incremental Computation of Complex Object Queries

Copyright © (2001) by Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distrubuted for profit or commericial advantage. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.

The need for incremental algorithms for evaluating
database queries is well known, but constructing
algorithms that work on object-oriented databases (OODBs)
has been difficult. The reason is that OODB query languages
involve complex data types including composite objects and
nested collections. As a result, existing algorithms have
limitations in that the kinds of database updates are
restricted, the operations found in many query languages
are not supported, or the algorithms are too complex to
be described precisely.

We present an incremental computation algorithm that
can handle any kind of database updates, can accept
any expressions in complex query languages such as OQL,
and can be described precisely. By translating primitive
values and records into collections, we can reduce all
query expressions into ones composed of only one kind
of operation, namely comprehension. This makes the
problems with incremental computation less complicated
and thus allows us to describe the algorithm precisely.
Our incremental algorithm consists of two parts:
one is to maintain the consistency in each comprehension
occurrence and the other is to update the value of an
entire expression. The algorithm is so flexible that we
can use strict updates, lazy updates, and their combinations.
By comparing the performance of applications built with
our mechanism and that of equivalent hand written update
programs, we show that our incremental algorithm can be
implemented efficiently.

By: Hiroaki Nakamura

Published in: ACM SIGPLAN Notices, volume 36, (no 11), pages 156-165 in 2001

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

RT0420.pdf

Questions about this service can be mailed to reports@us.ibm.com .