The OpenAccess SDK SQL engine handles all the data management for creating results sets for sending to the client and for creating row structures for the IP to fill in.
Calling the row allocation function dam_allocRow with the statement handle starts a new row. After a row is allocated, columns can be added one at a time using dam_addValToRow. The order in which the columns are added to a row does not matter. When building a row, map the data from the physical format to the row that matches the definition in the schema. A row does not have to contain all the columns defined for it in the schema.
For example, you can:
1. Build a row with just the columns that appear in the WHERE clause.
2. Then, evaluate the row using dam_isTargetRow.
3. If it is a target row, add the columns that appear in the SELECT clause.
4. Free any row that fails the dam_isTargetRow evaluation, using dam_freeRow.
Internally the OpenAccess SDK SQL engine uses row and column caches to optimize the processing in which rows and columns may be created and destroyed.
The format in which the data is represented by the OpenAccess SDK SQL engine for the SQL data types is shown in Table 33. The mapping specified in this table applies to data supplied to the OpenAccess SDK SQL engine in calls such as dam_addValToRow and data provided by the OpenAccess SDK SQL engine in calls such as dam_getValueToSet.