From 29b19c711c7dd9a6132b5cc2b50510966209850c Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 10 Jan 2024 10:16:42 +0200 Subject: [PATCH] Add PostgreSQL actor --- README.md | 30 +++++++ config.prs | 6 ++ shell.nix | 2 +- src/schema/config.nim | 15 ++++ src/syndesizer.nim | 8 ++ src/syndesizer/postgre_actor.nim | 131 +++++++++++++++++++++++++++++++ syndicate_utils.nimble | 2 +- 7 files changed, 192 insertions(+), 2 deletions(-) create mode 100644 src/syndesizer/postgre_actor.nim diff --git a/README.md b/README.md index ef0837a..996252d 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,36 @@ let ?ds = dataspace ] ``` +### PostgreSQL + +Readonly access to PostgreSQL databases. Asserts rows as records in response to SQL query assertions. Dynamic updates are not implemented. + +Can be disabled by passing `--define:withPostgre=no` to the Nim compiler. + +``` +# Configuration example +> + +let ?sqlspace = dataspace + +? ?cap> [ + $cap +] + +$sqlspace + +$sqlspace ? [ + $log ! }> +] +``` + ### SQLite Readonly access to SQLite databases. Asserts rows as records in response to SQL query assertions. Dynamic updates are not implemented. diff --git a/config.prs b/config.prs index 3793d4b..4e1987d 100644 --- a/config.prs +++ b/config.prs @@ -22,6 +22,12 @@ JsonSocketTranslatorArguments = . +PostgreArguments = . +PostgreConnectionParameter = [@key string @val string]. + SqliteArguments = 0 and fields > 0: + for r in 0..