opt-level = "s", no LTO,
16 codegen units) to cut the cost of building from source: about half
the compile time and roughly a quarter less peak memory for the largest
crate. This targets the CRAN macOS x86_64 builders, which stopped the
installation at their 30-minute limit, and the linux-arm64 check, where
the compiler ran out of memory. On macOS and Linux the shared library
now exports only its R entry point and leaves out local symbols, which
keeps the installed size at the level of 0.1.1. The R API and results
are unchanged.abort(). The Rust standard library calls it as a
last resort (a failed memory allocation, a panic raised while another
panic is being handled); those calls are now redirected at link time to
a function that raises an R error instead, so compiled code can never
terminate the R session. This removes the Found 'abort'
NOTE of the CRAN linux-arm64 check. Ordinary Rust panics were already
caught and turned into R errors.polyglot-sql engine from 0.6.2 to
0.12.0 (upstream changelog: https://github.com/tobilg/polyglot/blob/main/CHANGELOG.md).
Highlights inherited by the R API: parser-depth protection enabled by
default (deeply nested SQL now raises a
polyglot_guard_error instead of risking a stack overflow);
grouping, aggregate and window placement errors in semantic validation
(E230-E232); sql_analyze() now
reports scoped non-projection columnUses and propagates
nullability and cast types through CTEs and derived tables;
NULLS FIRST/NULLS LAST are preserved when
formatting; 128-bit and unsigned integer types; name-aligned
UNION BY NAME handling; many dialect fixes (DuckDB,
Snowflake, ClickHouse, BigQuery, T-SQL).sql_validate(semantic = TRUE) now also reports semantic
correctness errors E230-E232 (ungrouped
columns, misplaced aggregates and window functions), which invalidate
the statement; quality hints remain warnings. Default syntax-only
validation is unchanged.invalid_input and
column_resolution are surfaced as plain
polyglot_error conditions.-mmacos-version-min flag set in
CC) instead of the version of the running system. This
removes the ld warning “object file was built for newer
‘macOS’ version than being linked” seen in the CRAN M1mac checks.Initial release, wrapping the polyglot-sql Rust crate
0.6.2.
polyglot_version(), sql_dialects()
(34 dialects with aliases).sql_transpile(),
sql_format(), sql_generate() with complexity
guards and configurable handling of unsupported constructs.sql_parse(),
sql_tokenize(), sql_validate() (strict syntax,
semantic warnings, schema-aware checks).sql_source_tables(),
sql_lineage(), sql_analyze(),
sql_optimize(), sql_diff(),
sql_annotate_types(), sql_openlineage().polyglot_error,
polyglot_parse_error,
polyglot_transpile_error,
polyglot_validation_error,
polyglot_guard_error, …); Rust failures never crash the R
session.cargo vendor).