Changelog
Source:NEWS.md
dbMatrix 0.0.0.9126 (2026-01-13)
Bug fixes
Update pkgdown workflow to include additional R packages and refs.
Prevent NAs in show method by handling max.print truncation.
Handle negative and out-of-order indexing.
Require explicit opt-in for sparse-to-dense conversion.
Cast comparison operators to numeric for type safety.
Use direct slot access in transpose method.
Conditionally check overwrite for dbMatrix creation.
Improve verbosity messages and remove redundant logging in dbMatrix functions.
Performance
- Optimize dimname indexing with factors and
match()(dimname-returning functions return characters as expected).
Refactoring
Use temp tables and inline SQL (small queries still use inline SQL; otherwise register a temp table to avoid large string parsing bottlenecks).
Centralize internal type-check functions in
dbProject.Simplify summary methods to always return vectors.
Rename dbVector internals and add column-wise recycling.
Improve
as.matrix()andcompute()for dbMatrix.
dbMatrix 0.0.0.9125 (2025-12-04)
Bug fixes
Ensure as.matrix returns unnamed matrix when names=FALSE.
Update show methods to handle duplicate dimnames via index filtering.
Pkgdown errors.
Ensure rowVars/colVars preserve empty dimensions.
Make
computes3 and use CTAS instead.
Features
Optimize precompute with parquet and auto-attach existing tables.
Implement native ingestion for various Matrix classes via
as.dbMatrix.Add coercion methods for
dbMatrixto matrix/Matrix objects.Add
.check_mem_limitinternal function.Support
overwritearg incompute.dbMatrix.writeMMmethod for dbMatrix objects.Add
value_colNamesupport to dbMatrix_from_tbl for pre-aggregated counts.
Documentation
Tidy roxygen.
Tidy + update global options in dbMatrix.
Clean up roxygen comments & improve documentation formatting.
Refactoring
Delegate dbMatrix construction to as.dbMatrix generic for native R matrix ingestion.
Clean up Math Summary ops so to use subqueries and R zero inflation.
Performance
Optimize sparse –> matrix conversion.
Improve mem safety of
as.matrixfor dense matrix conversions.Use head/tail filter pushdown in show method for dbMatrix objects.
Improve
extractby usingduckdb_registerfor large indices.Optimize arith helpers with lazy queries instead of generating views.
dbMatrix 0.0.0.9124 (2025-10-14)
Breaking Changes
-
Renamed
load()todbLoad(): Theloadmethod has been renamed todbLoadto avoid maskingbase::load(). Generic moved todbProjectpackage for consistency across dbverse.
Refactoring
S4 to S3 Method Conversion: Converted
rownames(),colnames(),nrow(),ncol(), and their setters from S4 to S3 methods for simpler dispatch. Only%in%remains S4 (requires double dispatch). This significantly reduces package load messages.-
Internal Function Cleanup:
- Converted
castNumericfrom S4 generic to internal function.castNumeric() - Renamed temporary tables to use
_tmpprefix in row/column summary methods for consistency - Moved
dbListgeneric todbProjectpackage
- Converted
Bug Fixes
-
Arrow Filter Pushdown Error: Fixed “Arrow table filter pushdown optional: new_i IN (…) not supported yet” error by replacing
arrow::to_duckdb()with inline SQL for extract operations. - Fixed
.mtxfile reader header detection logic.
dbMatrix 0.0.0.9123 (2025-10-07)
Features
dbProject Integration: Full integration with
dbProjectpackage anddbDatabase class architecture. dbMatrix now inherits fromdbDataproviding unified database-backed object interface across dbverse ecosystem.Statistical Methods: Added
rowSds(),colSds(),rowVars(), andcolVars()methods for both dbDenseMatrix and dbSparseMatrix.dbVector Support: Internal support for dbVector arithmetic operations.
Chore
- Migrated repository to
dbverse-orgorganization from previous location. - Updated all URLs and links to reflect new
dbverse-orgorganization structure. - Required DuckDB >= 1.4.0 (LTS) for improved stability.
- Updated documentation with markdown formatting improvements.
- Added
clito imports for better user messaging.
Docs
- Added S4 class documentation to pkgdown reference index (dbMatrix-class, dbDenseMatrix-class, dbSparseMatrix-class).
- Updated vignettes to include
memoryandnamesparameters for summary functions. - Improved roxygen documentation for
compute(),as.matrix(), and arithmetic operations. - Enhanced documentation for dbProject integration and dbData inheritance.
Bug Fixes
-
Eliminated ORDER BY Warnings: Fixed ORDER BY warnings by removing
arrange()from lazy evaluation paths in summary methods. Now only applies ordering when materializing results to memory. - Fixed
sim_dgc()function to use correct number of random values (rnorm(n_vals)instead ofrnorm(num_cols)), eliminating “number of items to replace” warnings. - Removed deprecated
context()call in test files (testthat 3rd edition). - Fixed
to_view()calls to passtblobjects instead of dbMatrix objects to dbProject functions. - Imported dbProject generics properly to avoid namespace conflicts.
- Added
initslot to dbMatrix class definition. - Removed redundant export for
t()method. - Fixed
names()method to return NULL for regular matrices instead of throwing errors. - Corrected name attribute assignment in
Ops()method for dbMatrix. - Improved connection handling in internal
get_con()function. - Removed
dbReconnect()method from generics (moved to dbProject/dbData). - Refactored extract methods - functionality now comes from
dbProject::dbDatabase class. - Exported dbMatrix class properly in NAMESPACE.
- Fixed DESCRIPTION dependencies: removed duplicate
dbProjectfrom Suggests, added proper Remotes reference.
dbMatrix 0.0.0.9023 (2024-09-18)
Breaking Changes
dbMatrix summary methods now return
dbDenseMatrixobjects instead of in-memory vectors.Removed colTypes from castNumeric.
Removed @name check in initialize.
Features
New
computemethod for saving dbMatrix objects. This writes the dbMatrix object to a table in the database along with its row and column names (e.g. ‘dbMatrixname_rownames’).New
loadmethod for loading computed dbMatrix objects. The dbMatrix::compute() method must be called before loading the object.Updated
.check_overwriteto allow for passing overwrite arg.New internal function
write_dimnamesto enable saving dbMatrix objects.New
summethod for dbMatrix objects.Improvements to precomputed table: Use existing precomputed table in db if available.
Improvements to precomputed table: Transpose precomputed table of sufficient dimensions if it exists instead of creating a new one. This is done via a TEMPORARY VIEW to avoid writing to disk and modifying existing precomputed table which may be referenced by other tables.
Custom SQL statement for
todbDenseconversion creates a TEMPORARY VIEW with namedbDenseMatrix_hash.
dbMatrix 0.0.0.9022 (2024-08-14)
Breaking changes
- Rename dbMatrix constructor to
dbMatrix::dbMatrix().
Features
Add more tests for
dbMatrixanddbDenseMatrix.Add internal function
map_ijx_dimnames.Add internal function
dbMatrix_from_tbl.Extract now constructs unique temporary virtual tables in the arrow schema.
Bug fixes
Be more explicit about non-supported
ArithandOpsoperations.Fix
show()method fordbDenseMatrixobjects.