Compare commits
2 Commits
d54fcfb786
...
e03df9a2e8
Author | SHA1 | Date |
---|---|---|
Emery Hemingway | e03df9a2e8 | |
Emery Hemingway | 4b55b2774e |
|
@ -1 +1 @@
|
|||
/.direnv
|
||||
/nim.cfg
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
include_rules
|
||||
: |> !nim_lk |> | ./<lock>
|
||||
: lock.json |> !nim_cfg |> | ./<lock>
|
|
@ -1,2 +1,3 @@
|
|||
include ../syndicate-nim/depends.tup
|
||||
NIM_FLAGS += --path:$(TUP_CWD)/../syndicate-nim/src
|
||||
NIM_GROUPS += $(TUP_CWD)/<lock>
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
{"depends":[{"method":"fetchzip","packages":["syndicate"],"path":"/nix/store/008s11kkqscfqxs6g29q77c38pnrlppi-source","ref":"20231005","rev":"552e51899c82c0c2f4f466382be7d8e22a1da689","sha256":"1j3k0zlh5z02adhfvb7rdqz8fjzc6gri4v3v1fgcv2h2b7vrf0dg","srcDir":"src","url":"https://git.syndicate-lang.org/ehmry/syndicate-nim/archive/552e51899c82c0c2f4f466382be7d8e22a1da689.tar.gz"},{"method":"fetchzip","packages":["hashlib"],"path":"/nix/store/v03nzlpdgbfxd2zhcnkfbkq01d5kqxcl-source","rev":"84e0247555e4488594975900401baaf5bbbfb53","sha256":"1pfczsv8kl36qpv543f93d2y2vgz2acckssfap7l51s2x62m6qwx","srcDir":"","url":"https://github.com/khchen/hashlib/archive/84e0247555e4488594975900401baaf5bbbfb53.tar.gz"},{"method":"fetchzip","packages":["preserves"],"path":"/nix/store/vx6ihnickx7d5lwy69i8k7fsjicv33r3-source","ref":"20230914","rev":"c915accf7d2a36ca1f323e2f02e2df7375e815f1","sha256":"11rlcbs9mvk335ibkbj8fk9aslhmnlaiqhcsjpp5n04k447sr7nx","srcDir":"src","url":"https://git.syndicate-lang.org/ehmry/preserves-nim/archive/c915accf7d2a36ca1f323e2f02e2df7375e815f1.tar.gz"},{"method":"fetchzip","packages":["nimcrypto"],"path":"/nix/store/zyr8zwh7vaiycn1s4r8cxwc71f2k5l0h-source","ref":"traditional-api","rev":"602c5d20c69c76137201b5d41f788f72afb95aa8","sha256":"1dmdmgb6b9m5f8dyxk781nnd61dsk3hdxqks7idk9ncnpj9fng65","srcDir":"","url":"https://github.com/cheatfate/nimcrypto/archive/602c5d20c69c76137201b5d41f788f72afb95aa8.tar.gz"},{"method":"fetchzip","packages":["npeg"],"path":"/nix/store/ffkxmjmigfs7zhhiiqm0iw2c34smyciy-source","ref":"1.2.1","rev":"26d62fdc40feb84c6533956dc11d5ee9ea9b6c09","sha256":"0xpzifjkfp49w76qmaylan8q181bs45anmp46l4bwr3lkrr7bpwh","srcDir":"src","url":"https://github.com/zevv/npeg/archive/26d62fdc40feb84c6533956dc11d5ee9ea9b6c09.tar.gz"}]}
|
12
shell.nix
12
shell.nix
|
@ -1,5 +1,7 @@
|
|||
let
|
||||
syndicate = builtins.getFlake "syndicate";
|
||||
pkgs =
|
||||
import <nixpkgs> { overlays = builtins.attrValues syndicate.overlays; };
|
||||
in pkgs.sqlite_actor
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
|
||||
pkgs.nim2Packages.buildNimPackage {
|
||||
name = "dummy";
|
||||
propagatedNativeBuildInputs = [ pkgs.pkg-config ];
|
||||
propagatedBuildInputs = [ pkgs.sqlcipher ];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
version = "20230527"
|
||||
version = "20231010"
|
||||
author = "Emery Hemingway"
|
||||
description = "Syndicate Actor for accessing SQLite databases"
|
||||
license = "Unlicense"
|
||||
|
|
|
@ -51,7 +51,7 @@ proc finalize(stmt: Stmt): cint {.importSqlite3.}
|
|||
|
||||
doAssert libversion_number() == SQLITE_VERSION_NUMBER
|
||||
|
||||
import preserves, syndicate
|
||||
import preserves, syndicate, syndicate/relays
|
||||
import ./sql
|
||||
|
||||
proc logError(db: Sqlite3; context: string) =
|
||||
|
@ -61,7 +61,7 @@ type
|
|||
Value = Preserve[void]
|
||||
Args {.preservesDictionary.} = object
|
||||
database: string
|
||||
dataspace: Ref
|
||||
dataspace: Cap
|
||||
|
||||
proc extractValue(stmt: Stmt; col: cint): Value =
|
||||
case column_type(stmt, col)
|
||||
|
@ -84,9 +84,9 @@ proc extractRecord(stmt: Stmt; label: Value, arity: cint): Value =
|
|||
result = initRecord(label, arity)
|
||||
for col in 0..<arity: result.record[col] = extractValue(stmt, col)
|
||||
|
||||
runActor("main") do (root: Ref; turn: var Turn):
|
||||
runActor("main") do (root: Cap; turn: var Turn):
|
||||
connectStdio(root, turn)
|
||||
during(turn, root, ?Args) do (path: string, ds: Ref):
|
||||
during(turn, root, ?Args) do (path: string, ds: Cap):
|
||||
var db: Sqlite3
|
||||
if open_v2(path, addr db, SQLITE_OPEN_READONLY, nil) != SQLITE_OK:
|
||||
logError(db, path)
|
||||
|
|
Loading…
Reference in New Issue