SQLPage v0.20.4 documentation

If you are completely new to SQLPage, you should start by reading the get started tutorial, which will guide you through the process of creating your first SQLPage application.

Building an application with SQLPage is quite simple. To create a new web page, just create a new SQL file. For each SELECT statement that you write, the data it returns will be analyzed and rendered to the user. The two most important concepts in SQLPage are components and parameters.

To select a component and set its top-level properties, you write the following SQL statement:

SELECT 'component_name' AS component, 'my value' AS top_level_parameter_1;

Then, you can set its row-level parameters by writing a second SELECT statement:

SELECT my_column_1 AS row_level_parameter_1, my_column_2 AS row_level_parameter_2 FROM my_table;

This page documents all the components provided by default in SQLPage and their parameters. Use this as a reference when building your SQL application. If at any point you need help, you can ask for it on the SQLPage forum.

If you know some HTML, you can also easily create your own components for your application.

components

The "cookie" component

Sets a cookie in the client browser, used for session management and storing user-related information. This component creates a single cookie. Since cookies need to be set before the response body is sent to the client, this component should be placed at the top of the page, before any other components that generate output. After being set, a cookie can be accessed anywhere in your SQL code using the `sqlpage.cookie('cookie_name')` pseudo-function.

Top-level parameters

name

REQUIRED. The name of the cookie to set.

domain

The domain for which the cookie will be sent. If not specified, the cookie will be sent for all domains.

expires

The date at which the cookie expires (either a timestamp or a date object). If not specified, the cookie will expire when the browser is closed.

http_only

Whether the cookie should only be accessible via HTTP and not via client-side scripts. If not specified, the cookie will be accessible via both HTTP and client-side scripts.

max_age

The maximum age of the cookie in seconds. number of seconds until the cookie expires. If both Expires and Max-Age are set, Max-Age has precedence.

path

The path for which the cookie will be sent. If not specified, the cookie will be sent for all paths.

remove

Set to TRUE to remove the cookie from the client browser. When specified, other parameters are ignored.

same_site

Whether the cookie should only be sent for requests originating from the same site. See owasp.org/www-community/SameSite. `strict` is the recommended and default value, but you may want to set it to `lax` if you want your users to keep their session when they click on a link to your site from an external site.

secure

Whether the cookie should only be sent over a secure (HTTPS) connection. Defaults to TRUE.

value

The value of the cookie to set.

Examples

Create a cookie named username with the value John Doe...

SELECT 'cookie' as component,
        'username' as name,
        'John Doe' as value
        FALSE AS secure; -- You can remove this if the site is served over HTTPS.

and then display the value of the cookie using the sqlpage.cookie function:

SELECT 'text' as component,
         'Your name is ' || COALESCE(sqlpage.cookie('username'), 'not known to us');

Official SQLPage documentation