The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
polyglot-sql engine from 0.12.0 to
0.14.1 (upstream changelog: https://github.com/tobilg/polyglot/blob/main/CHANGELOG.md).
Highlights inherited by the R API: two new dialects, "hana"
(SAP HANA, aliases "saphana"/"sap_hana") and
"vertica", bringing sql_dialects() to 36
entries; set-operation output types
(UNION/INTERSECT/EXCEPT,
including BY NAME and CORRESPONDING) are now
resolved by sql_analyze() and the type annotation; Oracle
output renders LIMIT as
OFFSET ... FETCH FIRST ... ROWS ONLY and compound queries
keep a trailing FETCH FIRST; branch-local row limits inside
set operations are wrapped in parentheses instead of limiting the whole
union; DuckDB // integer division and
ORDER BY ALL translate correctly; BigQuery named
parameters, decimal precision, interval arithmetic and
DATE(timestamp, time_zone) convert to DuckDB faithfully;
Snowflake PIVOT/UNPIVOT over CTEs no longer
loops in lineage analysis; schema validation covers VALUES
sources, LATERAL and INSERT ... SELECT. From
0.13.3-0.14.1: star expansion honors
EXCEPT/EXCLUDE, REPLACE and
RENAME in qualification, sql_analyze(),
sql_lineage() and sql_openlineage(), and
lineage resolves PIVOT/UNPIVOT columns and
ClickHouse ARRAY JOIN aliases; QUALIFY and
UNION BY NAME emulation preserve output names and ordering;
EXPLAIN keeps its options and the underlying statement; new
syntax (ClickHouse pipe queries, Trino query-local SQL routines, DuckDB
nearest joins, Hive/Spark multiple inserts, Doris MATCH
predicates); DuckDB to BigQuery maps numbered parameters
($1 becomes @p1) and
DATE_TRUNC.DATE_TRUNC on an operand of unknown type) now raise a
polyglot_transpile_error naming the construct, where
earlier versions could return SQL that ran but meant something else. An
explicit cast in the source usually resolves it.NOT_CRAN is unset, which is
how the CRAN binaries are built
(configure/tools/config.R). The CRAN builders
for that platform stop an installation after 30 minutes and interrupted
the 0.1.1 and 0.1.2 builds. The build is about five times faster; the
engine runs 2-4 times slower there, which is still a few milliseconds
per call, and the shared object is larger.
NOT_CRAN=true R CMD INSTALL . gives the fully optimized
build. Other platforms are unchanged.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).These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.