Files
Ruben FiszelandClaude Opus 5 201d7c4eb2 fix: bound postgres result collection so an oversized result cannot OOM the worker (#10644)
* fix: bound postgres result collection so it cannot OOM the worker

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix: render the sql result limit exactly so the error can be set verbatim

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* docs: point the fraction rationale at the renderer that still emits them

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* perf: stop re-parsing every collected row to rebuild it as a RawValue

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* style: drop a dangling doc line and an unrelated rustfmt reflow

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 09:11:56 +02:00

30 lines
1.2 KiB
TOML

[package]
name = "windmill_duckdb_ffi_internal"
version = "0.1.0"
edition = "2024"
[dependencies]
chrono = "0.4.41"
# `rust_decimal` is optional upstream. It stays on because its
# `From<rust_decimal::Decimal>` derives the same width/scale/mantissa the crate
# used to derive itself, so a `decimal`/`numeric` job argument still binds to the
# identical DECIMAL. Building one by hand would mean reimplementing that
# f64 → (mantissa, scale) inference.
#
# Not crates.io: a fork of duckdb-rs 1.10505.0 carrying two patches to the bundled engine —
# see docs/duckdb-isolation.md for why, and for the exit path back to the crates.io crate.
# Pinned by rev, not branch, so `cargo update` cannot move the engine under us.
duckdb = { git = "https://github.com/windmill-labs/duckdb-rs", rev = "7190adfcf58624e7e9a7a2a1000bac18fed64c19", features = [
"bundled",
"rust_decimal",
] }
regex = "1"
rust_decimal = "1.37.2"
serde = { version = "1.0", features = ["derive"] }
# 1.0.151 introduced RawValue::from_string_unchecked, which row collection uses
# to avoid re-parsing every row.
serde_json = { version = "^1.0.151", features = ["preserve_order", "raw_value"] }
[lib]
crate-type = ["cdylib"]