Releases: TidierOrg/TidierDB.jl
Releases · TidierOrg/TidierDB.jl
v0.5.0
TidierDB v0.5.0
Breaking Changes:
- All join syntax now matches TidierData's
(table1, table2, t1_col = t2_col)
Additions:
@compute
for DuckDB, MySQL, PostGres, GBQ to write a table to the db at the end of a query.- expands
@create_view
to MySQL, PostGres, GBQ - Support for performing multiple joins of TidierDB queries in a single chain with further tests
dmy
,mdy
,ymd
support DuckDB, Postgres, GBQ, Clickhouse, MySQL, MsSQL, Athena, MsSQL- support for working with intervals ie
+ interval4days - interval5months
etc - Date related tests
copy_to
for MysQL to write a dataframe to MySQL database- 65 total tests matching TidierData to TidierDB results
Improvements:
- improve Google Big Query type mapping when collecting to dataframe
- change
gbq()
'sconnect()
to acceptlocation
as second argument str_detect
now supports regex for all backends except MsSQL + some tests@select(!table.name)
now works to deselect a column
Docs:
- Add duckplyr/duckdb reproducible example to docs
- Improve interpolation docs
Merged pull requests:
- Catch a bug then write a test (#70) (@drizk1)
- add copy_to2 (#72) (@vituri)
- resolve GBQ and MySQL toml issues (#76) (@drizk1)
- Regex support for str detect (#77) (@drizk1)
- small improvment in filepath reading (#79) (@drizk1)
Closed issues:
v0.4.1
TidierDB v0.4.1
- Adds 50 tests comparing TidierDB to TidierData to assure accuracy across a complex chains of operations, including combinations of
@mutate
,@summarize
,@filter
,@select
,@group_by
and@join
operations. - fixes some edge case bugs that came up writing these tests with
if_else
/case_when
assigningmissing
value
Merged pull requests:
v0.4.0
TidierDB v0.4.0
- adds
@create_view
-db_table
already supports using views - adds
drop_view
- adds support for joining a queried table with another queried table
- adds joining docs to outline using
t()
or@create_view
for post wrangling joins - bug fix to allow cross database/schema joins with duckdb
- corrects across name generation to be
name_func
to match TidierData, rather thanfunc_name
Breaking Change - To enable post wrangling joins, all joins no longer accept bare table names. tables that exist on a db must be written as strings or symbols (ie
"table.name"
or:table
)
Merged pull requests:
Closed issues:
v0.3.5
TidierDB v0.3.5
- enhances
@window_frame
to allow for just ato
orfrom
argument, as well as improved auto-detection forpreceding
,following
andunbounded
for the frame boundaries. - improves DuckDB
connect()
interface and documentation
Merged pull requests:
v0.3.4
TidierDB v0.3.4
- TidierDB works with nearly any existing SQL function, now there are docs about it.
- Docs on using any existing SQL function in TidierDB
- Docs on user defined functions (UDFs) in TidierDB
- Adds
agg()
to allow use of any aggregate function built into a database to be used in@mutate
. Support foragg()
in across. (@summarize
continues to all aggregate SQL functions withoutagg()
) - Adds
t(query)
as a more efficient alternative to reference tables.
table = db_table(db, "table_name")
@chain t(table) ...
- Bugfix: fixes MsSQL joins
- Bugfix: window functions
- Bugfix: json paths supported for
json
DuckDB functions
Merged pull requests:
v0.3.3
v0.3.2
TidierDB v0.3.2
Adds
@head
for limiting number of collected rows- support for reading URLS in
db_table
with ClickHouse - support for reading from multiple files at once as a vector of urls in
db_table
when using ClickHouse- ie
db_table(db, ["url1", "url2"])
- ie
connect()
support for MS SQLshow_tables
for most backends to view existing tables on connection
Bug Fixes
- Bugfix:
@count
updates metadata - Bugfix:
update_con
can be part of chain (useful for expiring Snowflake tokens) - Bugfix to allow CrateDB and RisingWave backends via LibPQ
Docs
- Docs comparing TidierDB to Ibis
- Docs around using
*
for reading in multiple files from folder - Docs for
db_table
- Docs for previewing or saving intermediate tables in ongoing
@chain
Merged pull requests:
- add larger than ram ex (#50) (@drizk1)
- Add head aka limit (#52) (@drizk1)
- allows url and vectors of paths for CH (#53) (@drizk1)
- Improve ch (#54) (@drizk1)
- adds ibis comparison docs, fixes
update_con
so that it can be chained (#55) (@drizk1) - Add show tables (#56) (@drizk1)
Closed issues:
- Clarify docs and maybe refine example for larger than mem with duckdb (#51)
v0.3.1
TidierDB v0.3.1
- adds support for reading from multiple files at once as a vector of paths in
db_table
when using DuckDB- ie
db_table(db, ["path1", "path2"])
- ie
- adds streaming support when using DuckDB with
@collect(stream = true)
- allows user to customize file reading via
db_table(db, "read_*(path, args)")
when using DuckDB
Merged pull requests:
- Add streaming, multiple file reading and customized file reading with DuckDB backend (#49) (@drizk1)
Closed issues:
v0.3.0
TidierDB v0.3.0
- Introduces package extensions for:
- Postgres, ClickHouse, MySQL, MsSQL, SQLite, Oracle, Athena, and Google BigQuery
- Documentation updated for using these backends.
- Change
set_sql_mode()
to use types not symbols (ieset_sql_mode(snowflake())
notset_sql_mode(:snowflake)
)
Merged pull requests:
- Remove Documenter from main dependencies of the package (#42) (@giordano)
- Some improvements to CI setup (#43) (@giordano)
- Delete and ignore
.DS_Store
(#44) (@giordano) - Moves to use of package extensions. (#46) (@drizk1)
Closed issues:
v0.2.4
TidierDB v0.2.4
- Switches to DuckDB to 1.0 version
- Adds support for
iceberg
tables via DuckDB to read iceberg paths indb_table
wheniceberg = true
- Adds support for DuckDB's beta
delta_scan
to read delta paths indb_table
whendelta = true
- DuckDB MotherDucDB:
connect(:duckdb, "token")
// reconnectconnect(:duckdb, "md:")
Merged pull requests: