- Throws an error if called from an incompatible version of tidyquery (#32)
- Minor bugfixes and improvements
- Queries can contain multibyte characters (#21)
- Queries can have no whitespace around keywords (#27)
substring_index()
translates whentidyverse = TRUE
(#29)embedded nuls
warnings are silenced (#30)- Syntactically invalid column names are allowed in backticks (#31)
- Minor bugfixes and improvements
ORDER BY
clause can includeNULLS FIRST
andNULLS LAST
(#12, @StevenHibble)- Translations of expressions in the
ORDER BY
clause now use-xtfrm()
instead of the attributedecreasing
to indicate descending order (@StevenHibble) - Parentheses can enclose table names and joins in the
FROM
clause (#23) - More Microsoft SQL Server functions now translate (#26, @StevenHibble)
- Minor bugfixes and improvements
BETWEEN
expressions with quotes in operands translate correctly (#13)- Line comments (
--
) and block comments (/* */
) are removed from queries (#14) coalesce()
translates correctly whentidyverse = FALSE
(#15, #17)CASE
expressions translate (#16, #18)- Table aliases can be used in queries (#19)
- SQL-92-style (explicit) join queries translate (#20)
- Continuous integration and coverage tests
- Minor bugfixes and improvements
- Output indicates when queries aggregate
- List returned by
parse_query()
has attributeaggregate
set toTRUE
if query aggregates (#8) - When translating an aggregate query, sublist
select
returned by byparse_query()
has logical vector attributeaggregate
indicating whether each expression in theSELECT
list aggregates (#9) - When translating an aggregate query with an
ORDER BY
clause, sublistorder_by
returned by byparse_query()
has logical vector attributeaggregate
indicating whether each expression in theORDER BY
clause aggregates (#11)
- List returned by
- Translation of multiple
CAST
andBETWEEN
expressions in a single expression no longer fails (#10) - Minor bugfixes and improvements
- First CRAN release
- Column names that match SQL function names are not converted to lowercase (#1)
- Outputted expressions use vectorized logical operators (#2)
- Successive occurrences of binary symbolic operators are replaced (#3)
- Column names that match function names are not replaced (#4)
- Vulnerabilities that permitted use of disallowed functions are resolved (#5, #7)
- Column names can contain periods (#6)