QBQL amendments

October 8, 2010

QBQL is, to put it bluntly, “Relational Algebra done right”; and this posting is about the recent improvements.

1. The operations from Date&Darwen’s “New Relational Algebra” are implemented as user-defined ones. Their definitions in relational lattice terms are in the udf.def file.

2. The include directive allows nesting QBQL programs inside each other. For example, the code snippet

include udf.def;
[x] 1 2 <OR> [x] 2 3;

refers to user-defined operations introduced in the udf.def file (with generalized union operation <OR> among them) and then executes the query.

3. Artificial distinction between database and program files is gone. To run the program you specify a single argument — the program name. For example,

C:\> java -jar C:\qbql_trunk\dist\qbql.jar C:\qbql_trunk\src\qbql\program\current.prg

runs the program current.prg. It is up to the current.prg to instantiate any database(s) with the include directive. (As we have seen in the previous bullet one might actually don’t need any explicit database initilalization).

Little more detailed instructions how to run QBQL are on updated Getting Started page.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: