Products Support Documentation Download
Introduction

According to Wikipedia's entry entitled "Elephant Joke", there's an old one that goes like this:

Q. How many elephants will fit into a Mini?

A. Four: two in the front, two in the back.

Q. How many giraffes will fit into a Mini?

A. None. It's full of elephants.

Of course, if it is possible to get four elephants into a Mini then it must be pretty easy to get one in. In which case, there must also be no problem using SQL in an embedded or packaged computer or smart device application! But, even if one does succeed in getting the elephant into the car, the added weight will certainly have a significant negative impact on its speed. Such is the case on the advisability of using SQL in these kinds of applications. A recent edition of Volume 2 of the ANSI/ISO SQL standard is over 1400 pages long (the complete standard consists of 9 volumes!). That's about twice the size of the 1992 standard which itself was considerably larger than the original 1989 standard. A fully-compliant implementation of SQL (which may not actually exist) is indeed a monster. For any SQL database management system (DBMS) implementer, just the effort involved to understand the standard in order to construct a commercially-viable, fully-compliant implementation is immense.

Nevertheless, SQL has become the industry standard database access language. As such, there are many software developers who know how to use SQL. Because of this vast availability of SQL database skills, many companies that are involved in the development of computer applications with database management requirements would like to be able to use SQL to access and manipulate that database information. RDM SQL has been designed specifically for use with software applications of all kinds. As such, it provides a subset of the ANSI/ISO standard SQL that is suitable for running on a wide variety of computers and operating systems many of which have limited computing resources.

The DBMS capabilities that are needed in embedded computing applications are not nearly as broad as those needed in enterprise systems. RDM SQL has been designed specifically for embedded systems applications. As such, it provides a subset of the ANSI/ISO standard SQL that is suitable for running on a wide variety of computers and embedded operating systems many of which have limited computing resources. Some non-standard features are also included that are designed specifically for the needs of embedded computing applications.

Features of SQL that have not been implemented in RDM SQL include: database views (create view) and security (grant and revoke), check clause integrity constraints, and triggers (create trigger).

Non-standard features that have been added based on embedded application requirements include the ability to:

  • include compiled C modules containing statically initialized database catalog tables,
  • include compiled C modules containing statically initialized, pre-compiled SQL stored procedure definitions,
  • define user-defined SQL functions in C,
  • limit the number of returned rows from a select statement by number or time.

This manual uses standard database and SQL terminology, If there is a term that you do not understand simply refer to the glossary toward the end of the manual for a definition.

New Features in RDM 14 SQL

RDM SQL now supports the use of subqueries in the where clause. Even more significantly, RDM SQL now supports most of the SQL standard Persistent Stored Module Programming Language (SQL PL) that allows you to develop sophisticated database stored procedures and functions without having to write them in C or C++.