~/bend-docscommunity

bend-kit-postgres@0.1.0.2 relies on unsafe/foreign

0xf63ce82892c02964729ebb2a79be513f

Postgres frontend/backend protocol 3.0 messages over Bytes, and an incremental reader of backend messages.

bend-kit-postgres@0.1.0.2 by paymog

Earlier versions (2)
Published
2026-10-09
Size
64,150 bytes, 3 files
License
MIT-0 (no LICENSE file; the hub's default)
Declarations
0 laws (0 proved), 234 defs, 21 types

Import

import bend-kit-postgres@0.1.0.2/codec.bend as Codec
import 0xf63ce82892c02964729ebb2a79be513f/codec.bend as Codec
import bend-kit-postgres@0.1.0.2/postgres.bend as Postgres
import 0xf63ce82892c02964729ebb2a79be513f/postgres.bend as Postgres
import bend-kit-postgres@0.1.0.2/scram.bend as Scram
import 0xf63ce82892c02964729ebb2a79be513f/scram.bend as Scram

Modules

Dependencies

Dependents

No package in this build imports it.

Status on bend 2.0.36

FileStatusChecker saysTime
codec.bendchecks ALL PROOFS CHECK1.3 s
postgres.bendrelies on unsafe/foreign 129 defs rely on unsafe or foreign code
defs: 0x1afdf90dbe41c30b1df4594db039b02a/wire.connect, 0x1afdf90dbe41c30b1df4594db039b02a/wire.accept.deadline, 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv, 0x1afdf90dbe41c30b1df4594db039b02a/wire.send, 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv_from, 0x1afdf90dbe41c30b1df4594db039b02a/wire.send_to, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.cert, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.alpn, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.ca, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.alpn.ca, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.send, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.recv, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.close, 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv.words, 0x1afdf90dbe41c30b1df4594db039b02a/wire.send.words, 0x1afdf90dbe41c30b1df4594db039b02a/wire.send.words.deadline, 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv_from.words, 0x1afdf90dbe41c30b1df4594db039b02a/wire.send_to.words, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.recv.words, 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.send.words, 0x9bf2c4100bf9328348d215e7ae1657de/dns.try.sent, 0x9bf2c4100bf9328348d215e7ae1657de/dns.try.send, 0x9bf2c4100bf9328348d215e7ae1657de/dns.try.once, 0x9bf2c4100bf9328348d215e7ae1657de/dns.tries, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.sock, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.id, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.ns, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.at, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n3, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n2b, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n2, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n1b, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.list, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.read, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.conf, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.dns, 0x9bf2c4100bf9328348d215e7ae1657de/dns.lookup.all, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.os, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.dns, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.from, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.text, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.opened, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.hosts, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.pick, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.ask, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.pure.pick, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.pure, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.pure, 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.digest.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha256.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha512.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha1.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hmac.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hkdf.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.pbkdf2.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.scrypt.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.random.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.eq.ct.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.sign.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.jwk.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.sign.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.jwk.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.seal.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.open.words, 0xf63ce82892c02964729ebb2a79be513f/scram.first, 0xf63ce82892c02964729ebb2a79be513f/scram.hmac.of, 0xf63ce82892c02964729ebb2a79be513f/scram.hmac, 0xf63ce82892c02964729ebb2a79be513f/scram.sha.of, 0xf63ce82892c02964729ebb2a79be513f/scram.sha, 0xf63ce82892c02964729ebb2a79be513f/scram.pbkdf2.of, 0xf63ce82892c02964729ebb2a79be513f/scram.pbkdf2, 0xf63ce82892c02964729ebb2a79be513f/scram.eq.of, 0xf63ce82892c02964729ebb2a79be513f/scram.respond.of, 0xf63ce82892c02964729ebb2a79be513f/scram.respond, 0xf63ce82892c02964729ebb2a79be513f/scram.verify.of, 0xf63ce82892c02964729ebb2a79be513f/scram.verify, io.close, io.send, io.write, io.recv, io.close.after, close, abort, reject, send.after, send, read.fail, read.loop, read, reply, exchange, ready.loop, ready, auth.done, sasl.verified, sasl.final, sasl.respond, sasl.cont, sasl.first, sasl, auth, startup, tls.done, ssl.byte, ssl.answer, ssl.sent, ssl.ask, dialed, dial.after, dial.more, dial, connect.to, connect, collect, query, pool.got, pool.get, conns.cut, pool.keep, pool.clean, pool.left, pool.put, pool.close.go, pool.close
output
SOME PROOFS FAIL
Error: 129 defs rely on unsafe or foreign code:
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.connect
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.accept.deadline
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.send
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv_from
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.send_to
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.cert
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.alpn
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.ca
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.connect.alpn.ca
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.send
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.recv
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.close
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv.words
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.send.words
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.send.words.deadline
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.recv_from.words
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.send_to.words
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.recv.words
- 0x1afdf90dbe41c30b1df4594db039b02a/wire.tls.send.words
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.try.sent
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.try.send
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.try.once
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.tries
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.sock
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.id
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.ns
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.at
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n3
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n2b
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n2
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.n1b
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.list
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.read
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.conf
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.dns
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.lookup.all
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.os
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.dns
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.from
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.text
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.opened
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.hosts
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.pick
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.ask
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.pure.pick
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.all.pure
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve.pure
- 0x9bf2c4100bf9328348d215e7ae1657de/dns.resolve
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.digest.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha256.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha512.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha1.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hmac.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hkdf.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.pbkdf2.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.scrypt.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.random.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.eq.ct.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.sign.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.jwk.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.sign.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.jwk.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.seal.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.open.words
- 0xf63ce82892c02964729ebb2a79be513f/scram.first
- 0xf63ce82892c02964729ebb2a79be513f/scram.hmac.of
- 0xf63ce82892c02964729ebb2a79be513f/scram.hmac
- 0xf63ce82892c02964729ebb2a79be513f/scram.sha.of
- 0xf63ce82892c02964729ebb2a79be513f/scram.sha
- 0xf63ce82892c02964729ebb2a79be513f/scram.pbkdf2.of
- 0xf63ce82892c02964729ebb2a79be513f/scram.pbkdf2
- 0xf63ce82892c02964729ebb2a79be513f/scram.eq.of
- 0xf63ce82892c02964729ebb2a79be513f/scram.respond.of
- 0xf63ce82892c02964729ebb2a79be513f/scram.respond
- 0xf63ce82892c02964729ebb2a79be513f/scram.verify.of
- 0xf63ce82892c02964729ebb2a79be513f/scram.verify
- io.close
- io.send
- io.write
- io.recv
- io.close.after
- close
- abort
- reject
- send.after
- send
- read.fail
- read.loop
- read
- reply
- exchange
- ready.loop
- ready
- auth.done
- sasl.verified
- sasl.final
- sasl.respond
- sasl.cont
- sasl.first
- sasl
- auth
- startup
- tls.done
- ssl.byte
- ssl.answer
- ssl.sent
- ssl.ask
- dialed
- dial.after
- dial.more
- dial
- connect.to
- connect
- collect
- query
- pool.got
- pool.get
- conns.cut
- pool.keep
- pool.clean
- pool.left
- pool.put
- pool.close.go
- pool.close
1.9 s
scram.bendrelies on unsafe/foreign 30 defs rely on unsafe or foreign code
defs: 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.digest.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha256.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha512.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha1.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hmac.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hkdf.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.pbkdf2.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.scrypt.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.random.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.eq.ct.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.sign.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.jwk.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.sign.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.jwk.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.seal.words, 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.open.words, first, hmac.of, hmac, sha.of, sha, pbkdf2.of, pbkdf2, eq.of, respond.of, respond, verify.of, verify
output
SOME PROOFS FAIL
Error: 30 defs rely on unsafe or foreign code:
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.digest.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha256.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha512.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.sha1.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hmac.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.hkdf.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.pbkdf2.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.scrypt.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.random.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.eq.ct.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.sign.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.rsa.verify.jwk.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.sign.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.ecdsa.verify.jwk.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.seal.words
- 0xf33eec520d9fe4851fd0d1e29eaf0166/crypto.aead.open.words
- first
- hmac.of
- hmac
- sha.of
- sha
- pbkdf2.of
- pbkdf2
- eq.of
- respond.of
- respond
- verify.of
- verify
1.0 s