Skip to content

Releases: TidierOrg/TidierDB.jl

v0.5.0

19 Oct 14:59
b468b36
Compare
Choose a tag to compare

TidierDB v0.5.0

Breaking Changes:

  • All join syntax now matches TidierData's (table1, table2, t1_col = t2_col)

Additions:

  • @computefor 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()'s connect() to accept location 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:

Diff since v0.4.1

Merged pull requests:

Closed issues:

  • Functions to write to a database (#16)
  • How can I write functions that pass arguments do TidierDB functions? (#20)
  • Parsing Interpolation (#22)
  • Add tests comparing tidierdata (#67)
  • str_detect does not support regex (#74)
  • recreated duckplyr/duckdb ex - add as docs? (#78)

v0.4.1

02 Oct 21:03
02fc484
Compare
Choose a tag to compare

TidierDB v0.4.1

Diff since v0.4.0

  • 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 assigning missing value

Merged pull requests:

  • add 50 tests comparing tidierdata and tidierdb (#69) (@drizk1)

v0.4.0

01 Oct 21:28
b478b38
Compare
Choose a tag to compare

TidierDB v0.4.0

Diff since v0.3.5

  • 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 than func_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:

  • Add example for how to connect to a local duckdb database (#64)
  • Allows joins be able to accept TidierDB queries as the second table argument. (#66)

v0.3.5

29 Sep 02:34
dbea7de
Compare
Choose a tag to compare

TidierDB v0.3.5

Diff since v0.3.4

  • enhances @window_frame to allow for just a to or from argument, as well as improved auto-detection for preceding, following and unbounded for the frame boundaries.
  • improves DuckDB connect() interface and documentation

Merged pull requests:

v0.3.4

23 Sep 14:23
d6651eb
Compare
Choose a tag to compare

TidierDB v0.3.4

Diff since v0.3.3

  • 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 for agg() in across. (@summarize continues to all aggregate SQL functions without agg())
  • 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

29 Aug 16:38
a06cab3
Compare
Choose a tag to compare

TidierDB v0.3.3

Diff since v0.3.2

  • Bugfix: @mutate allows type conversions as part of larger mutate expressions for all backends

Merged pull requests:

  • fix type casting as part of larger mutation (#59) (@drizk1)

Closed issues:

  • Support CrateDB (#57)
  • connecting to SQL server (#58)

v0.3.2

27 Aug 02:24
Compare
Choose a tag to compare

TidierDB v0.3.2

Diff since v0.3.1

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"])
  • connect() support for MS SQL
  • show_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:

Closed issues:

  • Clarify docs and maybe refine example for larger than mem with duckdb (#51)

v0.3.1

28 Jul 20:43
210f315
Compare
Choose a tag to compare

TidierDB v0.3.1

Diff since v0.3.0

  • 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"])
  • 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:

  • Add streaming support for duckdb (#47)
  • Add multiple file reading support (#48)

v0.3.0

25 Jul 15:14
8c98381
Compare
Choose a tag to compare

TidierDB v0.3.0

Diff since v0.2.4

  • 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 (ie set_sql_mode(snowflake()) not set_sql_mode(:snowflake))

Merged pull requests:

Closed issues:

  • Compilation troubles with libpq (#23)
  • Documenter is a useless dependency (#40)
  • Using package extensions instead of requiring all backends (#45)

v0.2.4

12 Jul 18:52
Compare
Choose a tag to compare

TidierDB v0.2.4

Diff since v0.2.3

  • Switches to DuckDB to 1.0 version
  • Adds support for iceberg tables via DuckDB to read iceberg paths in db_table when iceberg = true
  • Adds support for DuckDB's beta delta_scan to read delta paths in db_table when delta = true
  • DuckDB MotherDucDB: connect(:duckdb, "token") // reconnect connect(:duckdb, "md:")

Merged pull requests: