From 2d3189288f5150a31577451d0d4a6f4ada99bc65 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Thu, 18 Jan 2024 12:58:17 +0200 Subject: [PATCH] SQL: don't label results, send tuples to a continuation --- README.md | 8 ++++---- sql.prs | 2 +- src/schema/sql.nim | 1 - src/syndesizer/postgre_actor.nim | 10 +++++----- src/syndesizer/sqlite_actor.nim | 10 +++++----- syndicate_utils.nimble | 2 +- 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 7388699..2db3392 100644 --- a/README.md +++ b/README.md @@ -148,9 +148,9 @@ let ?sqlspace = dataspace let ?tuplespace = dataspace -$sqlspace +$sqlspace -$tuplespace ? [ +$tuplespace ? [?id ?name] [ $log ! }> ] ``` @@ -197,9 +197,9 @@ let ?sqlspace = dataspace let ?tuplespace = dataspace -$sqlspace +$sqlspace -$tuplespace ? [ +$tuplespace ? [?id ?name] [ $log ! }> ] ``` diff --git a/sql.prs b/sql.prs index cd0a5a6..7d9f941 100644 --- a/sql.prs +++ b/sql.prs @@ -2,4 +2,4 @@ version 1 . # When asserted the actor reponds to @target rows as records # of the given label and row columns as record fields. -Query = . +Query = . diff --git a/src/schema/sql.nim b/src/schema/sql.nim index 842a681..aadadd1 100644 --- a/src/schema/sql.nim +++ b/src/schema/sql.nim @@ -4,7 +4,6 @@ import type Query* {.preservesRecord: "query".} = object - `label`*: Value `statement`*: string `target`* {.preservesEmbedded.}: Value diff --git a/src/syndesizer/postgre_actor.nim b/src/syndesizer/postgre_actor.nim index 9be72f6..6c54ff5 100644 --- a/src/syndesizer/postgre_actor.nim +++ b/src/syndesizer/postgre_actor.nim @@ -103,20 +103,20 @@ proc spawnPostgreActor*(turn: var Turn; root: Cap): Actor {.discardable.} = statusHandle = publish(turn, ds, initRecord("status", toSymbol($status), msg.toPreserves)) if status == CONNECTION_OK: - during(turn, ds, ?:Query) do (label: Value, statement: string, target: Cap): + during(turn, ds, ?:Query) do (statement: string, target: Cap): var res = PQexec(conn, statement) var st = PQresultStatus(res) discard publish(turn, ds, toRecord( - label, toSymbol($PQresStatus(st)), $PQresultErrorMessage(res))) + "error", statement, toSymbol($PQresStatus(st)), $PQresultErrorMessage(res))) if st == PGRES_TUPLES_OK or st == PGRES_SINGLE_TUPLE: let tuples = PQntuples(res) let fields = PQnfields(res) if tuples > 0 and fields > 0: for r in 0..