5.2.1 Script support
DataQL reads parameters, combines queries and transforms results. SQL mode stores and executes original SQL for a database operation. See Visual operations for creating definitions.
DataQL reads parameters with ${name}; SQL binds values with #{name}. Requests supply inputs, and the common response handling formats returned values.
DataQL scripts
return {"message": ${message}};
{"message": "Hello Dataway"}
The script returns {"message":"Hello Dataway"}. The default Structure puts it in value. See DataQL for syntax and built-in functions.
SQL scripts
After adding dataql-sqlproc and providing a ConnectionProvider, select SQL for the API:
SELECT id, name FROM example_people WHERE id = #{id}
{"id": 1}
#{id} binds the actual request value. Include each SQL parameter name in the saved request example; published SQL APIs use those names as fragment arguments.
Use @@selectSql to define a SQL query fragment inside DataQL, then process its result. This script uses the example application's ds1 data source:
hint FRAGMENT_SQL_DATA_SOURCE = "ds1"
var person = @@selectSql(id)<%
SELECT id AS "id", name AS "name"
FROM example_people
WHERE id = #{id}
%>;
return person(${id});
One script can combine several queries. See Data source integration for source selection and Transaction functions for commits and rollbacks.
See Visual operations for debugging, saving and publishing scripts. Debugging executes the script's database operations.