Roland Bouman wrote:
Hi Jim, all
On Wed, Feb 11, 2009 at 6:38 PM, Jim Starkey <[email protected]> wrote:
Many database systems use a type hierarchy of "record source blocks" or the
like. Each member of type hierarchy has an open, fetch, and close method.
The basic types are these:
* Exhaustive retrieval
* Index retrieval
* Boolean filter
* Sort
* Looping join
* Sort merge join
* Hash join
* Group by
The basic idea is that the compiler generates a tree of record source blocks
assembled like legos. Each type is simple since it only has one thing to
do. The intelligence comes from the way they are assembled.
This sounds interesting...it reminds me of how commands are piped on a
unix command line. Is that an appropriate metaphor?
(apologies in case this is an extremely stupid comparison)
Here's an example. Given the tables
upgrade table FOO.DATABASE_SYSTEMS (
DID integer not null primary key,
NAME varchar (30))
upgrade table FOO.FEATURES (
FEATURE varchar (80) not null primary key,
DID integer references DATABASE_SYSTEMS)
and a query
select *
from database_systems d, features f
where d.did = f.did
and feature='Foreign Keys'
order by name, feature
you get a record source tree of:
Sort
Join
Exhaustive FOO.DATABASE_SYSTEMS (0)
Boolean sieve
And
Eql
Field FOO.DATABASE_SYSTEMS.DID (0)
Field FOO.FEATURES.DID (1)
Eql
Field FOO.FEATURES.FEATURE (1)
"Foreign Keys"
Inversion FOO.FEATURES (1)
Bitmap index FEATURES_PRIMARY_KEY
"Foreign Keys"
--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp