SQL - User Accessible Java Classes


The BASIS DBMS exploits the power and scalability provided by the Java programming language by giving users the ability to extend the functionality of the BASIS DBMS in a variety of ways. For information on what features may be extended, please refer to the primary documentation under Custom Scalar Functions, Custom Date Formats, and Custom Aggregate Functions. This topic lists the Java BASIS classes that must be used when creating custom functions and date formats.

com.basis.sql.expression.Expression

(Used in custom scalar and aggregate functions)

This class is the abstract base class for all expressions used by the SQL engine in the BASIS DBMS. An expression consists of one or more expressions that are joined by a mathematical operator and can be evaluated. For example, in the SQL statement:

SELECT description AS "Description", price + (price * tax_rate) AS "Total Price"
FROM order_line

"description" is an expression and "price + (price * tax_rate)" is an aggregate expression consisting of several individual expressions.

All values that are used by the SQL engine are called expressions, including column values, numbers (literal expressions), scalar functions, aggregate functions, and nested SELECT statements. Once a record is fetched from the result set in a SELECT statement, the expressions have enough information to be evaluated. Eventually all expressions will return a literal expression – an expression that contains an actual number or value (see com.basis.sql.expression.LiteralExpression for details about literal expressions and how to get values out of them).

com.basis.sql.expression.LiteralExpression

(Used in custom scalar and aggregate functions)

This class contains a value that is completely evaluated such as a string, number, or date. Literal expressions are ready to be used to retrieve values. It is possible to retrieve the value contained in a literal expression in any compatible format. For example, a literal expression containing the number "15" can be retrieved as an integer, double, float, BigDecimal, byte, or string.



______________________________________________________________________________________

Copyright BASIS International Ltd. BBj®, Visual PRO/5®, PRO/5®, and BBx® are registered trademarks.