diff --git a/README.md b/README.md index 3cc4e54..7388699 100644 --- a/README.md +++ b/README.md @@ -146,9 +146,11 @@ let ?sqlspace = dataspace }> ] -$sqlspace +let ?tuplespace = dataspace -$sqlspace ? [ +$sqlspace + +$tuplespace ? [ $log ! }> ] ``` @@ -193,9 +195,11 @@ let ?sqlspace = dataspace }> ] -$sqlspace +let ?tuplespace = dataspace -$sqlspace ? [ +$sqlspace + +$tuplespace ? [ $log ! }> ] ``` diff --git a/sql.prs b/sql.prs index db37fa1..cd0a5a6 100644 --- a/sql.prs +++ b/sql.prs @@ -1,6 +1,5 @@ version 1 . -# When asserted the actor reponds with -# rows as records of the given label and -# row columns as record fields. -Query = . +# When asserted the actor reponds to @target rows as records +# of the given label and row columns as record fields. +Query = . diff --git a/src/schema/sql.nim b/src/schema/sql.nim index 26caef0..842a681 100644 --- a/src/schema/sql.nim +++ b/src/schema/sql.nim @@ -6,6 +6,7 @@ type Query* {.preservesRecord: "query".} = object `label`*: Value `statement`*: string + `target`* {.preservesEmbedded.}: Value proc `$`*(x: Query): string = `$`(toPreserves(x)) diff --git a/src/syndesizer/postgre_actor.nim b/src/syndesizer/postgre_actor.nim index 35552d8..9be72f6 100644 --- a/src/syndesizer/postgre_actor.nim +++ b/src/syndesizer/postgre_actor.nim @@ -103,7 +103,7 @@ 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): + during(turn, ds, ?:Query) do (label: Value, statement: string, target: Cap): var res = PQexec(conn, statement) var st = PQresultStatus(res) discard publish(turn, ds, toRecord( @@ -116,7 +116,7 @@ proc spawnPostgreActor*(turn: var Turn; root: Cap): Actor {.discardable.} = var rec = initRecord(label, fields) for f in 0..