Relevance

Trendy ORDBMS system - cool features.

Flaws

I just don't buy the performance numbers.

How much of the extensibility/language features/fast path stuff
will users want to and be able to use? On the other hand, if it
doesn't cost anything (in performance/reliability) to provide the
features, why not do it?

This article read more like a feature list than a technical
paper.

Overview/Main Points

POSTGRES Data Model

emphasizes access from POSTQUEL database language, but
Postgres is "language neutral", and has
fast path facilities which allow you to make
direct calls to Postgres internals.

relations in postgres are called classes; tuples are
called instances. Instances are collections of
attributes, each of which is of a specific type.
Classes have inheritance; there are real and derived
classes, and multiple inheritance.

Classes can have methods (function whose argument is a
class name). Can also introduce new operators (one or
more arguments). Authors can provide hints to query
optimizer regarting their operators to help speed
things up.

rule syntax:
ON event (TO) object WHERE POSTQUEL-qualification
THEN DO [instead] POSTQUEL-command(s)
e.g.:
on new EMP.salary where EMP.name = "Fred"
then do replace E (salary = new.salary) from E in EMP
where E.name = "Joe"

foward chaining: one rule triggers another. backward
chaining: is fred's salary is not explicitly stored,
more rules would be awakened to see whether or not this
rule should be triggered.

rules mark attributes of instances that affect the rule
- if executor touches a marked attribute, it calls rule
system before proceeding. Marker escalation - if
sufficient number of markers in class, place enclosing
marker on entire class instead.

clever query rewriting to help avoid have rules
triggered on every attribute touch by executor.

rule semantics: immediate vs. deferred rules. Rules
running as part of or separate from transactions.

can compile rules into postgres to extend
implementation of postgres (e.g. can implement views
and versions using rules)