chore: import upstream snapshot with attribution
CI / compile_and_lint (push) Failing after 0s
CI / docker_build (linux/amd64, -linux-amd64-duckdb, duckdb) (push) Failing after 0s
CI / docker_build (linux/arm64, -linux-arm64, minimal) (push) Failing after 2s
CI / docker_build (linux/arm64, -linux-arm64-duckdb, duckdb) (push) Failing after 1s
CI / docker_build (linux/amd64, minimal) (push) Failing after 1s
CI / test (, sqlite, sqlite::memory:) (push) Has been skipped
CI / test (mssql, mssql, mssql://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / test (mysql, mysql, mysql://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / test (oracle, oracle, Driver=Oracle 21 ODBC driver;Dbq=//127.0.0.1:1521/FREEPDB1;Uid=root;Pwd=Password123!) (push) Has been skipped
CI / test (postgres, odbc, Driver=PostgreSQL Unicode;Server=127.0.0.1;Port=5432;Database=sqlpage;UID=root;PWD=Password123!, true) (push) Has been skipped
CI / test (postgres, postgres, postgres://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / playwright (push) Has been skipped
CI / docker_build (linux/arm/v7, -linux-arm-v7, minimal) (push) Failing after 0s
CI / hurl_examples (push) Failing after 8s
deploy website / deploy_official_site (push) Failing after 1s
CI / hurl (${{ matrix.example }}) (push) Has been skipped
CI / docker_push (duckdb) (push) Has been cancelled
CI / docker_push (minimal) (push) Has been cancelled
CI / windows_test (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 12:31:57 +08:00
commit d718c5a372
986 changed files with 74597 additions and 0 deletions
@@ -0,0 +1,3 @@
FROM lovasoa/sqlpage
COPY *.sql sqlpage ./
@@ -0,0 +1,5 @@
# SQLPage application with custom login in Postgres
This is a very simple example of a website that uses the SQLPage web application framework. It uses a Postgres database for storing the data.
It lets a user log in and out, and it shows a list of the users that have logged in.
@@ -0,0 +1,8 @@
services:
web:
image: lovasoa/sqlpage:main
ports:
- "8080:8080"
volumes:
- .:/var/www
- ./sqlpage:/etc/sqlpage
@@ -0,0 +1,17 @@
-- Sets the username cookie to the value of the username parameter
SELECT 'cookie' as component,
'username' as name,
:username as value
WHERE :username IS NOT NULL;
SELECT 'form' as component;
SELECT 'username' as name,
'User Name' as label,
COALESCE(:username, sqlpage.cookie('username')) as value,
'try leaving this page and coming back, the value should be saved in a cookie' as description;
select 'text' as component;
select 'log out' as contents, 'logout.sql' as link;
select 'text' as component;
select 'View the cookie from a subdirectory' as contents, 'subdirectory/read_cookies.sql' as link;
@@ -0,0 +1,6 @@
-- Remove the username cookie
SELECT 'cookie' as component,
'username' as name,
TRUE as remove;
SELECT 'redirect' as component, 'index.sql' as link;
@@ -0,0 +1,3 @@
{
"database_url": "sqlite://:memory:"
}
@@ -0,0 +1,9 @@
-- Cookies can be specific to a certain path in the website
-- This page demonstrates that a gobal cookie can be removed from a subdirectory
select 'cookie' as component, 'username' as name, true as remove, '/' as path;
SELECT 'text' as component;
SELECT 'The value of your username cookie was: ' ||
COALESCE(sqlpage.cookie('username'), 'NULL') ||
'. It has now been removed. You can reload this page.' as contents;
@@ -0,0 +1,34 @@
GET http://localhost:8080/
HTTP 200
[Asserts]
body contains "User Name"
body contains "View the cookie from a subdirectory"
body not contains "An error occurred"
POST http://localhost:8080/
[FormParams]
username: Hurl Cookie
HTTP 200
[Asserts]
header "Set-Cookie" contains "username=Hurl%20Cookie"
body contains "Hurl Cookie"
body not contains "An error occurred"
GET http://localhost:8080/
HTTP 200
[Asserts]
body contains "Hurl Cookie"
body not contains "An error occurred"
GET http://localhost:8080/subdirectory/read_cookies.sql
HTTP 200
[Asserts]
body contains "The value of your username cookie was: Hurl Cookie"
body contains "It has now been removed"
body not contains "An error occurred"
GET http://localhost:8080/
HTTP 200
[Asserts]
body not contains "Hurl Cookie"
body not contains "An error occurred"