SQL-AG is an implementation of SQL (Structured Query Language). The main goals of SQL-AG are query power and ease of use.

In addition to SQL standards, SQL-AG incorporated some new techniques proposed in the latest release of LDL++ system. We believe user-defined functions and user-defined aggregates are playing a more and more important role in database systems, especially for data mining and other advanced applications. SQL-AG is designed with an emphasis on user-defined aggregates that are more advanced than proposed in SQL3 standards. A detailed description and examples of SQL-AG language can be found here (SQL-AG Reference Manual).

Besides running in stand-alone mode, SQL-AG can also be used as an add-on for IBM's DB2 system. The current version of DB2 does not support user-defined aggregates. Now users can create and use aggregates in DB2 through SQL-AG. SQL-AG automatically generates libraries for DB2 when user-defined aggregates are created. When user-defined aggregates are used in SQL statements, they are then transformed into callings of functions in those libraries. Documentation of SQL-AG on DB2 can be found here.

SQL-AG uses database access methods (B+Tree, Extended Linear Hashing) provided by Berkeley DB.


Haixun Wang hxwang@cs.ucla.edu